第5章Linux内核简介1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
就绪状态:指进程已具备运行条件,但因为其他进程正占 用CPU,所以暂时不能运行而等待分配CPU资源的状态。处 于该状态的进程可以有多个。
封锁状态:指进程因等待某种事件发生(如等待某一输入 、输出操作完成,等待其他进程发来的信号等)而暂时不 能运行的状态。处于封锁状态的进程尚不具备运行条件。 也称为不可运行状态或挂起状态。可以有多个。
2020/4/10
13
2.Linux进程状态
2020/4/10
14
3.进程的模式和类型
在Linux系统中,进程的执行模式划分为用户模式和内核模 式
按照进程的功能和运行的程序来分,进程划分为两大类: 一类是系统进程,另一类是用户进程
2020/4/10
15
4.Linux线程
Linux把线程定义为进程的“执行上下文”
查看内核版本:
uname -r
2020/4/10
5
5.1 Linux内核概述
kernel是操作系统的核心程序。
向外部提供对计算机设备的核心管理及调用,负责对计算 机资源的抽象、分配和共享
➢ 代码分为两部分: • 内核所在的地址空间称作内核空间 • 其他应用程序称为外部管理程序,大部分是对外围设 备进行管理和界面操作,外部管理程序和用户进程所 占据的地址空间成为外部空间
2020/4/10
7
5.1 Linux内核概述
微内核特点:
➢ 使操作系统具有良好的灵活性 ➢ 操作系统内部结构简单清晰 ➢ 程序代码维护十分方便 ➢ 体现了面向对象式软件的结构特征
2020/4/10
8
5.1 Linux内核概述
但是:Linux内核采用单一内核
原因:
➢ 注重效率 ➢ Linux将代码执行效率作为操作系统第一要务 ➢ Linux内核的程序员都是世界各地的黑客,比起结
有必要对多线程进行控制!
2020/4/10
19
5.2.2 进程的结构
1.task_struct结构,包含下列几方面的信息:
进程状态
调度信息
标志符(PID)
内部进程通讯(信号、管道、信号量等)
链接信息(指向父进程、兄弟进程、子进程的指针)
具有一段可执行的程序、专用的系统堆栈空间、 私有的“线程控制块”(即thread_struct数据结 构)
缺少自己的存储空间
2020/4/10
16
程序、进程与线程
进程是程序的一次执行;线程可理解为进程中执行的一段 代码片段
进程是系统进Hale Waihona Puke Baidu资源分配和调度的一个独立单位;线程基 本上不拥有系统资源
构的清晰,更注重功能的强大和高效率的代码
特点:
每个功能部件不能轻易拆除
2020/4/10
9
从结构上看,Linux操作系统是采用单块结构的操作系统。
一般说来,可以将操作系统划分为内核和系统程序两部分 。
2020/4/10
10
●进程控制系统用于进程管理、进程同步、进程通 信、进程调度和内存管理等。 ●内存管理控制内存分配与回收。 ●文件系统管理文件、分配文件空间、管理空闲空 间、控制对文件的访问并为用户检索数据。 ●Linux系统支持三种类型的硬件设备:字符设备、 块设备和网络设备。 ●核心底层的硬件控制负责处理中断以及与机器通 信。
。 最高层是应用层,即用户程序部分
2020/4/10
3
5.1 Linux内核概述
Linux有两种不同的含义
➢ 严格技术角度:指的时开放源代码的类Unix操作系 统的内核
➢ 一般意义:指以Linux内核为基础的操作系统,包 括内核、系统工具、完整的开发环境和应用
2020/4/10
4
Linux的版本
2020/4/10
6
5.1 Linux内核概述
Unix内核用C语言写成
单一内核:所有的操作系统功能均被封装在内 核中,与外部程序处于不同的地址空间。外部 程序只能通过功能调用来访问内核。
微内核:内核只提供最基本、最核心的一部分 操作,如创建和删除任务、中断管理、进程管 理、存储器管理、进程间通信等,而其他功能 如文件系统、网络协议栈则在内核外操作。
进程间相互独立的;线程可与同属一个进程的其他的线程
共享进程所拥有的全部资源。
为什么有了进程还
进程与线程之间的数量关系?
要有线程?
解决执行较长时间的操作而不至于用户界面失去响应
2020/4/10
17
多线程优势
提高应用程序的响应速度。
耗时操作时程序无法响应鼠标、键盘事件
多CPU系统更加有效。
线程数小于CPU个数时,不同程序在不同CPU上执行,真 正同时执行
改善程序结构。
复杂的进程可考虑分为多个线程,有利于理解和维护
2020/4/10
18
多线程程序特点
多线程执行顺序无法保证。
取决于操作系统调度策略和优先级等
多线程切换可能发生在任何时间、任何地点。
多线程程序的行为无法预测。
多个线程运行时,结果很可能不同
2020/4/10
11
5.2 进 程 管 理--进程和线程的概念
1.进程及其状态
简单说来,进程就是程序的一次执行过程。 进程至少要有三种基本状态。这三种基本状态是:运行态
、就绪态和封锁态(或等待态)。 进程的状态可依据一定的条件和原因而变化
2020/4/10
12
进程的三种基本状态
运行状态:指当前进程已分配CPU,它是程序正在处理器上 执行的状态。在一般单一CPU机制中,任何时刻处于运行状 态的进程至多只有一个。
Linux有两种版本,一个是核心(Kernel)版本,另一个是发行( Distribution)版本。
序号由三部分数字构成,其形式为:
major.minor.patchlevel
主版本号.次版本号.修订版本号
例如:2.6.18表示对核心2.6版本的第18次修订。
约定:次版本号为奇数时,表示该版本加入新内容,但不一定很稳定 ,相当于测试版,如2.5.XX;次版本号为偶数时,表示这是一个可以 使用的稳定版本,如2.6.XX。
第5章 Linux 内核简介
2020/4/10
1
主要内容
Linux核心的一般结构 进程的概念、进程的调度和进程通信 文件系统的构成和管理 内存管理 设备驱动及中断处理
2020/4/10
2
5.1 Linux内核概述
Linux系统大致可分为三层: 靠近硬件的底层是内核,即Linux操作系统常驻内存部分。 中间层是内核之外的shell层,即操作系统的系统程序部分
相关文档
最新文档