Linux-进程概念

server/2025/3/16 12:42:09/

本节学习重点:

• 认识冯诺依曼系统
• 操作系统概念与定位
• 深⼊理解进程概念,了解PCB
• 学习进程状态,学会创建进程,掌握僵⼫进程和孤⼉进程,及其形成原因和危害
• 了解进程调度,Linux进程优先级,理解进程竞争性与独⽴性,理解并⾏与并发
• 理解进程切换,以及Linux2.6 kernel,O(1)调度算法架构
• 理解环境变量,熟悉常⻅环境变量及相关指令, getenv/setenv函数
• 理解C内存空间分配规律,了解进程内存映像和应⽤程序区别, 认识虚拟地址空间。

1.冯诺依曼体系结构

我们常⻅的计算机,如笔记本。我们不常⻅的计算机,如服务器,⼤部分都遵守冯诺依曼体系。

关于冯诺依曼,必须强调⼏点:
• 这⾥的存储器指的是内存
• 不考虑缓存情况,这⾥的CPU能且只能对内存进⾏读写,不能访问外设(输⼊或输出设备)
• 外设(输⼊或输出设备)要输⼊或者输出数据,也只能写⼊内存或者从内存中读取。
• ⼀句话,所有设备都只能直接和内存打交道。

对冯诺依曼的理解,不能停留在概念上,要深⼊到对软件数据流理解上。

2.操作系统(Operator System)

2.1概念

2.2设计OS的目的

2.3核心功能

• 在整个计算机软硬件架构中,操作系统的定位是:⼀款纯正的“搞管理”的软件

2.4理解“管理”

计算机管理硬件
1. 描述起来,⽤struct结构体
2. 组织起来,⽤链表或其他⾼效的数据结构

2.5系统调用和库函数的概念

3.进程

3.1进程概念和基本操作

• 课本概念:程序的⼀个执⾏实例,正在执⾏的程序等
• 内核观点:担当分配系统资源(CPU时间,内存)的实体。

3.1.1描述进程-PCB

3.1.2task_struct

3.1.3查看进程

3.1.4通过系统调用获取进程标识符

3.1.5通过系统调用创建进程-fork初识

3.2进程状态

3.2.1linux内核源代码

3.2.2进程状态查看

3.2.3 Z(zombie)-僵尸进程

Ptrace 详解 - tangr206 - 博客园

3.2.4僵尸进程的危害

3.2.5孤儿进程

3.3进程优先级

3.3.1基本概念

3.3.2查看系统进程

3.3.3 PRI 和 NI

3.3.4 PRI vs NI

3.3.5查看进程优先级的命令

3.3.6 竞争 独立 并行 并发

3.4进程切换

3.4.1Linux2.6内核进程O(1)调度队列

一个CPU拥有一个runqueue,如果有多个CPU就要考虑进程个数的负载均衡问题。

3.4.2优先级

• 普通优先级:100〜139(我们都是普通的优先级,想想nice值的取值范围,可与之对应!)
• 实时优先级:0〜99(不关⼼)

3.4.3活动队列

3.4.4过期队列

3.4.5active指针和expired指针

总结:

在系统当中查找⼀个最合适调度的进程的时间复杂度是⼀个常数,不随着进程增多⽽导致时间成
本增加,我们称之为进程调度O(1)算法!

4环境变量

4.1基本概念

4.2常见环境变量

• PATH : 指定命令的搜索路径
• HOME : 指定⽤⼾的主⼯作⽬录(即⽤⼾登陆到Linux系统中时,默认的⽬录)
• SHELL : 当前Shell,它的值通常是/bin/bash。

4.3查看环境变量的方法

4.4相关命令

1. echo: 显⽰某个环境变量值
2. export: 设置⼀个新的环境变量
3. env: 显⽰所有环境变量
4. unset: 清除环境变量
5. set: 显⽰本地定义的shell变量和环境变量

4.5环境变量的组织方式

4.6通过代码获取环境变量

4.7通过系统调用获取环境变量

4.8 环境变量通常是具有全局属性的

5.程序地址空间

5.1研究平台

• kernel 2.6.32
• 32位平台

5.2 程序地址空间回顾

5.3虚拟地址

5.4进程地址空间

5.5虚拟内存管理 - 第⼀讲

5.6 为什么要有虚拟地址空间


http://www.ppmy.cn/server/175426.html

相关文章

AI日报 - 2025年3月16日

🌟 今日概览(60秒速览) ▎🤖 AGI突破 | 专家呼吁为AGI做准备 Ethan Mollick教授警告忽视AGI风险可能是错误,行业内外关注度升温 ▎💼 商业动向 | AI将重塑编程行业 Meta、Anthropic、OpenAI CEO预测AI将主导…

AI建模智能生成:从2D到3D,AI只需一步!

传统3D建模过程既复杂又耗时,要经过建模、贴图、渲染等一系列操作,需要设计师具备深厚的专业技能,同时也要投入大量的时间精力,即便是经验丰富的专业人士,制作一个3D模型也需要历经数小时乃至数日的精心雕琢。 而随着A…

python语言写的一款pdf转word、word转pdf的免费工具

Word 与 PDF 文件转换工具 这是一个简单的 Web 应用程序,允许用户将 Word 文档转换为 PDF 文件,或将 PDF 文件转换为 Word 文档。 功能特点 - Word (.docx) 转换为 PDF - PDF 转换为 Word (.docx) - 简单易用的 Web 界面 - 即时转换和下载 - 详细的…

R语言零基础系列教程-01-R语言初识与学习路线

代码、讲义、软件回复【R语言01】获取。 R语言初识 R是一个开放的统计编程环境,是一门用于统计计算和作图的语言。“一切皆是对象”,数据、函数、运算符、环境等等都是对象。易学,代码像伪代码一样简洁,可读性高强大的统计和可视…

Machine Learning: 十大基本机器学习算法

机器学习算法分类:监督学习、无监督学习、强化学习 基本的机器学习算法: 线性回归、支持向量机(SVM)、最近邻居(KNN)、逻辑回归、决策树、k平均、随机森林、朴素贝叶斯、降维、梯度增强。 机器学习算法大致可以分为三类: 监督学习算法 (Sup…

华为重拳出击!华为重拳出击!华为重拳出击!

大家好,我是小程程。 华为出了一个大瓜哦! 华为多名产品线负责人被开除 据财新网 3 月 10 日报道,华为最近发了一则内部通报: 华为称,经审计发现,(ICT 产品与解决方案,半导体业务部、…

基于微信小程序开发的宠物领养平台——代码解读

项目前端 一、项目的技术架构概况 一句话概括:该项目是基于微信小程序开发的宠物领养平台,采用原生小程序框架进行用户界面的构建,使用 wx.request 进行 API 请求,并通过 getApp() 和本地存储来管理全局状态和用户信息。 一&am…

当AI学会“察言观色“:多模态情绪识别的魔幻现实主义之旅

引言:AI读脸时代的荒诞与真实 2025年的某个深夜,程序员小李开发的"情绪识别AI"把老板的假笑误判为"愤怒",导致全员收到《关于禁止皮笑肉不笑的通知》。这场乌龙揭开了单模态识别的遮羞布——原来AI和人一样&#xff0c…