UNIXLinux操作系统内核结构.ppt
《UNIXLinux操作系统内核结构.ppt》由会员分享,可在线阅读,更多相关《UNIXLinux操作系统内核结构.ppt(197页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、UNIX_LinuxUNIX_Linux操作系统内核结构操作系统内核结构电子科技大学信软学院电子科技大学信软学院Tuesday,December 27,2022教教 师师 介介 绍绍刘玓刘玓 教授教授大型主机教学团队主任大型主机教学团队主任大型主机与网络安全工程系主任大型主机与网络安全工程系主任Email:主要研究方向:操作系统、大型主机、网络应用主要研究方向:操作系统、大型主机、网络应用课课 程程 概概 述述一课程内容简介一课程内容简介 1、讲授范围、讲授范围 具体的技术系统及其算法和实现流程,而不是操作系统基本具体的技术系统及其算法和实现流程,而不是操作系统基本原理;原理;2、通用操作系统
2、的现状和分类、通用操作系统的现状和分类 DOS类类-结构简单、使用方便、效率低、安全性低结构简单、使用方便、效率低、安全性低 UNIX类类-运行高效、结构通用、安全可靠、适应能力强、运行高效、结构通用、安全可靠、适应能力强、系统较复杂系统较复杂 MVS类类-功能强大、处理能力巨大、系统复杂、较封闭功能强大、处理能力巨大、系统复杂、较封闭大巨型机大巨型机+z/OS小中型机小中型机+UNIX微型机微型机+Windows功能强大功能强大简单易用简单易用 3、根本特点、根本特点 分时多用户、开放性分时多用户、开放性 分时多用户:分时多用户:多个用户多个进程同时在一个系统中运行多个用户多个进程同时在一个
3、系统中运行 系统资源高度共享、有效协调系统资源高度共享、有效协调 开放性:开放性:标准化标准化 结构上的一致性结构上的一致性 可移植性可移植性 应用软件的编码及系统应用接口应用软件的编码及系统应用接口 可互操作性可互操作性 可保持用户原来的使用习惯可保持用户原来的使用习惯 异种机之间的互操作异种机之间的互操作 4、教学难点、教学难点 多用户多进程多用户多进程同步同步/互斥、数据一致性、访问安全性互斥、数据一致性、访问安全性 开放性开放性硬件依赖性、结构伸缩性、广泛适应性硬件依赖性、结构伸缩性、广泛适应性 二、教学目的二、教学目的 1、了解主流操作系统的发展方向、了解主流操作系统的发展方向 低端
4、操作系统低端操作系统 VS 高端操作系统高端操作系统 2、掌握、掌握UNIX类操作系统的内部结构和主要算法类操作系统的内部结构和主要算法 文件、文件系统、进程、时钟、输入输出文件、文件系统、进程、时钟、输入输出 3、学习大型程序设计的方法和理念、学习大型程序设计的方法和理念 系统结构、功能流程、数据安全、思维模式系统结构、功能流程、数据安全、思维模式 4、奠定系统开发和应用开发的基础、奠定系统开发和应用开发的基础 功能选择、层次划分、应用系统模式的确定功能选择、层次划分、应用系统模式的确定三、教材三、教材 UNIX操作系统设计操作系统设计 (The Design of the UNIX Ope
5、rating System)(美)(美)Maurice J.Bach 著著 陈葆珏陈葆珏 王旭王旭 柳纯录柳纯录 冯雪山冯雪山 译译 机械工业出版社机械工业出版社 2005年年10月出版月出版四、考核说明四、考核说明 本课程为本课程为“考查考查”,请以选,请以选“考试考试”的同学进行更正。的同学进行更正。成绩构成:平时成绩成绩构成:平时成绩+期末报告期末报告第一章第一章 系统概貌系统概貌1.1 发展状况发展状况1、发展历史及版本、发展历史及版本 v.0 1970年年 Ken Thompson 和和 Dennis Ritchie PDP-7 汇编语言汇编语言 UNICS v.1 1971年年 P
6、DP-11 汇编语言汇编语言 UNIX v.2 1972年年 增加管道功能增加管道功能 v.5 1973年年 Dennis Ritchie B language -C language 重写重写UNIX 第一个高级语言第一个高级语言OS v.6 1975年年 对外发表对外发表UNIX 大学和科研单位应用大学和科研单位应用 v.7 1978年年 第一个商业版本第一个商业版本 我国开始深入研究应用的最早版本我国开始深入研究应用的最早版本 System III 1981年年 完全转向为社会提供的商品软件完全转向为社会提供的商品软件 System V 1983年年 系统功能稳定完善系统功能稳定完善 公
7、布号公布号:1.0、2.0、2.3、3.5、4.0、4.2、4.3 现在最后版本为现在最后版本为 System V Release 4 (SVR4)2、主要分支和兼容版本、主要分支和兼容版本BSD 加州大学伯克利分校加州大学伯克利分校 XENIX/OpenServer Microsoft、SCO公司公司HP-UX HP公司公司AIX IBMSolaris SUN公司公司IRIX SGI公司公司Ultrix DEC公司公司Linux 开放源代码开放源代码3、基本功能特征、基本功能特征 交互式分时多用户交互式分时多用户人机间实时交互数据人机间实时交互数据多个用户可同时使用一台机器多个用户可同时使用
8、一台机器每个用户可同时执行多个任务每个用户可同时执行多个任务软件复用软件复用每个程序模块完成单一的功能每个程序模块完成单一的功能程序模块可按需任意组合程序模块可按需任意组合较高的系统和应用开发效率较高的系统和应用开发效率可移植性强可移植性强数千行汇编码数千行汇编码,数十万行数十万行C语言代码语言代码配置灵活配置灵活,适应性强适应性强小内核小内核,参数灵活可调参数灵活可调核外应用系统核外应用系统,任意裁减任意裁减限制规则很少限制规则很少界面方便高效界面方便高效内部内部:系统调用丰富高效系统调用丰富高效外部外部:shell命令灵活方便可编程命令灵活方便可编程应用应用:GUI 清晰直观功能强大清晰直
9、观功能强大安全机制完善安全机制完善口令、权限、加密等措施完善口令、权限、加密等措施完善抗病毒结构抗病毒结构误操作的局限和自动恢复功能误操作的局限和自动恢复功能 多国语言支持多国语言支持支持全世界现有的几十种主要语言支持全世界现有的几十种主要语言网络和资源共享网络和资源共享内部内部:多进程结构易于资源共享多进程结构易于资源共享外部外部:支持多种网络协议支持多种网络协议说明:说明:1、其它操作系统可能包含部分上述、其它操作系统可能包含部分上述UNIX的特征,但非全部的特征,但非全部(如(如NT就有部分多用户系统特征)就有部分多用户系统特征)2、这些特征有些是核心直接实现的,有些是由核心提供实现、这
10、些特征有些是核心直接实现的,有些是由核心提供实现这种特征的方便性和可能性,而由使用者来实现的。这种特征的方便性和可能性,而由使用者来实现的。1.2 系统结构系统结构 硬件硬件硬件硬件内核内核kernelshwhodatewcvigrepdatea.outlsapp_1app_2app_nUNIX操作系统的整体结构操作系统的整体结构 系统调用(系统调用(system call)以函数形式提供给核外的命令和上层应用系统使用的一以函数形式提供给核外的命令和上层应用系统使用的一组程序,涵盖操作系统的所有功能。是应用程序请求操作组程序,涵盖操作系统的所有功能。是应用程序请求操作系统服务的唯一通道。系统服
11、务的唯一通道。内核(内核(kernel)系统调用的集合及实现系统调用的内部算法就形成操作系统调用的集合及实现系统调用的内部算法就形成操作系统核心系统核心1.3 用户看法用户看法 进程和文件是进程和文件是UNIX操作系统中最基本的两个概念(抽象)操作系统中最基本的两个概念(抽象)进程:进程:所有处在运行期间的程序实例都是进程所有处在运行期间的程序实例都是进程 一个进程就是处在运行期间的一个程序实例一个进程就是处在运行期间的一个程序实例 涵盖所有的动态概念涵盖所有的动态概念文件:文件:所有静态的无形数据和有形硬件设备所有静态的无形数据和有形硬件设备 源程序、命令、图片、邮件、源程序、命令、图片、邮
12、件、打印机、内存、磁盘等打印机、内存、磁盘等1.3.1 文件系统文件系统 /bin usr etc home tmp dev who ls bin lib rc ttys st teach tty0 hd02 admin hwconf liu wang chen aa dir2 save UNIX文件系统树示例文件系统树示例UNIX文件系统的特征文件系统的特征:1、树状层次结构、树状层次结构 树根、树枝、树叶、路径树根、树枝、树叶、路径2、对文件数据的一致对待、对文件数据的一致对待 文件为有序无格式的字节流,逻辑意义由使用者解释文件为有序无格式的字节流,逻辑意义由使用者解释3、文件管理、文件管
13、理 建立、删除、修改、备份、移动、替换建立、删除、修改、备份、移动、替换 存储空间的分配和释放存储空间的分配和释放4、文件的访问和保护、文件的访问和保护 索引节点(索引节点(inode)、文件描述符)、文件描述符(fd)用户分组、权限划分用户分组、权限划分5、设备文件管理、设备文件管理 统一各外部设备的访问模式统一各外部设备的访问模式char buffer2048;main(int argc,char*argv)int fdold,fdnew;if(argc!=3)printf(“need 2 arguments for copy programn”);exit(1);fdold=open(a
14、rgv1,O_RDONLY);if(fdold=-1)printf(“cannot open file%sn”,argv1);exit(1);fdnew=creat(argv2,0666);if(fdnew=-1)printf(“cannot create file%sn”,argv2);exit(1);copy(fdold,fdnew);exit(0);copy(int old,int new)int count;while(count=read(old,buffer,sizeof(buffer)0)write(new,buffer,count);1.3.2 处理环境处理环境 程序:可执行的
15、文件程序:可执行的文件 文件头包括:文件头包括:文件的文件的幻数幻数(magic number)编译器的版本号编译器的版本号 机器类型机器类型 数据段、正文段、工作变量的段大小数据段、正文段、工作变量的段大小 程序入口点程序入口点文件头文件头正文段正文段数据段数据段工作变量段工作变量段BSS(符号表、重定位信息等)(符号表、重定位信息等)进程:进程:程序的一次执行实例程序的一次执行实例 一个程序可同时有多个实例;系统中可同时有多个进程一个程序可同时有多个实例;系统中可同时有多个进程父进程:父进程:调用系统调用调用系统调用fork的进程的进程子进程:子进程:由系统调用由系统调用fork产生的新进
16、程产生的新进程执行程序:执行程序:调用调用execl,用被执行程序的内容覆盖本进程地址空间用被执行程序的内容覆盖本进程地址空间 abc执行执行abcabcxyz用用xyzxyz覆盖覆盖abcabc执行执行xyzxyzxyz例子:例子:执行可运行文件执行可运行文件copy,其功能是拷贝文件,其运行格式为:,其功能是拷贝文件,其运行格式为:copy oldfile newfile另一个名为另一个名为cpfile的程序具体调用的程序具体调用copy,其源程序如下:,其源程序如下:main(int argc,char*argv)if(fork()=0)execl(“copy”,argv1,argv2,
17、0);wait(int*)0);printf(“copy donen”);在用户环境下,程序的执行通常由命令解释器在用户环境下,程序的执行通常由命令解释器shell来完成,来完成,标准的命令格式为:标准的命令格式为:cmd -options arguments shell可识别的命令类型有:可识别的命令类型有:1、简单命令、简单命令 cat file1 2、多条命令、多条命令 who;date;ps 3、复合命令、复合命令 ps e|grep student2 (ls;cat file3;pwd)run_log 4、后台命令、后台命令 ls lR /home/teacher tlist&1.3
18、.3 构件原语构件原语 “软件复用软件复用”和和“模块组装模块组装”理念理念 程序内部:程序内部:简单功能划分;纯代码设计简单功能划分;纯代码设计 程序外部:程序外部:使用构件原语进行功能重叠和组装使用构件原语进行功能重叠和组装 UNIX包含两种构件原语:包含两种构件原语:输入输出重定向输入输出重定向 管道管道I/O重定向(重定向(I/O redirect):):一个进程通常一个进程通常(default)打开三个文件:打开三个文件:标准输入文件(标准输入文件(fd=0)标准输出文件(标准输出文件(fd=1)标准错误输出文件(标准错误输出文件(fd=2)例如:例如:grep abc grep a
19、bc file1 grep abc file2 grep abc file2 2 file3管道(管道(pipe):):A进程将标准输出重新定向到管道中去;进程将标准输出重新定向到管道中去;B进程将标准输入重新定向从管道中来。进程将标准输入重新定向从管道中来。例如:例如:ps -e|grep student3|wc -l 查看当前系统中与用户查看当前系统中与用户student3相关的进程有多少相关的进程有多少 A进程的输出进程的输出B进程的输入进程的输入1.4 操作系统服务操作系统服务 UNIX操作系统提供五种主要的服务(也是操作系统提供五种主要的服务(也是UNIX核心的五个核心的五个重要组成
20、部分):重要组成部分):1进程管理进程管理 建立、终止、挂起、通信等建立、终止、挂起、通信等 2时钟管理时钟管理 分时共享分时共享cpu,时间片,调度,时间片,调度 3存储管理存储管理 二级存贮器(内存和对换区),分配主存二级存贮器(内存和对换区),分配主存 4文件系统管理文件系统管理 二级存贮结构。分配和收回存贮区和索引节点二级存贮结构。分配和收回存贮区和索引节点 5设备管理设备管理 对对I/O设备进行有控制的存取(多进程系统的特征)设备进行有控制的存取(多进程系统的特征)内核提供的服务的特点:内核提供的服务的特点:服务是透明的服务是透明的 文件类型透明文件类型透明:用户可不关心是普通文件还
21、是外部设备,但用户可不关心是普通文件还是外部设备,但O.S自己自己要关心文件类型!要关心文件类型!文件系统的透明文件系统的透明:文件系统类型、存放的物理位置。文件系统类型、存放的物理位置。存贮方式透明存贮方式透明:文件的存放位置、存放方式、存放格式文件的存放位置、存放方式、存放格式 各用户进程能得到核心相同服务各用户进程能得到核心相同服务:无论系统程序还是用户程序,平等对待,分时运行无论系统程序还是用户程序,平等对待,分时运行1.5 硬件假设硬件假设 (假设机器硬件只支持的运行状态)(假设机器硬件只支持的运行状态)UNIX系统上进程的执行分成两种状态:系统上进程的执行分成两种状态:用户态、用户
22、态、核心态核心态 用户态:用户态:进程正在执行用户代码时的状态进程正在执行用户代码时的状态 核心态:核心态:进程正在执行系统代码(系统调用)时的状态进程正在执行系统代码(系统调用)时的状态用户态和核心态的区别:用户态和核心态的区别:用户态用户态:进程只能存取自己的地址空间:进程只能存取自己的地址空间 核心态核心态:进程可存取核心和用户地址空间:进程可存取核心和用户地址空间 用户态用户态:不能存取特权指令,只能存取自己的指令和数据不能存取特权指令,只能存取自己的指令和数据 核心态核心态:除了能存取自己的指令和数据外,还可存取特权指令除了能存取自己的指令和数据外,还可存取特权指令 一个进程在运行时
23、必须处在,而且只能处在或者核心态或一个进程在运行时必须处在,而且只能处在或者核心态或者用户态下:者用户态下:核心态的进程不是与用户进程平行运行的孤立的进程集合,而是核心态的进程不是与用户进程平行运行的孤立的进程集合,而是每个用户进程的一部分。每个用户进程的一部分。“核心分配资源核心分配资源”:一个在核心状态下执行的进程分配资源。一个在核心状态下执行的进程分配资源。一个进程某时在一个进程某时在“用户态用户态”下运行,另一时刻又在下运行,另一时刻又在“核心态核心态”下下运行,在其生命周期内可能在这两种状态间切换多次运行,在其生命周期内可能在这两种状态间切换多次 用户态用户态核心态核心态0 1 2
24、3 4 5 timeA|B|C|D|A|核心核心处在核心态下的进程的相应部分的集合处在核心态下的进程的相应部分的集合硬件是按核心态和用户态来执行操作的,但对这两种状态下正硬件是按核心态和用户态来执行操作的,但对这两种状态下正在执行程序的多个用户是相同对待的。在执行程序的多个用户是相同对待的。readwriteopen A 进程进程 B 进程进程 C 进程进程1.5.1 中断与例外中断与例外中断(要保存上下文)中断(要保存上下文):来自来自进程之外进程之外的事件(外设、时钟等)引起的,发生在两条的事件(外设、时钟等)引起的,发生在两条指令执行之间,中断服务完毕后从下一条指令继续执行。指令执行之间
25、,中断服务完毕后从下一条指令继续执行。(中断服务是由核心中特殊的函数,而不是特殊的进程来执中断服务是由核心中特殊的函数,而不是特殊的进程来执行的行的)例外(不保存上下文)例外(不保存上下文):来自来自进程内部进程内部的的非期望非期望事件(地址越界,除数为事件(地址越界,除数为0等),发等),发生在一条指令执行过程中,例外事件处理完后重新执行该指生在一条指令执行过程中,例外事件处理完后重新执行该指令。令。1.5.2 处理机执行级处理机执行级 用一组特权指令给处理机设置一个执行级用一组特权指令给处理机设置一个执行级,以屏蔽同级和低,以屏蔽同级和低级的中断,最大限度地减少其它事件的干扰,使当前任务顺
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIXLinux 操作系统 内核 结构
限制150内