Linux 操作系统分析 中国科学技术大学计算机系 陈香兰( 0512 - 87161312 ) Autumn 2010.

Slides:



Advertisements
Similar presentations
首 页 首 页 上一页 下一页 本讲内容 投影法概述三视图形成及其投影规律平面立体三视图、尺寸标注 本讲内容 复习: P25~P31 、 P84~P85 作业: P7, P8, P14[2-32(2) A3 (1:1)]
Advertisements

一、统计范围 注册地在湖里区的具有房地产开发资质的 房地产开发企业 无论目前是否有开发项目 无论开发的项目是在湖里区还是在其他区 没有开发项目的企业需要报送年报和月报 中的资金表(空表)。 新成立的项目公司,要先入库,再报报表。
第十二章 常微分方程 返回. 一、主要内容 基本概念 一阶方程 类 型 1. 直接积分法 2. 可分离变量 3. 齐次方程 4. 可化为齐次 方程 5. 全微分方程 6. 线性方程 类 型 1. 直接积分法 2. 可分离变量 3. 齐次方程 4. 可化为齐次 方程 5. 全微分方程 6. 线性方程.
HistCite 结果分析示例 罗昭锋. By:SC 可能原因:文献年度过窄,少有相互引用.
计算机 在分析化学的应用 ( 简介 ) 陈辉宏. 一. 概述 信息时代的来临, 各门学科的研究方法都 有了新的发展. 计算机的介入, 为分析化学的进展提供了 一种更方便的研究方法.
Linux 下驱动程序简介 —USB 摄像头 CWY-CTS-SA117L 袁师盛 柴佳杰 孙融 王磊.
编译程序 构造原理和实现技术 授课教师:吕江花. 第一章 编译程序概述 主要内容: 几个基本概念 编译器的工作过程概述 编译器各个阶段的功能描述 编译程序的实现途径.
嵌入式操作系统 陈香兰 Fall 系统调用 10/27/09 嵌入式 OS 3/12 系统调用的意义  操作系统为用户态进程与硬件设备进行交互提供 了一组接口 —— 系统调用  把用户从底层的硬件编程中解放出来  极大的提高了系统的安全性  使用户程序具有可移植性.
Thomson Reuters 中国办事处 2008 年 5 月 Web of Science 培训课件 第六部分 : Web of Science 的管理功能.
系统调用 Embedded Operating Systems2 系统调用的意义 操作系统为用户态进程与硬件设备进行交互提 供了一组接口 —— 系统调用 把用户从底层的硬件编程中解放出来 极大的提高了系统的安全性 使用户程序具有可移植性.
第 4 章 抽象解释 内容概述 以一种独立于编程语言的方式,介绍抽象解释的 一些本质概念 – 将 “ 程序分析对语言语义是正确的 ” 这个概念公式 化 – 用 “ 加宽和收缩技术 ” 来获得最小不动点的较好的 近似,并使所需计算步数得到限制 – 用 “ 伽罗瓦连接和伽罗瓦插入 ” 来把代价较大的属 性空间用代价较小的属性空间来代替.
第 2 章 数据流分析 内容概述 数据流分析推导的是数据沿着程序执行路 径流动的信息 – 过程内的分析:可用表达式分析、到达-定值分 析等 – 过程间分析 –Shape 分析 – 理论基础 – 数据流方程的求解.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第六十二讲 ) 离散数学. 最后,我们构造能识别 A 的 Kleene 闭包 A* 的自动机 M A* =(S A* , I , f A* , s A* , F A* ) , 令 S A* 包括所有的 S A 的状态以及一个 附加的状态 s.
1 为了更好的揭示随机现象的规律性并 利用数学工具描述其规律, 有必要引入随 机变量来描述随机试验的不同结果 例 电话总机某段时间内接到的电话次数, 可用一个变量 X 来描述 例 检测一件产品可能出现的两个结果, 也可以用一个变量来描述 第五章 随机变量及其分布函数.
协同工作环境研究中心 协同共享 助力科研. 主要内容  认识协同及协同软件  协同科研软件 duckling 介绍.
线性代数习题课 吉林大学 术洪亮 第一讲 行 列 式 前面我们已经学习了关 于行列式的概念和一些基本 理论,其主要内容可概括为:
Linux 操作系统分析 主讲:陈香兰 助教:贾永泉、毛熠璐 (西区电三 421 ) Autumn 2007.
嵌入式操作系统 陈香兰 Spring 2006 中国科学技术大学计算机系.
第 4 章 过程与变量的作用范围. 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 窗体模块 窗体模块是大多数 Visual Basic.
数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 第 3 章 曲线拟合的最小二乘法 给出一组离散点,确定一个函数逼近原函数,插值是这样的一种手段。 在实际中,数据不可避免的会有误差,插值函数会将这些误差也包括在内。
实验三: 用双线性变换法设计 IIR 数字滤波器 一、实验目的 1 熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法。 2 掌握数字滤波器的计算机仿真方法。 3 通过观察对实际心电图信号的滤波作用, 获得数字滤波的感性知 识。
嵌入式操作系统 陈香兰 助教:毛熠璐、吴昊 Spring 2008.
外文文献检索示例. 实验目的: 掌握利用计算机网络检索外文文献的基本方法; 了解熟悉下列数据库的结构、内容并掌握其检索方 法 ; 掌握检索的主要途径:出版物( Publication )、关键 词( Keyword )、作者( Author )等。
OS 进程调度模拟演示 制作人: 钱晶 高上上. OS 进程调度模拟-实验原理 静态优先级原理 在这种方式下,系统一旦把处理机分配给就绪队 列中的优先权最高的进程后,该进程便一直执行下去, 直至完成。或因为发生某事件使该进程放弃处理机,系 统方可再将处理机分配给另一优先级最高的进程。这些 事件包括有优先级更高的进程进入,或是因为某些原因.
1 第 7 章 专家控制系统 概述 专家系统的起源与发展 专家系统的一般结构 专家系统的知识表示和获取 专家系统的特点及分类.
第二章 贝叶斯决策理论 3学时.
操作系统原理课程设计指南 姜海燕 设计考核幻灯制作  1.1 封皮:系统名称,研制人员  1.2 目的及意义  1.3 功能设计:功能框图、用例图  1.4 结构设计:系统结构  1.5 核心技术及技术路线:画图  1.6 进度安排  1.7 人员安排  1.8.
量子化学 第四章 角动量与自旋 (Angular momentum and spin) 4.1 动量算符 4.2 角动量阶梯算符方法
在发明中学习 线性代数 概念的引入 李尚志 中国科学技术大学. 随风潜入夜 : 知识的引入 之一、线性方程组的解法 加减消去法  方程的线性组合  原方程组的解是新方程的解 是否有 “ 增根 ” ?  互为线性组合 : 等价变形  初等变换  高斯消去法.
嵌入式操作系统 陈香兰 助教:毛熠璐、吴昊 Spring 2008.
东南大学计算中心 网站应用与实践 主讲人 吴俊. 2 东南大学计算中心 网站制作流程  确定主题、风格  规划栏目、收集素材  版面设计、配色  编辑页面  测试发布 FrontPage 要完成的任务.
Photoshop CS4 标准培训教程 第三章第三章 在 Photoshop CS4 中所谓的不规则选区指的是随意性强,不被局限在几何形状内, 他们可以是鼠标任意创建的也可以是通过计算而得到的单个选区或多个选区。在 Photoshop 中可以用来创建不规则选区的工具被分组放置到套索工具组、魔棒工具组.
第二章 通信技术基础 谈英姿 东南大学自控系工业自动化教研室. 通信技术基础 2.1 通信的基本概念 2.2 通信协议与网络层次分析 2.3 常用串行通信技术.
第二章 处理器管理 南通大学电子信息学院 2010 年 9 月. 第二章 处理器管理 2.1 中央处理器 2.2 中断技术 2.3 进程及其实现 2.4 线程及其实现 2.5 Linux 进程和线程 2.6 Windows 2003 进程和线程 2.7 处理器调度 2.8 作业的管理与调度 2.9.
第 3 章 控制流分析 内容概述 – 定义一个函数式编程语言,变量可以指称函数 – 以 dynamic dispatch problem 为例(作为参数的 函数被调用时,究竟执行的是哪个函数) – 规范该控制流分析问题,定义什么是可接受的控 制流分析 – 定义可接受分析在语义模型上的可靠性 – 讨论分析算法.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *
编译原理总结. 基本概念  编译器 、解释器  编译过程 、各过程的功能  编译器在程序执行过程中的作用  编译器的实现途径.
周期信号的傅里叶变换. 典型非周期信号 ( 如指数信号, 矩形信号等 ) 都是满足绝对可 积(或绝对可和)条件的能量信号,其傅里叶变换都存在, 但绝对可积(或绝对可和)条件仅是充分条件, 而不是必 要条件。引入了广义函数的概念,在允许傅里叶变换采用 冲激函数的前提下, 使许多并不满足绝对可积条件的功率.
陈香兰 助教:毛熠璐、吴昊 Spring 2008 嵌入式操作系统 陈香兰 助教:毛熠璐、吴昊 Spring 2008.
 符号表  标识符的作用: 声明部分:定义了各种对象及对应的属性和 使用规则。 程序体:对所定义的对象进行各种操作。 $ididname IdnameAttributeIR  必要性 Token : 新表-符号表(种类、类型等信息):
习题课( 1 ) 进程管理及调度. 复习 进程概念、描述及状态 进程概念、描述及状态 进程的同步与互斥及应用 进程的同步与互斥及应用 管程机制 管程机制 进程通信 进程通信 进程调度算法 进程调度算法 进程死锁 进程死锁 线程 线程.
1 第 7 章 存储过程、触发器和程序包 在很多时候,都需要保存 PL/SQL 程序块,以便 随后可以重新使用。这也意味着,程序块需要一个名 称,这样需才可以调用或者引用它。命名的 PL/SQL 程序块可被独立编译并存储在数据库中,任何与数据 库相连接的应用程序都可以访问这些存储的 PL/SQL 程序块。
系统介绍 一 二 系统登录 三 使用流程 四 信息维护 系统介绍 根据中国政府与有关国家政府签署的相互出具《最终用户和最终 用途说明》的协议,为了便利企业申办《最终用户和最终用途说 明》, 商务部机电和科技产业司委托中国国际电子商务中心开发了 《最终用户和最终用途说明》申请系统,企业可通过此系统填写.
网上预约集港操作指南 一、登录系统 登陆下面图片显示网址:输入堆场用户名、密码和校验码登陆系统.
首 页 首 页 上一页 下一页 本讲内容本讲内容 视图,剖视图(Ⅰ) 复习: P107 ~ P115 作业: P48(6-2,6-4), P49( 去 6-6) P50, P51(6-13), P52 P50, P51(6-13), P52 P53 (6-18,6-20) P53 (6-18,6-20)
《 UML 分析与设计》 交互概述图 授课人:唐一韬. 知 识 图 谱知 识 图 谱知 识 图 谱知 识 图 谱.
LOGO s 数控机床故障诊断与维修. 子项目 8 掌握 M 、 T 代码的工作原理并进行控制 冷却、转速、刀库等 。 任务 8.3 编制斗笠式刀库换刀 PLC 程序,排除故障.
1 、如果 x + 5 > 4 ,那么两边都 可得 x >- 1 2 、在- 3y >- 4 的两边都乘以 7 可得 3 、在不等式 — x≤5 的两边都乘以- 1 可得 4 、将- 7x — 6 < 8 移项可得 。 5 、将 5 + a >- 2 a 移项可得 。 6 、将- 8x < 0.
项目七: PLC 功能指令应用 带进位循环左移指令 XXXXX. 项目七: PLC 功能指令应用 FX2 系列可编程控制器移位控制指令有移位、循环移位、字移位 及先进先出 FIFO 指令等 10 条指令。 带进位循环右移指令 RCR 带进位循环左移指令 RCL 字右移位指令 WSFR 先入先出读出指令.
1 物体转动惯量的测量 南昌大学理学院
企业产品标准信息公共服务平台 操作介绍 目录 一 、系统架构介绍 二 、企业产品标准自我声明填报系统 三 、企业产品标准公示系统.
表单自定义 “ 表单自定义 ” 功能是用于制作表单的 工具,用数飞 OA 提供的表单自定义 功能能够快速制作出内容丰富、格 式规范、美观的表单。
项目 1 典型低压电器 的拆装、检修及调试 任务 2 交流接触器的拆装与检修 接触器是一种自动的电磁式自动开关,是 一种依靠电磁力作用使触点闭合或分离的自 动电器,用于接通和断开电动机或其它用电 设备电路。适用于远距离频繁地接通或断开 交直流主电路及大容量控制电路。交流接触 器具有控制容量大、操作方便、便于远距离.
力的合成 力的合成 一、力的合成 二、力的平行四边形 上一页下一页 目 录 退 出. 一、力的合成 O. O. 1. 合力与分力 我们常常用 一个力来代替几个力。如果这个 力单独作用在物体上的效果与原 来几个力共同作用在物体上的效 果完全一样,那么,这一个力就 叫做那几个力的合力,而那几个 力就是这个力的分力。
个体 精子 卵细胞 父亲 受精卵 母亲 人类生活史 问题:人类产生配子(精、卵 细胞)是不是有丝分裂?
向日葵的花盘 画一画 用圆规画圆用圆规画圆 用圆规画圆用圆规画圆 用圆规画圆的方法: ( 1 )把圆规的两脚分开,定好两脚间 的距离(定长) ( 2 )把有针尖的一只脚固定在一点上 (定点) ( 3 )把装有铅笔尖的一只脚旋转一周 ,就画出一个圆(旋转)
逻辑设计基础 1 第 7 章 多级与(或)非门电路 逻辑设计基础 多级门电路.
“ 百链 ” 云图书馆. 什么是百链云图书馆?1 百链云图书馆的实际效果?2 百链云图书馆的实现原理?3 百链云图书馆的价值?44 图书馆要做什么?55 提 纲.
参考文献管理软件. 常见参考文献管理软件 : 中文 : CNKI E-learning (目前免费) NoteExpress NoteFirst 英文: Refworks Endnote (网络版免费) Mendeley……
八. 真核生物的转录 ㈠ 特点 ① 转录单元为单顺反子( single cistron ),每 个蛋白质基因都有自身的启动子,从而造成在功能 上相关而又独立的基因之间具有更复杂的调控系统。 ② RNA 聚合酶的高度分工,由 3 种不同的酶催化转 录不同的 RNA 。 ③ 需要基本转录因子与转录调控因子的参与,这.
一、 版 面 构 成 的 概 念 版 面 构 成 的 概 念 二、 版 面 构 成 的 发 展 趋 势 版 面 构 成 的 发 展 趋 势 三、 广 告 文 字 的 版 面 构 成 广 告 文 字 的 版 面 构 成 四、 广 告 版 面 的 视 觉 流 程 广 告 版 面 的 视 觉 流 程.
U niversity of S cience and T echnology of C hina VxWorks 及其应用开发 陈香兰 年 7 月.
张勤 人大报刊复印资料 专题全文数据库 简 介简 介 《人大报刊资料全文数据库》是中国人民大 学书报资料中心与北京博利群电子信息有限 公司联合开发研制的大型数据库光盘。它涵 盖面广、信息量大、分类科学、筛选严谨、 结构合理,是国内最具权威的社会科学、人.
人 有 悲 欢 离 合, 月有阴晴圆缺。月有阴晴圆缺。 华师大版七年级数学第二册 海口市第十中学 数学组 吴锐.
1 第三章 数列 数列的概念 考点 搜索 ●数列的概念 ●数列通项公式的求解方法 ●用函数的观点理解数列 高考 猜想 以递推数列、新情境下的 数列为载体, 重点考查数列的通 项及性质, 是近年来高考的热点, 也是考题难点之所在.
韩文数据库使用说明 鲁锦松. 主要内容 一、为什么要用数据库 二、怎样利用中文数据库 三、怎样利用韩文数据库.
单元四 电动后视镜控制电路. 汽车辅助装置汽车辅助装置 一、教学目的要求: 掌握电动后视镜的组成、功用、工作过程以 及控制电路 二、主要教学内容: ( 1 )电动后视镜的组成 ( 2 )电动后视镜控制电路 ( 3 )电动后视镜工作过程 三、教学重点、难点: 电动后视镜工作过程.
SCI 数据库检索练习参考 本练习完全依照 SCI 数据库实际检索过程而 实现。 本练习完全依照 SCI 数据库实际检索过程而 实现。 练习中,选择了可以举一反三的题目,读 者可以根据题目进行另外的检索练习,如: 可将 “ 与 ” 运算检索改为 “ 或 ” 、 “ 非 ” 运算检索 等等。 练习中,选择了可以举一反三的题目,读.
§7.2 估计量的评价标准 上一节我们看到,对于总体 X 的同一个 未知参数,由于采用的估计方法不同,可 能会产生多个不同的估计量.这就提出一 个问题,当总体的一个参数存在不同的估 计量时,究竟采用哪一个好呢?或者说怎 样评价一个估计量的统计性能呢?下面给 出几个常用的评价准则. 一.无偏性.
上机任务 认真查看课件内容,理解: ① ① I/O 接口的含义 ② ② I/O 端口与编址 上网查阅资料,至少找一篇 “I/O 接口 ” 有关的技术 资料(比如显卡、或声卡、网卡、磁盘控制器等 ) 的工作原理)并仔细阅读,扩展知识面。
Presentation transcript:

Linux 操作系统分析 中国科学技术大学计算机系 陈香兰( 0512 - ) Autumn 2010

11/23/09 Linux 操作系统分析 2/92 主要内容  进程描述符  进程切换  进程的创建和删除  进程调度

11/23/09 Linux 操作系统分析 3/92 进程的创建  许多进程可以并发的运行同一程序,这些进程共享 内存中程序正文的单一副本,但每个进程有自己的 单独的数据和堆栈区  一个进程可以在任何时刻可以执行新的程序,并且 在它的生命周期中可以运行几个程序  又如,只要用户输入一条命令, shell 进程就创建一 个新进程

11/23/09 Linux 操作系统分析 4/92  传统的 UNIX 操作系统采用统一的方式来创建进程  子进程复制父进程所拥有的资源  缺点:  创建过程慢、效率低  事实上,子进程复制的很多资源是不会使用到的  现代 UNIX 内核通过引入三种不同的机制来解决这个 问题

11/23/09 Linux 操作系统分析 5/92  1 、写时复制技术, Copy-On-Writing , COW 写时复制技术允许父子进程能读相同的物理页。  只要两者有一个进程试图写一个物理页,内核就把这 个页的内容拷贝到一个新的物理页,并把这个新的物 理页分配给正在写的进程

11/23/09 Linux 操作系统分析 6/92  2 、轻量级进程允许父子进程共享许多数据结构  页表  打开的文件列表  信号处理  3 、 vfork  使用 vfork 创建的新进程能够共享父进程的内存地址空间。 父进程在这个过程中被阻塞,直到子进程退出或者执行一 个新的程序

11/23/09 Linux 操作系统分析 7/92 Linux 的进程创建  Linux 提供了几个系统调用来创建和终止进程,以及 执行新程序  Fork , vfork 和 clone 系统调用创建新进程 其中, clone 创建轻量级进程,必须指定要共享的资源  exec 系统调用执行一个新程序  exit 系统调用终止进程(进程也可以因收到信号而终止)

11/23/09 Linux 操作系统分析 8/92 fork  fork 系统调用创建一个新进程  调用 fork 的进程称为父进程  新进程是子进程  子进程几乎就是父进程的完全复制。它的地址空间是父进 程的复制,一开始也是运行同一程序。  fork 系统调用为父子进程返回不同的值

11/23/09 Linux 操作系统分析 9/92 exec  很多情况下,子进程从 fork 返回后很多会调用 exec 来开始 执行新的程序  这种情况下,子进程根本不需要读或者修改父进程拥有的 所有资源。  所以 fork 中地址空间的复制依赖于 Copy On Write 技术,降 低 fork 的开销

11/23/09 Linux 操作系统分析 10/92 使用 fork 和 exec 的例子 If (result = fork() == 0){ /* 子进程代码 */ … if (execve(“new_program”,…)<0) perror(“execve failed”); exit(1); }else if (result<0){ perror(“fork failed”) } /* result== 子进程的 pid ,父进程将会从这里继续执行 */ …

11/23/09 Linux 操作系统分析 11/92  分开这两个系统调用是有好处的  比如服务器可以 fork 许多进程执行同一个程序  有时程序只是简单的 exec ,执行一个新程序  在 fork 和 exec 之间,子进程可以有选择的执行一系列操作以确保 程序以所希望的状态运行 重定向输入输出 关闭不需要的打开文件 改变 UID 或是进程组 重置信号处理程序  若单一的系统调用试图完成所有这些功能将是笨重而低效的  现有的 fork-exec 框架灵活性更强  清晰,模块化强

11/23/09 嵌入式操作系统 12/92 do_fork  不论是 fork , vfork 还是 clone ,在内核中最终都调用了 do_fork arch/x86/kernel/process_32.c

11/23/09 嵌入式操作系统 13/92  阅读 do_fork; copy-process; … 了解大致程序流程  ???子进程从哪里开始执行,它的返回值是什 么?  阅读 copy_thread(arch/arm/kernel/process.c)  复制父进程的堆栈??? 父进程的堆栈中有些什么??? Fork 系统调用??? kernel/fork

11/23/09 Linux 操作系统分析 14/92 子进程的内核态堆栈 Thread_info 子进程的 8K union esp 返回值 eax 被强制写 0 用户态堆栈 esp 的值 用户态下 eip 的值 子进程恢复到用户 态时需要的上下文 eip esp 子进程的硬件上下文 ret_from_fork 低地址 高地址

11/23/09 Linux 操作系统分析 15/92 子进程的执行  fork 后,子进程处于可运行状态,由调度器决定 何时把 CPU 交给这个子进程  进程切换后因为 eip 指向 ret_from_fork ,所以 CPU 立刻跳转到 ret_from_fork() 去执行。  接着这个函数调用 ret_from_sys_call() ,此函数用 存放在栈中的值装载所有寄存器,并强迫 CPU 返 回用户态  回忆进程的切换

11/23/09 arch/x86/kernel/entry_32.S

11/23/09 Linux 操作系统分析 17/92 内核线程  系统把一些重要的任务委托给周期性执行的进程  刷新磁盘高速缓存  交换出不用的页框  维护网络链接等待  内核线程与普通进程的差别  每个内核线程执行一个单独指定的内核函数  只运行在内核态  只使用大于 PAGE_OFFSET 的线性地址空间

11/23/09 嵌入式操作系统 18/92 例如, 0 号进程创建 1 号进程 init

11/23/09 Linux 操作系统分析 19/92 线程和进程的比较  Linux 内核中没有线程的概念  没有针对所谓线程的调度策略  没有数据结构用来表示一个线程  一般线程的概念在 linux 中只是表现为一组共享资源的 进程 ( 每个这样的进程都有自己的进程描述符 )  在其他系统中 ( 比如 windows)  线程是实实在在的一种运行抽象,提供了比进程更轻 更快的调度单元  在 linux 中 “ 线程 ” 仅仅是表示多个进程共享资源的一种 说法

11/23/09 嵌入式操作系统 20/92 创建内核线程  Kerenl_thread() 创建一个内核线程,并且只能由 另一个内核线程来执行这个调用

11/23/09

Linux 操作系统分析 22/92 进程树  进程 0  进程 1  …

11/23/09 嵌入式操作系统 23/92 进程 0  所有进程的祖先叫做进程 0  在系统初始化阶段由 start_kernel() 函数从无到有手工创建 的一个内核线程  Init_task  Init_thread_union  进程 0 最后的初始化工作创建 init 内核线程,此后运行 cpu_idle , 成为 idle 进程

11/23/09 嵌入式操作系统 24/92 进程 1  又称为 init 进程  由进程 0 在 start_kernel 调用 rest_init 创建  init 进程 PID 为 1 ,当调度程序选择到 init 进程时, init 进程开始执行 kernel_init () 函数

11/23/09 嵌入式操作系统 25/92  kernel_init() 为常规内核任务初始化一些必要的 内核线程,如 :  kflushd 刷新 ‘ 脏 ’ 缓冲区中的内容到磁盘以归还内存  kswapd 执行内存回收功能的线程  最后 kernel_init() 函数在 init_post 中调用 execve() 系 统调用装入可执行程序 init 。从此, init 内核线程 变成一个普通的进程。但 init 进程从不终止,因 为它创建和监控操作系统外层的所有进程的活动

11/23/09 嵌入式操作系统 26/92

11/23/09 Linux 操作系统分析 27/92 撤销进程  进程终止  进程终止的一般方式是 exit() 系统调用。 这个系统调用可能由编程者明确的在代码中插入 另外,在控制流到达主过程 [C 中的 main() 函数 ] 的最后一条语句时, 执行 exit() 系统调用  内核可以强迫进程终止 当进程接收到一个不能处理或忽视的信号时 当在内核态产生一个不可恢复的 CPU 异常而内核此时正代表该进程 在运行

11/23/09 嵌入式操作系统 28/92 撤销进程  进程终止使用 exit 系统调用  删除进程 在父进程调用 wait() 类系统调用检查子进程是否 合法终止以后,就可以删除这个进程

11/23/09 Linux 操作系统分析 29/92 Project :进程的创建 1. 从用户态体验进程的创建  使用 C 语言编写一段用户程序  调用 fork 创建一个子进程,然后让子进程和父进程分别输出 fork 的返回值  编写另外一个程序,  连续 3 次调用 fork , 然后让子进程和父进程分别输出 fork 的 返回值和各自的 pid ,说明一共创建了几个进程?画出进程 之间的创建关系(进程使用 pid 来标识) 2. 对 Linux 中进程的创建进行分析,提交分析报告