计算机操作系统.ppt_第1页
计算机操作系统.ppt_第2页
计算机操作系统.ppt_第3页
计算机操作系统.ppt_第4页
计算机操作系统.ppt_第5页
已阅读5页,还剩407页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机操作系统,第一章 绪论,分时、实时及批处理三种系统中每种系统的特点和适用范围。 OS的功能、定义、目的、类型和基本特征。 时间片、多道程序设计、吞吐量、并发及并行的概念。,本章重点:,分时、实时、批处理三种系统的实现、分布式OS的实现。,本章难点:,操作系统(Operating System )概念 OS的历史 OS的基本类型 OS的功能 OS的基本特征 计算机硬件简介 OS的初启和生成 算法的描述 研究OS的几种观点 OS与硬件、软件、用户之间的关系 小结,1.1 操作系统(Operating System )概念,一、系统资源:硬件+软件 系统资源:让计算机工作所需要的所有东西。,系

2、统资源,硬件资源:,软件资源,CPU,内存,I/O 设备,系统软件:,应用软件:,OS和其他系统管理软件,word, 电子表格,浏览器等。,结论1:,OS是系统软件。,二、计算机系统的层次结构,OS的位置,对内:所有硬件都包含在其内部,OS把所 有硬件管理起来,对硬件进行全面控制, 全面管理。,对外:所有软件的运行都建立在OS之上的。,结论2:OS管理计算机系统资源,方便用户,三、OS的定义,OS 是计算机系统中的一种系统软件,它用于管理计算机系统的软、硬件资源,控制程序的运行,并为用户使用计算机提供方便的接口。,OS的角色:,管理员,指挥员,接待员,四、OS的目的:, 提高系统资源的利用率:

3、使计算机系统资源更好、更充分地被用户利用。, 高效:提高系统的效率, 方便用户:使用户更方便地使用计算机。, 可扩展:系统功能和结构的扩展不影响原有功能的使用。, 开放:不同的计算机及设备能集成起来并有效、正确地被使用,实现应用程序的可移植性和互操作性。,五、为什么要学习操作系统?,设计和改写操作系统,更好地选择和使用操作系统,掌握系统软件设计方法和并发程序设计方法,1.2 操作系统的历史,推动操作系统发展的三个因素,计算机硬件升级以及新的硬件类型的发展,用户需求扩大,OS提供的新服务,市场的激烈竞争,OS功能的完善(修补、汉化),OS的演变,1946-20世纪50年代末:第一代,电子管时代,

4、计算机技术的演变,20世纪50年代末- 20世纪60年代中期,第二代,晶体管时代 20世纪60年代中期- 20世纪70年代末,第三代,集成电路时代,20世纪70年代末期- 20世纪末,第四代,大规模集超大规模集成电路时代,早期手工阶段 4650年代初 (无操作系统),操作系统的演变,单道批处理 58年前后,多道程序系统 65年前后,分时OS 66年前后,实时OS 68年前后,单用户OS,网络OS 70年代,分布式OS(多机OS)、嵌入式OS、智能OS 90年代,1.2.1 手工操作阶段,计算机运行在一个集成了指示器、开关、 输入设备(读卡机)、打印机的控制台上。,特点:,人机串行,资源独占,1

5、.2.2 早期批处理,引入:为解决人-机速度不匹配,实现:通过应用一种称为监控器的软件,使用户不必直接接触机器,而是先通过卡片机和纸带机向计算机控制器提交作业,由监控器将作业组织在一起构成一批作业,然后将整批作业放入由监控器管理的输入设备上,每当一个作业执行完毕返回监控器时,监控器自动装入下一个作业。,启动,读入第一个命令,解释读入命令并执行,读入下一个命令,监控器,1.联机批处理,作业的执行过程:,(1)作业被做成穿孔纸带或卡片 (2)用户提交作业:程序+数据+作业操作说明书 (3)操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或者读卡机)把他们存入磁带 (4)监督程序读入一个作

6、业 (5)从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码 (6)连接装配程序把编译后的目标码及所需的子程序装配成一个可执行程序 (7)启动执行 (8)执行完毕,善后处理程序输出计算结果 (9)读入下一个作业重复,重复(5)-(9) (10)一批作业完成,返回(3),处理下一批,单:任何时刻机器中处理的作业只有一道。 批:磁带上总是有一批作业等待处理。,2.脱机批处理,卡片机,打印机,卫星机,主机,日志,输入带,输出带,执行带,系统带,作业周转时间:一道作业从提交到运行完成所需要的时间。,1.2.3 多道程序系统,引入:为提高各种资源的利用率,解决I/O设备与CPU的速度差异,提高

7、CPU与外部设备的利用率,计算,启动I/O,I/O,I/O完成,继续计算,单道批处理示意图,有什么问题?,实现:内存放两道以上的程序,CPU交替执行各程序。,程序B,CPU,输入 设备,输出 设备,输 入 结 束,请 求 打 印,CPU空,请 求 输 入,等待CPU,CPU 输入设备 CPU 其他I/O,程序A 程序B CPU 输入设备 等待CPU CPU,程序A 运行流程:20 40 30 20 程序B运行流程:30 20 30,程序A,程序B,程序A,在单道情况下完成程序A和程序B需要时间:20+40+30+20+30+20+30=190 CPU利用率:110/190X100%=58%,在

8、多道情况下完成程序A和程序B需要时间:20+40+30 +30=120 CPU利用率:110/120X100%=92%,特点: 多道:计算机内存中同时放几道互相独立的程序。 宏观上并行:同时进入系统中的几道程序 都处于运行状态,即:都开始运行且没运行完成。 微观上串行:各到程序轮流使用CPU。,实质是“宏观上并行,微观上串行。”,吞吐量:在单位时间内计算机系统完成的作业的道数。,多道程序设计:将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。,多道批处理:采用多道程序设计技术实现的批处理系统。,多道程序系统的出现标志着在操作系统渐趋成熟的阶段先后出现

9、了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能,1.2.4 分时操作系统,引入:批处理系统采用人脱机的方式工作,但有时不方便,不能满足所有的需要。 实现:一台主机外接多个终端,每个用户占一台终端(CRT+键盘,是一种只有I/O而没有CPU的设备),CPU采用把时间分片的方法轮流为每个终端用户服务(即时间片轮转的方法),保证每个用户的响应时间。,时间片:CPU的时间段,时间片的大小由操作系统决定,可以是固定时间片(每个时间段长度一般为0.2s),也可以是可变时间片。 时间片一定,用户数与响应时间成反比。,分时技术:把处理机的运行时间分成很小的时间片,按时间片轮流把处理机

10、分给各联机作业使用,若某个作业在给定的时间片内不能完成,该作业暂时中断,处理机让给其它作业,等下一轮时间继续运行。,1.2.5 实时操作系统,引入:60年代中期,计算机发展进入第三代,使机器性能得到了显著的提高,应用范围迅速扩大,从传统的科学计算扩展到商业数据处理以及各行各业,如工厂的生产控制、医疗诊断、教学以及飞机订票等,尤其是它应用于高科技,如:控制导弹发射,需要根据目标及时调整方向,各种参数需要随时改变,这时分时和批处理都解决不了,就引入实时系统。即:为满足自控等方面的需求而引入实时系统,主要解决那些需要在规定时间内处理完的问题。,发展:在嵌入式计算方面得到发展,特别是移动计算等非PC机

11、、PDA和手机等。,思考:上网查找目前有哪些常见的手机操作系统?每种系统的特点及市场占用情况。,1.2.6 通用操作系统,引入:批处理系统的不断发展,分时系统的不断改进,实时系统的出现及应用范围的日益广泛,致使操作系统日益完善,出现了通用操作系统。,通用操作系统:同时兼有多道批处理,分时,实时三种系统的功能或具有其中两种系统的功能。,例: OS/400和MVS:分、批,其中CPU的分配取分时,作业分为两种,前台(终端),采用分时,后台(批处理作业) 前台时间片小,后台时间片大。 UNIX:通用,分时,多用户操作系统。,1.2.7 操作系统的进一步发展,PC机操作系统: 网络操作系统 分布式操作

12、系统 智能化操作系统 嵌入式操作系统,课外作业:上网查找上述每种操作系统的实例,1.3 操作系统的基本类型,按用户个数 单用户 多用户,按任务数分 单任务 多任务,按CPU个数 单CPU 多CPU,按使用环境及对作业的处理方式 批处理操作系统 分时操作系统 实时操作系统 个人计算机操作系统 网络操作系统 分布式操作系统,1.3.1 批处理操作系统,类型:早期大型机操作系统,特点: 脱机 成批 多道 高效 作业周转时间长 需要的硬件支持:20世纪60年代初期发展起来的通道和中断技术。,多道程序系统与多重处理的区别:多重处理系统配置多个CPU,是真正的多道;多道程序设计不一定是多重处理,多重处理一

13、定是多道,适用范围:大量的科学计算,大量的数据处理(大作业),1.3.2 分时系统,工作原理:采用时间片轮转的方式使一台计算机为多个终端用户服务,保证每个用户有足够快的响应时间,特点: 交互性 多用户同时性 独立性,分时系统是一个联机的、多用户的、交互的操作系统。 UNIX是典型的分时系统。,适用范围:开发、调试、测试软件性能,小作业。,实现:解决问题的关键在于系统的正确性不仅依赖于计算的逻辑结果而且依赖于结果产生的时间。 处理问题的程序常驻内存。 由事件激发程序的执行。 CPU要根据事件的轻重缓急进行时间分配。 需要有时钟管理模块,在线的人机对话,过载保护等保证系统绝对可靠。(高度可靠性和安

14、全性需采用冗余措施,硬件上双机热备份) 特点:实时性,可靠性,安全性,专用性。 适用范围: 实时控制:导弹发射,飞机飞行,钢水温度,发电。 实时信息处理:情报检索,银行帐目往来,飞机订票。,1.3.3 实时系统,分时,批处理,实时的比较:,交互性,效率,可靠性,较高,较强,特点:同时具有批处理、分时、实时三种操作系统中两种或两种以上操作系统的功能,1.3.4 通用操作系统,1.3. 机操作系统,引入:微机便宜,对环境要求低,没有必要多个人使用一台计算机 实现:每个用户独立联机使用一台计算机。资源独占。 特点: 用户界面好 文件管理功能强 资源管理简单 安全性差(用户上机时没有用户识别),病毒泛

15、滥,1.3. 网络操作系统,引入:通信和资源共享的要求引入计算机网络,相应产生网络操作系统。 实现:在单机操作系统的基础上开发,按照网络体系结构的各个协议标准开发,具有网络管理、通信、资源共享、系统安全等功能。如NETWARE 两个以上带有自己的OS的计算机通过通信设施连接起来。 有各方认定的标准通信规则(协议)。 在单机操作系统的基础上建立一个网络操作系统负责对网络资源和网络通信进行控制和管理,并为网络提供统一的接口。,特点: 自治性:有自己的CPU,自己的内存,自己的OS 互连性 分布性:位置分布,功能分布,处理的任务分布 统一性:整个网络对用户是统一的接口是一致的 功能: NOS控制网络

16、通信 管理网络资源 提供多种网络服务 提供网络接口。 网络服务有:文件服务,打印服务,新闻服务,数据库服务。,1.3. 分布式操作系统,引入:除了共享和资源共亨外,还要进行任务的协作处理,(系统中多台机器同时做一件事) 分布式OS的要求比NOS高得多。 实现: 两台以上计算机通过通信设施连接起来。 要内部的通信规则(没有统一的标准),各机器没有主次之分。 整个系统有一个统一的操作系统,对系统中的所有资源进行管理,调度,对系统当中所有任务进行协调,并为用户提供接口。,特点: 自治性(比网络差):每台机器有自己的CPU,内存,无操作系统。 分布性(比网络差):分布在一个楼内或一个办公室内。 模块性

17、:机器的机型相同(只有同构才能实现任务转移) 并行性 功能:进行任务的协作处理,NOS与DOS比较:,侧重点,1.OS的功能,粗分: 管理资源 控制流程 提供接口,细分 处理机管理:处理机的分配和调度 存储管理:内存分配,存储保护,内存扩充 设备管理:设备,通道,控制器的分配和回收,设备独立性 文件管理:信息共享和保护,外存空间的管理 用户接口:包括程序一级的接口(系统调用)和作业一级的接口(作业管理,负责作业调度),1.5 OS的基本特征,并发 并发:两个或多个事件在同一时间间隔内发生管理资源 并行:两个或多个事件在同一时刻发生 共享 指系统中的软、硬件资源不再为某个程序所独占,而是供多个用

18、户共同使用。,并发和共享是操作系统的两个基本特征,二者互为存在条件,一方面资源共享是以程序的并发执行为条件的,若系统不允许程序的并发执行,自然不存在共享问题;另一方面,若系统不能对资源共享实施有效管理,必将影响到程序的并发执行,甚至根本无法执行。,处理器,I/O控制器,1.6 计算机硬件介绍,1.6.1 计算机的基本硬件元素,PC,IR,MAR,MBR,I/OAR,I/OBR,I/O 控制器,缓冲,外部 设备,总线,处理器:控制和执行计算机的指令操作,包括单处理器和双处理器。 存储器:存储数据和程序,分为内存和外存、缓存(buffer)和高速缓存(cache) 输入输出控制与总线:控制和暂存外

19、部设备和计算机内存之间交换的数据和程序。 外部设备:获取和输出数据和程序的基本单位,包括数字设备和模拟设备。设备通过总线互相连接,1.6.2 与操作系统相关的几种主要的寄存器 寄存器与操作系统密切相关,因为他们是在处理机中交换数据的速度比内存快、体积小、价格贵的暂存器件。 数据寄存器:理论上对数据进行操作的任何机器指令都被允许访问数据寄存器。根据硬件设置的规定,这些寄存器也可能只被允许进行浮点运算或被其他某些规定所限制 地址寄存器:一般用来存放内存中某个数据或指令的地址或者存放某段数据或者指令的入口地址,例如: 地址标识位寄存器 内存管理用各种始地址寄存器 堆栈指针 设备地址寄存器,条件码寄存

20、器:称为标志寄存器 程序计数器:下一周期被执行指令的地址。 指令寄存器:待执行的指令 程序状态字PSW:各位代表系统中当前的各种不同状态与信息,例如是否允许中断等 中断现场保护寄存器:保存被中断程序的现场信息以及链接中断恢复处。 过程调用用堆栈:保存过程调用时的调用名、调用参数、返回地址,1.6.3 存储器的访问速度 一、存储器的种类: 可移动存储介质 光盘 磁盘 磁带 硬盘 磁盘缓存内存(disk cache) 高速缓存 寄存器,二、存储器的速度 容量越大,访问速度越慢,单位存储的成本越低,寄存器,高速缓存,内存,硬盘缓存,硬盘,光盘、磁盘,访问速度,大小,除了寄存器和存储介质之外,中断机构

21、、I/O控制(通道和DMA器件)也与OS设计相关,1.6.4 命令的执行和中断 一、指令的执行 执行指令的过程:处理机把指令从内存读入指令寄存器和执行指令。指令的读入是根据指令计数器PC所指地址读入,执行的是指令寄存器IR中的指令。 指令周期:指令的读入和指令的执行,开始,读入下 一条指令,执行当 前指令,结束,指令执行的类型 处理机与内存之间的数据交换 处理机与外部设备之间的数据交换 数据处理:算逻运算 对其他指令的控制过程,二、指令的中断 中断:外部设备或计算机内部发生来了亟待处理的数据或其他紧急事件处理信号,处理机暂停正在执行的程序,转去处理相应的紧急事件,待处理完毕后再返回原处继续执行

22、。 指令周期:指令的读入和指令的执行,中断,指令i,指令i+1,中断处理程序,开始,读入下 一条指令,执行当 前指令,结束,允许 中断吗?,N,检查 中断位,读入中断 处理指令,Y,具有中断处理的指令执行过程,一、初启(BOOT) 将OS从外存内存,并对其进行初始化,这段过程叫初启。只有经过初启,系统才能正常工作。 初启的过程: 系统一加电就到ROM中找自检程序 自检完成后,执行装入程序(在ROM中)将外存上固定位置上的一段程序(引导区中的程序)装入内存后,将控制权交给引导程序 引导程序将OS装入内存中固定区域,初始化寄存器、终端设备、数据结构等,控制权交给OS。,1.7 操作系统的初启和生成

23、,二、生成 根据实际硬件配置和用户需求进行优化组合生成一个更实用的OS,由于OS功能非常全面,致使OS非常庞大,若对OS重新组装,则系统中提供一个实用程序生成system,执行该程序时,提问硬件数,用户数,内存等需求,由您的需求生成一个更实用的OS 每次启动时,系统会提问使用哪一个OS。DOS通过config.sys来对OS进行优化组合,1.8 算法的描述,算法的开头和结束 Begin End “条件”不满足时重复执行所描述的操作 Repeat 操作 Until 条件 “条件”满足时重复执行所描述的操作 While 条件 Do 操作 OD 如果满足条件执行相关操作,否则执行另一种操作 If 条

24、件 Then 操作 Else 操作 fi,Repeat IRMPC; PC PC+1; ExecuteIR; Until CPU halt;,P1.n为1到n的整数置换,i=1,2,3,4,5,6,7; Pi=4,7,3,2,1,5,6 描述pi的循环置换算法 Begin local x,k; k1; while k=7 do x k; repeat print(x); x px untilx=k; k k+1; od End,1.9研究OS的几种观点,资源管理观点(静态):OS是用来控制和管理计算机系统资源,包括处理机管理、设备管理、文件管理、存储管理等。对每种资源的管理包括资源情况记录、资

25、源的分配和回收等 用户界面观点(静态):OS是为方便用户使用计算机。用户界面是至关重要的(从用户的观点来看) 进程管理观点(动态):程序并发执行。OS管理进程。 虚拟机观点:裸机有自己的指令系统,裸机只会做+,-运算,在编程时,通过+,-运算实现*,/功能,用户感到机器会*,/运算,实际是OS来虚拟*,/的功能。OS将多道程序放入内存,给用户的感觉是自己的程序分到了一个CPU,所以OS把一个CPU虚拟成多个CPU。OS把一个RAM虚拟成多个RAM。,1.10 OS与硬件、软件、用户之间的关系,一、OS与硬件,OS,硬件:,OS对硬件全面控制,全面管理。,硬件,OS:,硬件为OS提供物质基础,提

26、供 基本支持。,特权指令:OS要求硬件必须为其提供特殊的指令,这些指令是涉及到系统安全性的指令。硬件一出厂有一个指令系统,其中有一小部分为OS提供的特权。 处理机状态位(管态,核心态)(目态,用户态):用来标识当前CPU的状态。通过CPU状态来确定当前用户是谁,从而检查指令是否合法,若管态则什么指令都可以,若目态则不能执行特权指令(根据状态位来检查指令的合法性) 中断机构:当程序中任何时刻需要OS时通过硬件向OS发一个中断。 通道或类似的部件(DMA等):把CPU从繁忙的中断中解放出来。它们主要用来处理外设的I/O操作。 存储保护机构(包括地址变换机构将虚地址转换成实地址):由硬件来实现,最主

27、要的支持有:,二、OS与软件,OS,软件:,OS为其他软件的运行提供环境。,软件,OS:,其他软件扩充了OS的功能。,三、OS与用户,OS,用户:,OS为用户提供接口。,接口类型,命令级:,程序级:,在系统状态下提供的,包括: 键盘命令,GUI,JCL,系统调用,用户编程时需要用到OS的功能, 通过系统调用来调用OS,111 小结,1.OS的定义 2.OS的目的 3.OS的发展历程 4.OS的基本类型(批处理、分时、实时、PC、网络、分布式) 5.OS的功能 6.OS的基本特征 7.计算机硬件结构 8.算法的描述 9. OS的初启与生成 10. OS需要硬件提供的几种支持 操作系统,时间片,多

28、道程序设计,并发,并行,吞吐量 练习,第一章作业,A p21(1.5) B p21(1. 1) 补充:按照不同的分类标准分别将DOS、windows和UNIX划入所属类别中。 C 补充: 1.OS的基本特征 2.引入“前台”和”后台”作业的OS是什么OS?引入的目的是什么?什么是“前台”作业,什么是“后台”作业。 D p21(1. 4) 补充:分时OS和实时OS的特点分别是什么? E p21(1. 3) 补充:采用多道程序设计的目的是什么?,第二章 操作系统用户界面,1. 熟练掌握作业的状态转换图,批处理作业和终端作业的区别 2掌握批处理作业的流程图及批处理作业有哪几种状态、批处理作业的JCB

29、的作用 3掌握批处理作业的组织、操作系统为用户提供的接口的类型及何时采用何种接口。,本章重点:,简介 一般用户的输入输出界面 命令控制界面接口 作业流程 Linux与Windows的命令控制界面 系统调用 Linux操作系统简介 Linux操作系统的基本命令 Linux操作系统的程序设计命令 小结,2.1 简介,用户界面:负责用户和操作系统之间的交互。即用户通过用户界面向计算机系统提交服务请求;计算机通过用户界面向用户提供所需要的服务。,用户: 使用和管理计算机系统的用户 普通用户:使用计算机的应用服务,以解决实际的应用问题,例如事务处理、过程控制等。 管理员用户:负责计算机和操作系统的正常和

30、安全运行 程序开发人员:使用操作系统提供的编程功能开发新的应用程序,操作系统为不同用户提供不同的用户界面。 普通用户、管理员用户:操作命令 程序员:系统调用,不同操作系统为用户提供的命令集合不同(copy,cp)、表现形式不同(字符、图形),2.2 一般用户的输入输出界面,2.2.1 作业的定义,用户上机的步骤:,编辑,编译,链接,运行 (开始进入批处理管理),库目标代码,目标程序,源程序,可执行程序,多次重复,作业的定义(一)(用户):,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。 作业是由不同的顺序相连的作业步组成。,作业步:在一个作业的处理过程中相对独立的工作。 每一个作

31、业步产生下一个作业步的输入。,作业的定义(二)(系统),作业,=,程序,+,数据,+,作业说明书,+,作业控制块(JCB),批处理系统中,作业是抢占内存的基本单位,也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。,终端作业(交互式作业) 批处理作业(脱机工作),2.2.2 作业的分类,终端作业(联机作业控制):这种方式是为终端用户提供的,这种方式中OS提供了键盘命令,用户使用这些命令自选控制。 批处理作业(脱机作业控制):系统提供作业控制语言JCL,用户用JCL将作业说明书写出来。OS根据用户的作业说明书,对作业进行控制,2.2.3 作业的控制 一、作业控制方式,1. 脱机作业控

32、制:作业的自动控制:用户把 源程序+数据+控制意向交上去由系统控制作业的运行。,2. 联机作业控制:作业的直接控制。,即采用人,机会话的方式来控制作业的运行。,JCB包含的信息:作业名、作业的估计执行时间、优先数、作业建立时间、作业说明书文件名、程序语言类型、内存要求、外设要求、作业状态、作业在外存中的存储地址。 JCB的建立就是申请一个空白的JCB表,填入相应信息,如果没有空白的JCB表,则作业创建失败。,二、作业控制块的建立,2.2.4 作业的组织,批处理作业 :程序 、数据、作业说明书:以文件的形式写出,作业的操作说明书包括:,作业基本情况描述:用户名、作业名、使用的语言名、允许的最大处

33、理时间等 作业控制描述:控制方式、操作顺序、出错处理等 作业资源要求描述:要求处理时间、内存空间、外设类型和数量、处理机优先级、库函数或实用程序等,联机输入方式:在交互式系统中,用户和系统通过交互会话来输入作业,外围设备直接与主机相连。 特点:一台主机可以连接一台或多台外设,这些设备可以是键盘、鼠标、显示器、光电笔、打印机等。 脱机输入方式:又称为预输入方式。为了解决单台设备造成CPU资源浪费的问题而引入的,利用低档个人计算机作为外围设备进行输入处理,将作业输入到后援存储器上,将装有输入作业的后援存储器连接到主机的高速外围设备上与主机相连。 特点:以牺牲低档机为代价,需要用户干预,灵活性差(遇

34、到紧急任务时无法直接拿到主机上)。,2.2.5 一般用户的输入输出方式,有五种方式:,直接耦合方式:把主机和多台外围低档机通过公用的大容量外存直接耦合起来。 特点:成本高(大容量存储器、低档微机),既保留了脱机输入方式快速的特点,又避免了脱机方式下人工干预的缺点。 SPOOLONG系统:多台外围设备通过通道或DMA和主机与外存连接起来。作业的输入输出由主机中的操作系统控制 网络输入方式:以以上几种输入方式为基础,通过网络把一台主机上的信息输入到另一台主机上。,主机,公用存储器,低档PC机,低档PC机,通道,输出装置,主机系统,输出装置,通 道,通 道,输出装置,输出装置,外存 输入井 输出井,

35、输入管理 输出系统 模块 模块,2.3 命令控制界面,用户接口:计算机系统与其用户之间进行交互作用 的通路。,用户接口分,命令接口,程序接口,联机用户接口,脱机用户接口,内部命令,外部命令,:由一组系统调用来完成。,作业语句JOB(作业)。内容:账号、作业类别、时间限制、存储空间要求、优先级、注释 执行语句(EXEC) DO(数据定义语句):定义数据文件 说明语句;/COMMENTS 分隔语句;/COMMENTS EOJ作业结束语句。,批处理用户使用JCL (Job Control Language),环境设置命令:改变用户的位置、执行路径 执行权限命令:改变用户的访问权限 系统管理命令:增加

36、、减少用户;开机、关机、计时收费 文件管理命令:管理和控制终端用户的文件 编辑、编译、链接和执行命令 通信命令:主机与远程终端之间的呼叫、连接、中断 资源要求命令:申请资源,联机用户使用键盘操作命令,命令语句种类,2.4 作业流程,一、终端作业,系统管理员建立用户说明文件PROFILE,注销,注册,login,执行,logout,调键盘命令 解释程序,二、批处理作业,submit,输入 设备,输出 设备,键盘,作业调 度程序,作业 终止 程序,输出 程序,OS中输入程序 作业注册程序,后备状态,运行状态,完成状态,R,2.5Linux与Windows的命令控制界面,一、Linux的命令控制界面

37、,键盘命令 X Window Shell程序,安装Linux操作系统,自己学会使用单机版linux,可以使用图形用户界面。分区的文件格式是Ext2 参见: ,(1)系统维护及管理:date,setenv (2)文件操作及管理命令:ls,find (3)进程管理命令:kill (4)磁盘及设备管理:mount,df,du (5)用户管理命令:adduser,userdel (6)文档操作命令:sort (7)网络通信命令:ifconfig,netstat (8)程序开发命令:cc,link (9)X Window管理命令:startx等 用户命令通

38、常放在/usr/sbin, /usr/bin,/sbin,/bin下,主要包括9类命令,Shell命令,二、Windows的命令控制界面,键盘命令 GUI,安装Windows操作系统,自己学会使用windows,可以使用图形用户界面,尝试使用字符界面。分区的文件格式是FAT32或者NTFS 参见:HTTP:/WWW.MICROSOFT.COM,(1)系统信息命令:date,SystemInfo (2)系统操作命令:shutdown,taskkill (3)文件系统命令:copy,del,mkdir (4)网络通信命令:ping,netstat,主要包括4类命令,批处理文件,2.6系统调用,系统

39、调用是属于程序接口的范畴,程序接口的职责是: 装入并创建一个准备开始运行的程序(进程) 为程序异常终止给出适当的响应。,一、什么是系统调用,系统调用:通过访管指令对OS核心程序所做的调用。 系统调用程序:被调用的核心程序叫系统调用程序。,访管指令又叫系统调用命令,如C语言中fopen()函数。 而open()是系统调用;在DOS中int13是系统调用。,通过系统调用命令中断现行程序,进而转去执行相应的 子程序,以完成系统功能;完成后,控制又返回到发出 系统调用的命令之后的一条命令,被中断的程序将继续 执行。,系统调用的流程,用户程序,系统调用,调用,系统功能,返回,用户程序,目态,管态,可以嵌

40、套,用户程序,系统功能,系统功能,系统调用,系统调用,目态,管态,管态,系统调用的流程图,二、系统调用的执行过程,保护现场”信息:把系统调用命令的编号等信息, 放入约定的存储单元。 根据系统调用的编号、访问系统调用入口表。 找到相应子程序的入口地址,然后转去执行系统 调用程序。 恢复”现场”并把系统调用的返回参数或参数区首址 放入指定的通用寄存器中以供用户程序使用。,2.7 Linux操作系统简介,UNIX来源于MIT和贝尔实验室为美国国防部研制的 Multics(Multiplexed Information and Computing Service System) 。,贝尔实验室的程序设

41、计人员汤普逊和瑞奇,space travel,继承了Multics的 文件系统的树型结构、 SHELL命令语言、 面向过程的结构化设计方法、 采用高级语言编写操作系统的特点,UNIX系统是一个可供多用户同时操作的会话式分时操作系统,UNIX系统把所有的外设都当作文件,并分别赋予他们对应的文件名。,UNIX系统的大多数核心代码和系统上支持软件都是用C编写的,UNIX系统是一个开放式系统,Linux系统是一个类Unix系统,28 Linux操作系统的基本命令,一、注册与注销,1.注册:注册有双重目的 检验用户的使用权限 让UNIX系统为你设置环境 Login: password: 注册通过之后出现

42、提示符$,这时用户可以输入shell命令使用系统,2. 注销 当用户完成自己的工作之后,应退出系统,这时就应该进行注销, UNIX系统注销有两种方式:,$后打入logout 打入ctrl+D 注销后系统出现login:,二、基本SHELL命令,1. pwd (显示当前工作目录) 格式:pwd 功能:显示当前工作目录的完整路径名。 例: $pwd /user/user01,2. ls (显示目录内容) 格式:ls 参数 功能:请求系统将目录的内容列表输出。,说明: 命令行中没指定目录时,列当前,若不给任何参数,则按列输出。 通配符的使用同DOS通配符, 常用参数: -a 以ASCII码顺序排列显

43、示全部内容,包括隐含文件“.”和“.” -x 横向显示文件及目录名,用空格分隔 -m 横向显示文件及目录名,用逗号分隔 -r 反顺序显示 -l 每行显示一个文件目录的长列表信息 -s 以每块512字节为单位列出,第一列给出所占用的块数 -t 按时间顺序显示,根据每个文件修改的日期排列,最新修改的文件最先显示,例: $ ls x bin dev etc lib aaa bbb user usr sss,$ ls d bin dev etc lib user usr,$ ls *.c a1 a2 a3 test,$ ls l drwxrwxr-x 1 s1 bin 256 may 18 1996

44、/bin/a1 drwxrwxr-x 2 s3 bin 128 apr 26 1996 /bin/aa drwxrwxr-x 1 s2 bin 90 jun 20 1996 /bin/a2 -rw-rw-r- 1 s2 bin 64 may 18 1997 /bin/b1 -rw-rw-r- 1 s3 bin 96 feb 10 1996 /bin/yy,方式: d 目录文件 b 块特别文件 c 字符特别文件 p 先进先出文件 - 普通文件,存取特性: r 可读文件(可以查看目录) w 可写文件(可以在该目录下建立文件和目录) x 可执行文件(可以进入该目录及其子目录),链接数:相同副本数,链

45、接数,用户名,组名,大小,日期,文件名,3. mkdir 格式: mkdir 目录名 功能:建立用户目录,说明:一次可以建立一个或多个目录。每个目录建立后,自动建立两个隐含文件“ .”和“.”,前者表示当前子目录,后者表示当前子目录的上一级目录。,例:创建子目录d1 $ mkdir d1 $ mkdir d2 dz $ ls,4. cd(改变当前工作目录) 格式:cd 目录名 功能:将指定目录作为当前工作目录,说明:目录名缺省时返回到用户主目录。,例: $ pwd /dz/user1 $ cd d1,5. rmdir(删除子目录) 格式:rmdir 功能:删除指定子目录,说明:一个目录在被删除

46、之前应为空目录。,例:删除子目录d1 $ rmdir d1,6. date(设置或显示系统日期) 格式:date 功能:设置或显示系统时间,说明:普通用户只能显示日期,超级用户可以设置日期 。,7. who 格式:who am I 功能:查看当前系统的联机使用情况,说明:不带参数时查看整个系统的情况,带参数时查看自己的情况 。,例:$ who am I dz ttyc3d7 sep 23 10:00,8.Cat 格式: cat 文件名1 文件名2 文件名3 。 文件名,功能: 显示已经存在的文件内容, 从键盘建立新文件, 将两个或两个以上文件连接成一个文件,例:显示文本文件a1的内容 $ ca

47、t a1,例:将文本文件a1和 a2连接在一起结果放入a3中 $ cat a1 a2 a3,例:从键盘创建文本文件 $ cat a4 . ctrl/d $,9. rm 格式: rm 选择项 文件1 文件2,文件3 .,功能:删除一个或多个文件 。,说明: 选择项:,-r 对目录和子目录进行递归删除 -i 当删除无写权文件时交互式删除 -f 无条件删除指定的所有文件,例:递归删除目录d1及其子目录 $ rm -r d1,例:删除文件a3 $ rm a3,例:交互式删除当前目录下的所有文件 $ rm -i *,10. cp 格式1:cp -i 文件1,文件2. 目标文件,功能: (1) 拷贝一个文

48、件到另一个文件,(2)拷贝一个或多个文件到一个目录下,要求目标目录事先建立。,格式2:cp -ir 目录1 目录2,例:将文件a1复制到另一个文件abf1中 $ cp a1 abf1,功能:(3) 拷贝一个目录到另一个目录下,说明: -i 拷贝时进行确认是否覆盖已存在的目标文件 -r 递归拷贝,用于将一个目录拷贝到另一个目录下,例:将文件a1, a2, a3, a6拷贝到目录d21下 $ cp a1,a2,a3,a6 d21 $ cp -ir d1 d2,11. man 格式:man ,功能:显示指定命令的联机帮助,12. mv 格式:mv -f 文件1 文件2 . 目标文件,功能:重新命名或

49、重新分配一个或多个文件,说明:,(1) 将文件改名 $mv a1 a8,(2) 将目录改名 $mv u1 u8,13. chmod 格式:chmod 方式 文件名或目录名,功能:改变文件或目录的操作权限。,说明:,(1) 方式可以用相应的字符或八进制数字(07),(3) 文件默认权限:-rw-rw-r- 目录默认权限:drwxrwxr-x,(2) 只有文件所有者和超级用户可以更改文件属性。,(4) 方式: u - 用户(文件主) g - 同组用户 o - 其他用户 a - 全部用户 + 增加权限 - 去掉权限 = 赋予权限,例:构造除本人外任何人都不能 读写的文件a1,例:构造文件所有者、同组

50、用户及其它 用户都可以读写的文件a2,例:用绝对修改法使文件主对文件a7有 读写执行权,同组用户有读写权, 其它用户只有读权,$ chmod 764 a7,$ chmod a=rw a2,$ chmod go-rw a1,14. wc 格式: wc -lwc 文件名,功能:显示出文件中有多少行,字,字符数,说明:,(1)若给出多个文件,则记录出每个文件的总数,(3) 缺省时给出的顺序是行、字、字符数,(2) 其中参数,-l 仅统计行数,例:统计文件a7包含的行数,-w 仅统计字数,-c 仅统计字符数,$ wc -l a7,10 a7,例:统计文件a6包含的字数和行数,$ wc -wl a6,8

51、114a6,例:统计文件a1和 a2分别有多少行、字和字符,$ wc a1 a2,20 1001206a1 1012268a2 301121474total,15.输入、输出重定向,(1)输入转向:SHELL 从普通文件中获得输入信息,格式:命令 文件名, 输出转向:,例:将文件a1的内容发送给用户user3,格式1 :命令文件名,将一个命令的执行结果存放于一个文件中。,$ mail user3a1,格式2 :命令文件名,将一个命令的执行结果追加到文件的尾部。,例:以长列表方式列当前目录下的文件目录, 将显示结果送入文件dir下保存,$ ls -l dir,例:显示当前登录的用户情况,并将显示

52、结果 追加到文件dir的尾部,$ whodir,16.管道,格式:命令1 |命令2,例:统计一下当前目录下有多少文件,$ ls l |wc -l,三、进程管理命令,1.后台进程,格式: id=i; shared=s; public void run() while (true) shared.enteringCriticalSection(id); System.out.println(name+”is in CS”); MutualExclusion.criticalSection(); shared.leavingCriticalSection(id); System.out.printl

53、n(name+”is out of CS”); MutualExclusion.nonCriticalSection(); private String name; private int id; private MutualExclusion shared;,MutualExclusion abstract class,public abstract class MutualExclusion public static void criticalSection () try Thread.sleep(int) (Math.random()*TIME); catch(InterruptExc

54、eption e) public static void nonCriticalSection () try Thread.sleep(int) (Math.random()*TIME); catch(InterruptException e) public abstract void enteringCriticalSection(int t); public abstract void leavingCriticalSection(int t); public static final int TURN_0=0; public static final int TURN_1=1; publ

55、ic static final int TIME=3000;,TestAlgorithm class,public class TestAlgorithm public static void main (String args) MutualExclusion alg=new Algorithm_1(); Worker first=new Worker(“Runner 0”,0,alg); Worker second=new Worker(“Runner 1”,1,alg); first.start(); second.start(); ,1.Algorithm 1,public class

56、 Algorithm_1 extends MutualExclusion public Algorithm_1() turn=TURN_0; public void enteringCriticalSection(int t) while (turn!=t) Thread.yield(); public void leavingCriticalSection(int t) turn=1-t; Private volatile int turn; ,2.Algorithm 2,Algorithm 1的问题是只记录允许哪些进程进入临界区,没记录关于进程目前所处状态的信息,解决办法:,用boolea

57、n flag=new boolean2代替变量turn Flagi=true表示进程i准备进入临界区,public class Algorithm_2 extends MutualExclusion public Algorithm_2() flag0=false; flag1=false; public void enteringCriticalSection(int t) int other; other = 1-t; flagt=true; while ((flagother=true) Thread.yield(); public void leavingCriticalSection

58、(int t) flagt=false; Private volatile boolean flag=new boolean2;,3.Algorithm 3,Algorithm 2的问题是只记录关于进程目前所处状态的信息,解决办法:,用boolean flag=new boolean2 和变量turn一起控制并发过程。 Flagi=true表示进程i准备进入临界区,public class Algorithm_3 extends MutualExclusion public Algorithm_3() flag0=false; flag1=false; turn=TURN_0; public void enteringCriticalSection(int t) int other; other = 1-t; flagt=true; turn=other; while ((flagother=true) Private volatile boolean flag=new

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论