linux教程(第2版)[孟庆昌等编著][电子教案]第5章

linux教程(第2版)[孟庆昌等编著][电子教案]第5章

ID:14238627

大小:43.50 KB

页数:8页

时间:2018-07-27

linux教程(第2版)[孟庆昌等编著][电子教案]第5章_第1页
linux教程(第2版)[孟庆昌等编著][电子教案]第5章_第2页
linux教程(第2版)[孟庆昌等编著][电子教案]第5章_第3页
linux教程(第2版)[孟庆昌等编著][电子教案]第5章_第4页
linux教程(第2版)[孟庆昌等编著][电子教案]第5章_第5页
资源描述:

《linux教程(第2版)[孟庆昌等编著][电子教案]第5章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本文由pascale0701贡献ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。第5章Linux内核简介Linux内核简介主要内容Linux核心的一般结构Linux核心的一般结构?进程的概念、进程的调度和进程通信?文件系统的构成和管理?内存管理?设备驱动及中断处理5.1概述Linux系统大致可分为三层:Linux系统大致可分为三层:靠近硬件的底层是内核,即Linux操作系统常驻内存部分。靠近硬件的底层是内核,即Linux操作系统常驻内存部分。?中间层是内核之外的shell层,即操作系统的系统程序部分。中间层是内核之外的shell层,即操作系统的系统程序部分。

2、?最高层是应用层,即用户程序部分从结构上看,Linux操作系统是采用单块结构的操作系统。从结构上看,Linux操作系统是采用单块结构的操作系统。?一般说来,可以将操作系统划分为内核和系统程序两部分。●进程控制系统用于进程管理、进程同步、进程通信、进程调度和内存管理等。●内存管理控制内存分配与回收。●文件系统管理文件、分配文件空间、管理空闲空间、控制对文件的访问并为用户检索数据。●Linux系统支持三种类型的硬件设备:字符设备、块设备和网络设备。Linux系统支持三种类型的硬件设备:字符设备、块设备和网络设备。●核心底层的硬件控制负责处理中断以及与机器通信。5.2进程管理5.2.1进程和线程的概

3、念1.进程及其状态?简单说来,进程就是程序的一次执行过程。简单说来,进程就是程序的一次执行过程进程就是程序的一次执行过程。?进程至少要有三种基本状态。这三种基本状态是:运行态、就绪态和封锁态(或等待态)。进程的状态可依据一定的条件和原因而变化2.Linux进程状态Linux进程状态3.进程的模式和类型?在Linux系统中,进程的执行模式划分为用户模式和内核Linux系统中,进程的执行模式划分为用户模式用户模式和模式?按照进程的功能和运行的程序来分,进程划分为两大类:按照进程的功能和运行的程序来分,进程划分为两大类:一类是系统进程,一类是系统进程,另一类是用户进程4.Linux线程Linux线程

4、Linux把线程定义为进程的“执行上下文”Linux把线程定义为进程的“执行上下文”?具有一段可执行的程序、专用的系统堆栈空间、私有的“线程控制块”(即thread_struct数据结构)线程控制块”(即thread_struct数据结构)缺少自己的存储空间5.2.2进程的结构1.task_struct结构task_struct结构?task_struct结构包含下列几方面的信息:task_struct结构包含下列几方面的信息:?·进程状态?·调度信息?·标志符?·内部进程通讯?·链接信息?·时间和计时器?·文件系统?·虚拟内存?·处理器信息2.进程系统堆栈?每个进程都有一个系统堆栈,用来保存

5、中断现场信息和进程进入内核模式后执行子程序(函数)嵌套调用的返回现场信息。?每个进程的系统堆栈和task_struct数据结构之间存在紧密联系,因而每个进程的系统堆栈和task_struct数据结构之间存在紧密联系,因而二者物理存储空间也连在一起系统堆栈的大小静态确定,用户堆栈可在运行时动态扩展5.2.3对进程的操作1.进程的创建各个进程构成了树形的进程族系?内核在引导并完成了基本的初始化以后,就有了系统的第一个进程(即初始化进程,实际上是内核线程)。除此之外,所有其他的进程和内核线程都由这个原始进程或其子孙进程所创建。除初始化进程外,其他进程都是用系统调用fork()和除初始化进程外,其他进

6、程都是用系统调用fork()和clone()创建的。)创建的。fork()是全部复制,而clone()有选择地复制)是全部复制2.进程的等待?父进程可用系统调用wait3()等待它的任一个子进程终止,也父进程可用系统调用wait3()等待它的任一个子进程终止,也可以用系统调用wait4()等待某个特定的子进程终止。可以用系统调用wait4()等待某个特定的子进程终止。wait3()算法如下:)算法如下:(1)如果父进程没有子进程,则出错返回。(2)如果发现有一个终止的子进程,则取出子进程的进程号,把子进程的CPU使用时间等加到父进程上,释放子进程占用的把子进程的CPU使用时间等加到父进程上,释

7、放子进程占用的task_struct和系统空间堆栈,以供新进程使用。task_struct和系统空间堆栈,以供新进程使用。(3)如果发现有子进程,但都不处于终止态,则父进程睡眠,等待由相应的信号唤醒。3.进程的终止?进程可使用系统调用exit()终止自己进程可使用系统调用exit()终止自己?其实现算法如下:(1)撤消所有的信号量。(2)释放其所有的资源,包括存储空间、已打开的文件、工作目录、信号

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。