欢迎来到天天文库
浏览记录
ID:43192273
大小:1.06 MB
页数:72页
时间:2019-10-02
《Linux第5章 内核简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章Linux内核简介主要内容Linux核心的一般结构进程的概念、进程的调度和进程通信文件系统的构成和管理内存管理设备驱动及中断处理5.1概述Linux系统大致可分为三层:靠近硬件的底层是内核,即Linux操作系统常驻内存部分。中间层是shell层,即操作系统的系统程序部分。最高层是应用层,即用户程序部分内核是Linux操作系统的主要部分,实现进程管理、内存管理、文件系统、设备驱动和网络系统等功能。Linux操作系统的心脏-内核硬件文件系统进程管理进程间通信内存管理网络内核模块系统调用内核态应用软件应
2、用软件用户态……区分用户态和内核态目的在于安全考虑:禁止用户程序和底层硬件直接打交道(最简单的例子,如果用户程序往硬件控制寄存器写入不恰当的值,可能导致硬件无法正常工作)禁止用户程序访问任意的物理内存(否则可能会破坏其他程序的正常执行,如果对内核所在的地址空间写入数据的话,会导致系统崩溃)用户程序如何同设备打交道?例如,用户需通过网卡发送数据硬件被linux内核隔离,只能通过内核实现。不可能直接调用操作系统的函数:不可行,也不安全。Linux提供的解决方法:系统调用系统调用的意义操作系统为用户态进程与硬
3、件设备进行交互提供了一组接口——系统调用把用户从底层的硬件编程中解放出来极大的提高了系统的安全性使用户程序具有可移植性trap0系统调用图解Linux内核体系结构内核的核心-进程Fork()——创建新进程,是父进程的一个克隆Exec()-新进程脱胎换骨,离家独立,开始了独立工作的职业生涯父-子-孙共存的系统必然是一个并发的系统5.2.1进程和线程的概念5.2.2进程的结构5.2.3对进程的操作5.2.4进程调度5.2.5shell基本工作原理5.2进程管理5.2.1进程和线程的概念1.进程及其状态简单说
4、来,进程就是程序的一次执行过程。进程至少要有三种基本状态:运行态、就绪态和封锁态(或等待态)。进程的状态可依据一定的条件和原因而变化进程状态转换图TASK_DEAD(EXIT_ZOMBIE或EXIT_DEAD)TASK_INTERRUPTIBLEorTASK_UNINTERRUPTIBLEorTASK_KILLABLE进程的模式和类型在Linux系统中,进程的模式划分为用户模式和内核模式;按照进程的功能和运行的程序来分,进程划分为两大类:系统进程、用户进程若当前运行的是用户程序、应用程序或者内核之外的系
5、统程序,则在用户模式下运行。在用户程序执行过程中,如果使用了系统调用,或者发生了中断,就要运行操作系统程序,进程模式变为内核模式。系统进程只运行在内核模式用户进程可以在用户模式和内核模式下运行4.Linux线程线程和进程是紧密相关的概念,一般来说,Linux系统中的进程应具有一段可执行的程序、专用的系统堆栈空间、私有的“进程控制块”、独立的存储空间。而Linux系统中,线程只具有前3个组成部分,缺少自己的存储空间。5.2.2进程的结构包含下列几方面的信息:·进程状态·调度信息·标志符·内部进程通讯·链接
6、信息·时间和计时器·文件系统·虚拟内存·处理器信息1、task_struct结构Linux系统中的每个进程都有一个名为task_struct的数据结构,它相当于“进程控制块”;在进程被创建时,系统从内存中分配一个task_struct的数据结构。2.进程系统堆栈每个进程都有一个系统堆栈,用来保存中断现场信息,以及进程进入内核模式后的返回现场信息;系统堆栈和task_struct数据结构之间存在紧密联系,二者物理存储空间也连在一起系统堆栈的大小静态确定。5.2.3对进程的操作1.进程的创建各个进程构成了树
7、形的进程族系;内核在完成了基本的初始化以后,就有了系统的第一个进程(即初始化进程);所有其他的进程和内核线程都由这个原始进程或其子孙进程所创建。进程是有“生命期”的动态过程,包括创建、撤销、挂起、恢复等等。2.进程的等待父进程创建子进程,往往是让子进程替自己完成某项工作,因此,创建之后,父进程通常需要等待子进程运行结束;父进程可用系统调用wait()等待它的子进程终止;3.进程的终止进程可使用系统调用exit()终止自己;其实现算法如下:(1)撤消所有的信号量。(2)释放其所有的资源,包括存储空间、已打
8、开的文件、工作目录、信号处理表等。(3)置进程状态为“终止态”(TASK_ZOMBIE)。(4)向它的父进程发送子进程终止的信号。(5)执行进程调度。5.2.4进程调度调度算法调度时机进程切换进程调度-系统有条不紊的使者任何程序要占用CPU,真正处于执行状态,就必须经由进程调度;进程调度机制要兼顾以下三种不同进程的需要:交互进程:需要经常响应用户操作,着重于系统的响应速度,使得共有一个系统的各个用户,都感到自己在独占系统,典型的交互程序有s
此文档下载收益归作者所有