版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲教师:翟高寿(副教授)联系电话办)电子邮件:gszhai@制作人:翟高寿制作单位:北京交通大学计算机学院《操作系统》2/4/20231北京交通大学计算机学院翟高寿教学目标全面、系统地介绍计算机操作系统的体系结构、实现机理及相关方法和技术,培养广大学生在系统软件开发方面的理论基础及技术素养。2/4/20232北京交通大学计算机学院翟高寿主要相关课程先修课程:
数据结构接口技术、计算机组成原理汇编语言程序设计
C语言程序设计并行/后续课程:计算机体系结构、操作系统实践2/4/20233北京交通大学计算机学院翟高寿教材
计算机操作系统汤子瀛哲凤屏汤小丹
西安电子科技大学出版社参考教材
计算机操作系统教程张尧学史美林清华大学出版社
操作系统教程陈向群杨芙清北京大学出版社
Windows操作系统原理尤晋元史美林陈向群机械工业出版社
操作系统基础屠立德屠祁清华大学出版社
操作系统教程孙仲秀高等教育出版社
操作系统教程-原理和实例分析孟静高等教育出版社
AppliedOperatingSystemConcept
AbrahanSilberschatz
高等教育出版社
TheDesignofTheUnixOperatingSystemManrice
J.Bach
人民邮电出版社
现代操作系统陈向群等译机械工业出版社2/4/20234北京交通大学计算机学院翟高寿教材内容删减说明第三章处理机调度与死锁3.3实时调度3.4多处理机系统中的调度第五章设备管理5.6磁盘存储器管理第八章网络操作系统第九章系统安全性2/4/20235北京交通大学计算机学院翟高寿课程主要内容及教学安排操作系统引论(10学时)处理机管理(18学时)存储管理(12学时)设备管理(8学时)文件系统(8学时)操作系统设计实例(8学时)2/4/20236北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制
1.5操作系统的发展1.6
操作系统的功能与特征1.7操作系统的结构设计2/4/20237北京交通大学计算机学院翟高寿1.1
什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例2/4/20238北京交通大学计算机学院翟高寿计算机系统的组成计算机系统(层次结构)软件硬件及固件(裸机)应用软件系统软件编辑程序/汇编程序/编译程序/数据库管理系统操作系统2/4/20239北京交通大学计算机学院翟高寿操作系统在计算机系统中的地位2/4/202310北京交通大学计算机学院翟高寿操作系统的设计目标方便性提供用户接口,使计算机系统更方便使用有效性通过有效管理和分配软、硬件资源及合理组织计算机工作流程来改善资源利用率、提高系统吞吐量可扩充性计算机硬件和体系结构的迅猛发展及其所对应的更高的功能和性能要求开放性不同厂家与不同类型的计算机及其设备的网络化集成和协同工作,实现应用程序可移植性和互操作性2/4/202311北京交通大学计算机学院翟高寿1.1
什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3
操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例2/4/202312北京交通大学计算机学院翟高寿操作系统的作用(1)
用户与计算机硬件系统之间的接口命令方式(操作系统外壳)面向一般用户命令行/菜单式/命令脚本式/图形用户接口系统调用方式(操作系统内核)面向程序开发人员形式上类似于过程调用,编制程序中使用2/4/202313北京交通大学计算机学院翟高寿操作系统的作用(2)
计算机系统资源的管理者管理对象处理器、存储器、外围设备以及信息(数据和软件)管理内容资源的分配、回收和访问操作记录资源的当前状态(数量和使用情况)、相应管理策略(共享、保护及用户权限)2/4/202314北京交通大学计算机学院翟高寿操作系统的作用(3)
用作扩充机器(或虚拟机)在裸机上添加处理机管理、存储管理、设备管理、文件管理、作业管理、图形化用户接口等功能,使计算机系统功能显著增强、使用更为方便2/4/202315北京交通大学计算机学院翟高寿1.1
什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例2/4/202316北京交通大学计算机学院翟高寿操作系统的组成及层次模型用户接口(命令接口、程序接口、图形用户接口)对对象进行操纵和管理的软件集合(处理机/存储器/设备/文件/作业管理软件)操作系统对象(处理机、存储器、设备、文件和作业)2/4/202317北京交通大学计算机学院翟高寿操作系统层次模型细化2/4/202318北京交通大学计算机学院翟高寿1.1
什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例2/4/202319北京交通大学计算机学院翟高寿操作系统的定义操作系统是最基本的系统软件,是一组有效管理和控制计算机硬件和软件资源、合理地对各类作业进行调度以组织和控制系统工作流程,并方便用户使用计算机的程序的集合。2/4/202320北京交通大学计算机学院翟高寿1.1
什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例2/4/202321北京交通大学计算机学院翟高寿操作系统举例MSDOSWindows(NT、9X、200X、Vista)UNIX(Solaris)Linux(RedHat、RedFlag)NovellNetware2/4/202322北京交通大学计算机学院翟高寿1.1
什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例2/4/202323北京交通大学计算机学院翟高寿作业题1.1什么是操作系统?用自己的话谈谈你对操作系统概念的认识与理解。2/4/202324北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制
1.5操作系统的发展1.6
操作系统的功能与特征1.7操作系统的结构设计2/4/202325北京交通大学计算机学院翟高寿计算机系统体系结构2/4/202326北京交通大学计算机学院翟高寿计算机系统硬件组成2/4/202327北京交通大学计算机学院翟高寿内存系统MemorySystems主存MainMemoryRAM&ROM实际地址空间realaddressspace或称作物理地址空间,按字节编址BytesRAM&ROM保留用于设备或以后它用高速缓冲CacheMemories因内存寻址访问效率和局部性原理而引入由硬件管理,对软件不可见??2/4/202328北京交通大学计算机学院翟高寿高速缓存CacheMemories关联存储器及置换(淘汰)算法2/4/202329北京交通大学计算机学院翟高寿输入输出系统组织方式2/4/202330北京交通大学计算机学院翟高寿用户指令集体系结构UserISA寄存器架构通用寄存器、特定类型寄存器(如浮点数)专用寄存器(PC、链接/栈指针/条件码/循环计数寄存器)内存架构逻辑/虚拟地址空间线性编址eg.0x00000000↔0x80000000↔0xFFFFFFFF分段编址eg.0#~15#分段基址↔段寄存器值用户指令——运算型内存存取指令、分支跳转指令整数算术、逻辑及移位指令浮点指令分段256MB虚存252B2/4/202331北京交通大学计算机学院翟高寿应用程序(用户级)3#级用户模式特权级别与环结构用户模式、特权/超级/系统模式系统模式(a)扩展级2#级(b)系统服务1#级内核0#级2/4/202332北京交通大学计算机学院翟高寿系统指令集体系结构SystemISA系统寄存器架构系统时钟寄存器、陷入与中断寄存器陷入与中断屏蔽寄存器、页/段表指针寄存器处理器资源管理支持系统调用/返回指令、中断定时器及设置机制内存资源管理支持虚拟地址空间到物理地址空间的映射(页表&TLB)I/O资源管理支持I/O设备寻址与I/O指令陷入与中断2/4/202333北京交通大学计算机学院翟高寿陷入与中断陷入指令执行时因异常情况(如运算溢出、缺页、违规内存访问、非法操作码等)产生的控制迁移副效应陷入流程(异常→设置陷入寄存器→查看陷入屏蔽寄存器裁决→终止“陷入”指令并置处理器准确状态→保存程序计数及各寄存器值→处理器置特权模式并交操作系统控制权→操作系统保存未被硬件保存的“陷入”进程的关键状态信息,经分析转特定异常陷入处理例程,待完成返回后恢复现场和转原“陷入”进程“异常”指令处继续执行)另“系统调用”式陷入(访管指令int21H/int0x80)中断由相对于当前执行进程的外部事件(如I/O操作、定时)引起,与特定指令执行无关流程?2/4/202334北京交通大学计算机学院翟高寿IA-32体系结构举例说明系统寄存器架构标志寄存器EFLAGS(通用标志、系统标志)内存管理寄存器GDTR、IDTR、LDTR、TR控制寄存器CR0、CR1、CR2、CR3保护模式内存管理内存寻址(分段寻址技术;逻辑地址14+32)地址变换(分段[段选择符→段描述符]+分页)内存保护(全局/局部描述符表、特权级)中断和异常处理中断向量与中断描述符表、中断源与异常源任务管理(任务状态段)任务切换与过程调用不同!2/4/202335北京交通大学计算机学院翟高寿操作系统其它硬件基础举例说明内存地址空间布局、基本输入输出系统BIOSCMOS存储器与实时时钟RTI/O端口寻址和访问控制方式主要使用独立编址方式,部分使用统一编址方式中断控制器Intel8259A、定时计数器Intel8254DMA控制器Intel8237A、键盘控制器Intel8042串行控制卡RS-232标准显示卡MDA/CGA/EGA/VGA软盘控制器和硬盘控制器2/4/202336北京交通大学计算机学院翟高寿作业题1.2设想由你自己负责组织一个项目团队来构建操作系统,你应当要求项目成员事先学习和掌握哪些硬件基础知识?并给出你对相关知识的理解与总结。2/4/202337北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制
1.5操作系统的发展1.6
操作系统的功能与特征1.7操作系统的结构设计2/4/202338北京交通大学计算机学院翟高寿1.3
操作系统用户接口及系统调用实现1.3.1操作系统接口分类1.3.2联机命令接口1.3.3图形用户接口1.3.4系统调用2/4/202339北京交通大学计算机学院翟高寿操作系统接口分类基于接口表现形式划分用户接口命令接口(具体可分为联/脱机命令接口)图形用户接口(图形化操作界面)程序接口(方便用户程序访问系统资源,由一组系统调用组成)基于接口使用者类型划分本地用户接口网络用户接口2/4/202340北京交通大学计算机学院翟高寿1.3
操作系统用户接口及系统调用实现1.3.1操作系统接口分类1.3.2联机命令接口1.3.3图形用户接口1.3.4系统调用2/4/202341北京交通大学计算机学院翟高寿联机命令接口构成一组联机命令键盘终端处理程序命令解释程序2/4/202342北京交通大学计算机学院翟高寿联机命令及分类联机命令格式
<命令>[<可选项>]<参数序列>联机命令类型系统访问类磁盘操作类、文件操作类、目录操作类通信类输入输出重定向、管道连接、过滤命令批处理命令Linux常用操作命令?2/4/202343北京交通大学计算机学院翟高寿键盘终端处理程序基本功能接收用户从终端输入的字符面向字符/行方式管理字符缓冲,以暂存所接收的字符专用缓冲区、公用缓冲池方式将用户键入字符回送屏幕显示硬件/软件实现方式提供屏幕编辑(编辑键)特殊字符处理(中断/停止或恢复上卷)2/4/202344北京交通大学计算机学院翟高寿命令解释程序工作流程
系统启动显示命令提示符命令合法否?接收命令行输入内部命令?执行exec系统调用装入命令处理程序并予以执行是系统初始化是基于命令识别特定方法转向执行对应命令处理程序外部命令?是否否否2/4/202345北京交通大学计算机学院翟高寿1.3
操作系统用户接口及系统调用实现1.3.1操作系统接口分类1.3.2联机命令接口1.3.3图形用户接口1.3.4系统调用2/4/202346北京交通大学计算机学院翟高寿图形用户接口元素及操作桌面、图标、鼠标指针窗口、标题栏、菜单栏、工具栏菜单菜单条弹出式菜单下拉式菜单对话框2/4/202347北京交通大学计算机学院翟高寿图形用户接口特点基于图形元素来表示功能,方便用户操纵和触发对应功能同屏多窗口与并发进程相对应支持即时交互,鼠标点击和键盘输入并举操作直观,不必死记命令行参数,传递信息量大2/4/202348北京交通大学计算机学院翟高寿图形用户接口实现及运行机制面向对象程序设计方法消息产生、传递及处理消息作为窗口的输入,如用户操作、其它窗口或系统发出的请求或通知消息由各窗口自己的窗口过程进行处理事件驱动模式2/4/202349北京交通大学计算机学院翟高寿1.3
操作系统用户接口及系统调用实现1.3.1操作系统接口分类1.3.2联机命令接口1.3.3图形用户接口1.3.4系统调用2/4/202350北京交通大学计算机学院翟高寿系统调用的基本概念定义系统过程→系统服务→系统调用命令与普通过程调用的区别运行在不同的系统状态软中断进入机制返回及重新调度问题嵌套调用2/4/202351北京交通大学计算机学院翟高寿系统调用举例说明简单用户程序例子从一个文件读取数据,再将它们拷贝到另一文件中系统调用分析源数据文件打开目标数据文件创建文件数据读入到缓冲缓冲数据写出到文件程序正常结束2/4/202352北京交通大学计算机学院翟高寿系统调用举例说明#include<fcntl.h>voidmain(int
argc,char*argv[]){
int
fdOld,fdNew;
intcount; charbuffer[2048];
fdOld=open(argv[1],O_RDONLY);
fdNew=creat(argv[2],0666); while(count=read(fdOld,buffer,sizeof(buffer)))
write(fdNew,buffer,count); exit(0);}2/4/202353北京交通大学计算机学院翟高寿直接进行系统调用的前提准备#define__LIBRARY__#include<include/asm-i386/unistd.h>_syscall3(long,open,constchar*,filename,int,flags,intmode);_syscall3(long,creat,constchar*,filename,int,flags,intmode);_syscall3(ssize_t,read,unsigned,fd,char*,buf,size_t,count);_syscall3(ssize_t,write,unsigned,fd,char*,buf,size_t,count);_syscall1(int,exit,long,flag);注意:1、系统调用号__NR_zgs的分配在include/asm-i386/unistd.h2、系统调用号与系统调用之间的联系建立在系统调用表中,即arch/i386/kernel/entry.S中描述的sys_call_table2/4/202354北京交通大学计算机学院翟高寿系统调用的类型进程控制进程的创建、结束、等待子进程结束进程属性设置与获取执行一个文件(进程映像替换)文件操纵文件的创建、打开、关闭、读/写进程通信连接打开与关闭、消息发送与接收系统信息维护时间设置与获取、文件访问/修改时间设置2/4/202355北京交通大学计算机学院翟高寿系统调用的实现设置系统调用号和参数系统调用号(指定寄存器/内存单元)参数(直接[寄存器]、间接[参数表指针])UNIX(CHMK命令)/DOS(INT21软中断)系统调用命令的一般性处理将处理机状态由用户态转为系统态保护CPU现场,将PSW、PC、系统调用号、用户栈指针、通用寄存器等压入堆栈用户定义参数送至指定位置分析系统调用类型,转相应处理子程序中断和陷入向量表(入口地址、PSW)2/4/202356北京交通大学计算机学院翟高寿混合编程要领汇编语言源程序调用C函数模块按逆向顺序把C函数模块参数压入栈中call_CModuleName|jmp_CModuleName清除先前压入栈中的C函数模块参数C语言程序嵌入汇编指令举例说明#define_syscall1(type,name,atype,a)\typename(atypea){long_res;\__asm__volatile("int$0x80"\:"=a"(_res)\:"0"(__NR_##name),"b"((long)(a)));\if(_res>=0)return(type)_res;\errno=-_res;return-1;}2/4/202357北京交通大学计算机学院翟高寿1.3
操作系统用户接口及系统调用实现1.3.1操作系统接口分类1.3.2联机命令接口1.3.3图形用户接口1.3.4系统调用2/4/202358北京交通大学计算机学院翟高寿作业题1.3试阐述程序接口与用户交互接口(即命令接口和图形化接口)之间的关系?并给出你对系统调用实现机制及处理过程的完整理解与总结。2/4/202359北京交通大学计算机学院翟高寿《操作系统实践》实验1编程和替换Linux命令解释程序Shell自己选取和设计一组联机命令,可通过调用系统内核过程加以实现或仅仅在屏幕上显示命令自身(算是虚化实现),至少一条命令如文件拷贝的处理牵涉到系统调用;设计和构建命令解释程序并替换原Linux命令解释程序Shell启动系统和运行测试;撰写实验报告,阐述实验目的、实验目标、实验步骤、技术难点及解决方案、关键数据结构和算法流程、测试方案与过程及运行效果、结论与体会等。2/4/202360北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制
1.5操作系统的发展1.6
操作系统的功能与特征1.7操作系统的结构设计2/4/202361北京交通大学计算机学院翟高寿DOS系统结构2/4/202362北京交通大学计算机学院翟高寿引导扇区与系统启动系统启动过程机器加电=>BIOS加电自检(0FFFF:0000)进行硬件检测=>读入启动盘引导扇区(0:0:1)512字节到内存0000:7C00处=>检查内存0000:7DFE~7DFF是否为0x55AA=>跳转至0000:7C00执行引导记录程序引导扇区末两个字节为0x55AA引导程序编制基础开发工具GCC引导代码必须编译成plainbinaryfile类型且为512Bgcc-cboot.cldboot.o-oboot.bin-oformatbinary-Ttext0x100000Linux载入位置2/4/202363北京交通大学计算机学院翟高寿最简单的引导程序汇编程序代码MinBoot.asmhang:jmphangtimes510–($-$$)db0dw0xAA55H程序汇编nasm
MinBoot.asm-oMinBoot.bin将二进制文件MinBoot.bin内容拷贝到引导扇区2/4/202364北京交通大学计算机学院翟高寿二次装载引导程序设计二次装载含义由BIOS将引导记录载入内存执行由引导记录将操作系统内核载入内存软驱复位与读取BIOS之INT13H功能调用字符串显示BIOS之INT10H功能调用2/4/202365北京交通大学计算机学院翟高寿二次装载引导程序之引导程序设计[ORG0]
jmp07C0h:startstart:
movax,cs
mov
ds,ax
mov
es,axreset:
movax,0
movdl,0
int13h
jcresetread:
movax,1000h
mov
es,ax
mov
bx,0
movah,2
moval,5
mov
ch,0
mov
cl,2
movdh,0
movdl,0
int13h
jcreadjmp1000h:0000times510-($-$$)db0dw0xAA55h软驱0:0:2起五个扇区读入到ES:BX2/4/202366北京交通大学计算机学院翟高寿二次装载引导程序之内核程序设计[ORG0]
jmpstart2msgdb‘Kernal!’,$0start2:
movax,cs
mov
ds,ax
mov
es,ax
mov
si,msgprint:
lodsb
cmpal,0
je
hangup
movah,0Eh
mov
bx,7
int10h
jmpprinthangup:
jmp
hanguptimes510-($-$$)db0dw0xAA55hDS:SI=>AL2/4/202367北京交通大学计算机学院翟高寿《操作系统实践》实验2利用C和汇编混合编程实现最简操作系统实现二次装入引导过程;以嵌入式汇编指令实现的C程序内核可非常简单(注意可执行程序格式);撰写实验报告,阐述实验目的、实验目标、实验步骤、技术难点及解决方案、关键数据结构和算法流程、测试方案与过程及运行效果、结论与体会等。2/4/202368北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制
1.5操作系统的发展1.6
操作系统的功能与特征1.7操作系统的结构设计2/4/202369北京交通大学计算机学院翟高寿1.5操作系统的发展1.5.1推动操作系统发展的主要动力1.5.2无操作系统时的计算机系统1.5.3单道批处理系统1.5.4多道批处理系统1.5.5分时系统1.5.6实时系统1.5.7操作系统的进一步发展2/4/202370北京交通大学计算机学院翟高寿推动操作系统发展的主要动力不断提高计算机资源利用率和系统性能的需要改善和方便用户使用计算机的需要适应器件不断更新换代的需要适应计算机体系结构不断发展变化的需要2/4/202371北京交通大学计算机学院翟高寿1.5操作系统的发展1.5.1推动操作系统发展的主要动力1.5.2无操作系统时的计算机系统1.5.3单道批处理系统1.5.4多道批处理系统1.5.5分时系统1.5.6实时系统1.5.7操作系统的进一步发展2/4/202372北京交通大学计算机学院翟高寿人工操作方式1946~50年代中期计算机资源昂贵、集中计算工作方式用户:同时兼有程序员/操作员双重身份输入输出:纸带或卡片编程语言:机器语言工作特点用户独占全部资源,资源利用率低计算前后,CPU因等待人工操作而空闲2/4/202373北京交通大学计算机学院翟高寿史前速度矛盾及缓和途径人机矛盾人工操作方式与资源利用率之间的矛盾伴随CPU速度提高、系统规模的扩大而日趋严重CPU与I/O设备间矛盾CPU速度迅速提高而I/O设备速度提高缓慢缓和途径通道技术、中断技术、缓冲技术脱机输入输出技术专门的操作员及批处理技术2/4/202374北京交通大学计算机学院翟高寿脱机输入输出技术输入设备外围机Input磁带主机(处理机/内存)Output磁带外围机Output磁带输出设备Input磁带2/4/202375北京交通大学计算机学院翟高寿1.5操作系统的发展1.5.1推动操作系统发展的主要动力1.5.2无操作系统时的计算机系统1.5.3单道批处理系统1.5.4多道批处理系统1.5.5分时系统1.5.6实时系统1.5.7操作系统的进一步发展2/4/202376北京交通大学计算机学院翟高寿单道批处理系统为解决人机矛盾和CPU与I/O设备速率不匹配的矛盾而形成,也即其旨在提高系统资源的利用率和系统吞吐量把一批作业以脱机输入方式输入到磁带上,并在系统所配置的监督程序的控制下使这批作业能一个接一个地自动依次连续处理。系统对作业的处理成批进行,但在内存中始终之保存着一道作业2/4/202377北京交通大学计算机学院翟高寿单道批处理系统的处理流程还有作业?把下一道作业的源程序转换为目标程序源程序有错?装配目标程序运行目标程序开始停止是是否否2/4/202378北京交通大学计算机学院翟高寿单道批处理系统的特征自动性磁带上的一批作业能自动地逐个依次执行,而无需人工干预顺序性磁带上的各道作业是顺序地进入内存,各道作业完成地顺序与它们进入内存的顺序完全一致单道性监督程序每次仅从磁带上调入一道程序进入内存运行,仅当该程序完成或发生异常情况时,才调入其后继程序进入内存运行2/4/202379北京交通大学计算机学院翟高寿1.5操作系统的发展1.5.1推动操作系统发展的主要动力1.5.2无操作系统时的计算机系统1.5.3单道批处理系统1.5.4多道批处理系统1.5.5分时系统1.5.6实时系统1.5.7操作系统的进一步发展2/4/202380北京交通大学计算机学院翟高寿多道程序设计基本概念单道批处理系统缺陷系统资源空闲问题多道程序设计技术作业后备队列/作业调度算法/系统资源共享包括CPU、内存和I/O设备在内的系统资源利用率的提高系统吞吐量增加2/4/202381北京交通大学计算机学院翟高寿多道程序运行情况
2/4/202382北京交通大学计算机学院翟高寿多道批处理系统作业处理过程2/4/202383北京交通大学计算机学院翟高寿多道批处理系统特征多道性内存中同时驻留多道程序,并允许并发执行无序性多个作业完成的先后次序与它们进入内存的顺序之间,并无严格的对应关系调度性作业调度进程调度2/4/202384北京交通大学计算机学院翟高寿多道批处理系统优缺点优点系统资源利用率高系统吞吐量大缺点:作业平均周转时间长,特别对短作业不公平无交互能力,不利于程序调试和修改2/4/202385北京交通大学计算机学院翟高寿多道批处理系统需求分析处理机管理问题多道程序之间应如何分配被它们共享的处理机,使正确运行且提高处理机利用率;分配与回收内存管理问题内存分配与保护I/O设备管理问题设备共享、分配及利用率提高文件管理问题文件组织方便用户使用、数据安全性及一致性保证作业管理问题作业调度及系统工作流程组织2/4/202386北京交通大学计算机学院翟高寿1.5操作系统的发展1.5.1推动操作系统发展的主要动力1.5.2无操作系统时的计算机系统1.5.3单道批处理系统1.5.4多道批处理系统1.5.5分时系统1.5.6实时系统1.5.7操作系统的进一步发展2/4/202387北京交通大学计算机学院翟高寿分时系统的产生人机交互程序修改与调试、直接控制共享主机19世纪60年代计算机十分昂贵便于用户上机通过自己终端直接将作业传送到机器上进行处理,并能对自己的作业进行控制分时系统概念一台主机、多个终端、多用户同时以交互方式使用计算机2/4/202388北京交通大学计算机学院翟高寿分时系统实现中的关键问题及时接收用户输入命令和数据配置多路卡及设置多路缓冲区及时处理使所有用户作业都直接进入内存在不长的时间内就能使每个作业都运行一次2/4/202389北京交通大学计算机学院翟高寿分时系统的实现方法作业应直接进入内存这与批处理系统用户作业先进入磁盘然后在调入内存不同时间片轮转策略时间片实现方式单道分时系统具有前台和后台的分时系统多道分时系统2/4/202390北京交通大学计算机学院翟高寿分时系统的特征多路性宏观上多个用户同时工作和共享系统资源微观上每个用户作业轮流运行一个时间片独立性各用户在各自终端上独立操作,互不干扰及时性响应时间交互性用户可通过终端与系统进行广泛的人机对话2/4/202391北京交通大学计算机学院翟高寿1.5操作系统的发展1.5.1推动操作系统发展的主要动力1.5.2无操作系统时的计算机系统1.5.3单道批处理系统1.5.4多道批处理系统1.5.5分时系统1.5.6实时系统1.5.7操作系统的进一步发展2/4/202392北京交通大学计算机学院翟高寿实时系统实时系统的引入实时控制系统实时信息处理系统实时系统的概念指系统能及时或即时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行实时任务的类型按任务执行是否呈现周期性来划分根据对截止时间的要求来划分2/4/202393北京交通大学计算机学院翟高寿实时系统与分时系统的比较多路性独立性及时性交互性系统高度可靠2/4/202394北京交通大学计算机学院翟高寿1.5操作系统的发展1.5.1推动操作系统发展的主要动力1.5.2无操作系统时的计算机系统1.5.3单道批处理系统1.5.4多道批处理系统1.5.5分时系统1.5.6实时系统1.5.7操作系统的进一步发展2/4/202395北京交通大学计算机学院翟高寿操作系统的进一步发展通用操作系统微机操作系统多处理机操作系统网络操作系统&分布式操作系统集群操作系统嵌入式操作系统&智能卡操作系统2/4/202396北京交通大学计算机学院翟高寿1.5操作系统的发展1.5.1推动操作系统发展的主要动力1.5.2无操作系统时的计算机系统1.5.3单道批处理系统1.5.4多道批处理系统1.5.5分时系统1.5.6实时系统1.5.7操作系统的进一步发展2/4/202397北京交通大学计算机学院翟高寿作业题1.4试从多个角度来阐述单道/多道批处理系统与分时系统及实时系统的区别。2/4/202398北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制
1.5操作系统的发展1.6
操作系统的功能与特征1.7操作系统的结构设计2/4/202399北京交通大学计算机学院翟高寿1.6操作系统的功能与特征1.6.1处理机管理功能1.6.2存储器管理功能1.6.3设备管理功能1.6.4文件管理功能1.6.5操作系统的特征2/4/2023100北京交通大学计算机学院翟高寿处理机调度作业调度作业后备队列作业选择与资源分配调入内存与建立进程进程调度就绪进程队列进程选择与处理机分配设置运行现场与启动运行调度算法先来先服务/优先权高者优先调度算法2/4/2023101北京交通大学计算机学院翟高寿进程控制主要任务创建进程撤销进程进程状态转换进程控制机制原语进程&线程2/4/2023102北京交通大学计算机学院翟高寿进程同步主要任务进程/线程并发执行协调互斥/同步方式临界资源&临界区进程同步机制开/关锁原语信号量机制管程2/4/2023103北京交通大学计算机学院翟高寿进程通信主要任务进程(或线程)间信息交换进程通信方式共享存储器管道方式消息传递系统消息缓冲队列邮箱2/4/2023104北京交通大学计算机学院翟高寿1.6操作系统的功能与特征1.6.1处理机管理功能1.6.2存储器管理功能1.6.3设备管理功能1.6.4文件管理功能1.6.5操作系统的特征2/4/2023105北京交通大学计算机学院翟高寿内存分配主要任务使程序各得其所提高存储器利用率适应程序和数据动态增长的需要内存分配机制内存分配用数据结构内存分配连续/离散分配方式静态/动态分配方式内存回收2/4/2023106北京交通大学计算机学院翟高寿内存保护主要任务确保程序间互不干扰存取访问控制内存保护机制越界检查硬件实现保护方式上下限界限寄存器页号<页表长度段号<段表长度&&段内地址<段长2/4/2023107北京交通大学计算机学院翟高寿地址映射主要任务逻辑地址转换为物理地址基本概念地址空间&内存空间逻辑/相对/有效地址物理/绝对地址地址映射机制硬件实现重定位寄存器、页表/段表、快表2/4/2023108北京交通大学计算机学院翟高寿内存扩充主要任务从逻辑上扩充内存容量内存扩充可行性程序运行局部性原理离散分配方式内存扩充机制虚拟存储技术硬件(页/段表、缺页/段中断、地址变换)软件(请求调入功能/置换功能)2/4/2023109北京交通大学计算机学院翟高寿1.6操作系统的功能与特征1.6.1处理机管理功能1.6.2存储器管理功能1.6.3设备管理功能1.6.4文件管理功能1.6.5操作系统的特征2/4/2023110北京交通大学计算机学院翟高寿设备分配主要任务设备及相应设备控制器和通道的分配设备分配机制设备分配用数据结构设备类型与设备分配方式相对应设备分配与回收算法设备独立性虚拟设备2/4/2023111北京交通大学计算机学院翟高寿缓冲管理主要任务管理各种类型的缓冲区缓和CPU和I/O设备速度不匹配矛盾提高资源利用率和系统吞吐量缓冲管理机制单/双/多缓冲类型字符缓冲与盘块缓冲公用缓冲池机制2/4/2023112北京交通大学计算机学院翟高寿设备处理主要任务实现CPU和设备控制器间通信设备处理过程I/O请求提出I/O请求合法性检查了解设备状态传递相关参数并设置设备工作方式通道程序自动构成发出I/O指令和启动I/O设备及时响应中断请求2/4/2023113北京交通大学计算机学院翟高寿1.6操作系统的功能与特征1.6.1处理机管理功能1.6.2存储器管理功能1.6.3设备管理功能1.6.4文件管理功能1.6.5操作系统的特征2/4/2023114北京交通大学计算机学院翟高寿文件存储空间管理主要任务使每个文件各得其所提高外存空间利用率提高外存访问速度文件存储空间管理机制存储空间管理用数据结构存储空间分配与回收功能连续/离散分配方式以盘块/簇为基本分配单位2/4/2023115北京交通大学计算机学院翟高寿目录管理主要任务实现文件的按名存取提高文件查找速度支持文件重名、共享与保护目录管理机制文件控制块与索引结点目录结构目录检索手段2/4/2023116北京交通大学计算机学院翟高寿文件的读写管理和存取控制文件的读写管理从外存中读取数据或将数据写入外存目录检索->外存地址->读写指针->读写操作文件描述符表和文件表文件的存取控制防止未经核准的用户存取文件防止冒名顶替存取文件防止以不正确的方式使用文件系统级/用户级/文件级存取控制2/4/2023117北京交通大学计算机学院翟高寿1.6操作系统的功能与特征1.6.1处理机管理功能1.6.2存储器管理功能1.6.3设备管理功能1.6.4文件管理功能1.6.5操作系统的特征2/4/2023118北京交通大学计算机学院翟高寿操作系统的特征并发并行与并发、程序与进程/线程共享互斥共享方式、同时访问方式虚拟虚拟处理机、虚拟内存、虚拟盘、虚拟设备异步性进程执行顺序与执行时间的不确定性可重入码2/4/2023119北京交通大学计算机学院翟高寿异步性举例说明
2/4/2023120北京交通大学计算机学院翟高寿作业题1.5谈谈你对操作系统应当具备的资源管理功能的认识与理解。为保证资源的有效管理与控制,操作系统于是体现出哪些特征?2/4/2023121北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制
1.5操作系统的发展1.6
操作系统的功能与特征1.7操作系统的结构设计2/4/2023122北京交通大学计算机学院翟高寿1.7操作系统的结构1.7.1操作系统的设计原则1.7.2无结构操作系统1.7.3模块化操作系统结构1.7.4分层式操作系统结构1.7.5微内核操作系统结构2/4/2023123北京交通大学计算机学院翟高寿操作系统的设计原则可维护性纠错性/适应性/完善性/预防性维护可靠性正确性/健壮性可理解性可用性性能系统资源利用率及用户请求响应2/4/2023124北京交通大学计算机学院翟高寿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论