1、操作系统 Operating System(OS),宋亚奇E_Mail:lessons_ 华北电力大学计算机系,计算机操作系统,终极目标自己编写的操作系统近期目标考试通过中长期目标考研,计算机操作系统,教材,1.教材:“计算机操作系统”(修订版),汤子瀛等,西安电子科技大学出版社 2.参考教材: “操作系统基础”,屠祁等,清华大学出版社,2000年第三版。 “现代操作系统”,Aadrew S.T著陈向群等译,机械工业出版社, 1999年第一版。 “操作系统”,徐宗元,高等教育出版社,2000年第一版。 “Operating System Concepts”,James L。Peterson,A
2、ddison-Wesley Publishing Company,2001 年第6版。,计算机操作系统,OS 网页,(北大操作系统实验室)http:/www.cs.vu.nl/ast/( Aadrew主页),计算机操作系统,荷兰阿姆斯特丹Vrije大学的计算机科学系的教授 编译技术、操作系统、网络及局域分布式系统 MINIX:于操作系统教学的类UNIX(的小型操作系统 Amoeba:一个高性能的微内核分布式操作系统,计算机操作系统,你为何认为微核要优于单体内核?航空电子系统、喷气式战斗机、医院里的呼吸机,微核在嵌入式设备愈加普及,你认为嵌入式设备是一个有前途的关注领域吗?,这是一个应用领域,嵌
3、入式系统的优点在于它没有太多遗留技术,MINIX 3与所有其它这些微核有何区别?,除嵌入部分外,我们努力使它符合POSIX,使它可用于桌面和笔记本等系统,我们能使操作系统可靠而安全吗?攻击Linux,1992年,声称Linux是过时的系统,但他只有20岁,经验还不够丰富;他只是一个孩子(Linus),计算机操作系统,摘要,第一章 操作系统引论 第二章 进程的描述和控制 第三章 进程的同步和通讯 第四章 调度和死锁 第五章 存储器管理 第六章 虚拟存储器 第七章 设备管理 第八章 文件系统 第九章 磁盘存储器管理 第十章 操作系统接口,计算机操作系统,第一章 操作系统概述,教学目的:操作系统(O
4、S)是最重要的系统软件,本章从OS的作用、发展史、类型、特征和功能等多方面介绍OS。 教学要求: 熟悉操作系统作用和定义,一般了解操作系统的历史。 了解二类计算机硬件系统结构,熟悉现代操作系统的硬件基础通道和中断。 熟练掌握多道程序设计技术的概念,掌握批处理系统、分时系统及实时系统三种操作系统基本类型,了解微机操作系统、网络操作系统和分布式操作系统。 掌握操作系统并发性、共享性、虚拟性和异步性等特征,了解现代操作系统特征,熟悉操作系统功能。,计算机操作系统,引言,软件:应用软件 系统软件(操作系统、语言处理系统和常用的例行服 务程序) 硬件: 输入输出(IO)设备 存储器(MEMORY) 处理
5、器(CPU),1、计算机系统组成:,计算机操作系统,OS是硬件基础上的第一层软件,是其它软件和硬件的接口。,DBMS、PASCAL,OS,裸机,计算机操作系统,图1-1 计算机系统组成,计算机操作系统,1 .1操作系统的定义、目标和作用,1、操作系统定义: 操作系统是计算机系统中的一个系统软件,是一些程序模块的集合,这些程序模块能以尽量有效合理方式管理计算机系统的硬件和软件资源、合理地组织计算机工作流程,控制持续的执行并向用户提供各种服务功能,使得用户能够灵活,方便,有效地使用计算机,使整个计算机系统能够高效地运行。,计算机操作系统,2、操作系统的目标 (1)方便性a.用户可通过良好的用户界面
6、来操作/使用计算机(DOS命令,WINDOWS图标)。b.机器只识别0/1代码,如未配置OS,用户只能用机器语言书写程序。BUT:PASCAL语言编写程序编译调用OS命令运行。c. DRIVER(I/O DEVICES) (2)有效性a.系统效率(如CPU用的充足与否)。b.资源利用率(如内存、I/O设备是否忙碌、OS可标示某设备情况异常,统一管理。磁盘整理。),计算机操作系统,2、操作系统的目标 (3)可扩充性IT技术迅速发展,OS应采用模块化结构,象积木一样,可增加修改。 (可维护、可复用、可扩展、灵活性好) (活字印刷) (4)开放性使用不同厂家的计算机,设备能有效地协同工作,实现应用程
7、序的可移植性和互操作性。EXAMPLE:UNIX对于C语言编制的程序可以直接使用,可移植性好。几十万条指令的程序改动千条左右即可。(POSIX),计算机操作系统,3 操作系统的作用,(1)从资源管理观点操作系统是系统资源管理者 ( Operating System as a Resource Manager) 操作系统是资源管理程序,它用于控制和管理计算机系统的硬件和软件资源。 计算机系统资源: 操作系统:软件: 文件系统硬件:IO设备 设备管理存储器 存储器管理处理器 处理器(进程)管理,计算机操作系统,(2)从软件分层、扩允机器的观点 操作系统是扩充裸机的第一层系统软件,软件:语言处理程序
8、 虚拟机2 软件:操作系统 虚拟机1 硬件(裸机) 虚拟机:二者结合变成了功能更强大使用更方便的机器固件:为了改善系统的性能,将操作系统中与硬件密切有关的部分软件,通过微程序设计技术转化为硬件,也就是通常所说的固化,这些具有软件功能的硬件称为固件。例如IBM公司生产的AS400结构如下:,计算机操作系统,从软件分层、扩允机器的观点-1,计算机操作系统,(3)从服务用户的观点操作系统是用户与裸机之间接口,用户操作系统 接口裸机系统提供的接口有二类:一类是命令接口,它提供一组键盘命令,供用户组织和控制自己的作业运行。(如DOS输入指令-识别后-内部OS模块-操作完成)另一类是程序级接口,它提供一组
9、系统调用,即OS中某个模块功能,供用户程序和其它程序调用。(WINDOWS系统调用)(例子),计算机操作系统,Layers and Views of a Computer System,Computer Hardware,Operating-System,Utilities,Application Programs,计算机操作系统,第二节 操作系统的发展过程,无操作系统这时的计算机操作是由程序员采用人工操作方式直接使用计算机硬件系统。2、第一代(50年代中50年代未)初级单道批处理系统它是为了减少人工操作时间和作业转换时间提高CPU利用率而设计的。系统自动成批处理作业,这是初级单道批处理系统。
10、 3、第二代(60年代初60年代中)多道程序设计共享系统这一代操作系统包括多道批处理系统、采用交互方式的分时系统和以提高瞬时响应时间为特征的实时系统。,1、第0代(40年代未50年代初),计算机操作系统,操作系统的发展过程,4、第三代(60年代中70年代中)多模式系统这一代计算机系统是通用系统,这一代操作系统是多模式系统,即一个系统同时支持批处理、分时处理、实时处理和多重处理。 5、第四代(70年代中 )网络操作系统和分布式操作系统网络操作系统实现在计算机网络上进行信息交换、资源共享和互操作等功能。分布式操作系统将地域上分散的各系统互连成一个具有整体功能的系统,并可将一个任务分布地在各系统上运
11、行,实现分布式处理。,计算机操作系统,第三节 操作系统基本类型,(1)批处理系统 1、初级单道批处理系统目标:为了解决人工操作(无操作系统)严重降低了计算机资源的利用率的问题,即解决CPU等待人工操作和高速CPU与低速IO间矛盾等问题。脱机输入输出技术:该技术利用一台外围机,脱离主机先将低速输入设备(如纸带机)的数据,输入到较高速大容量的输入设备(如磁带)上。,返7,计算机操作系统,初级单道批处理系统-1,批处理技术:它利用磁带容量较大的特点,先将一批作业按序以脱机方式输入到磁带上。主机在监督程序控制下,根据卡片机读入控制作业操作信息,逐个从磁带上读入作业到内存,调入汇编编释程序将源程序翻译成
12、目标代码,连接装配后执行,结果输出打印。执行完毕后再调入下一个作业,系统就这样自动地一个一个作业地进行处理,直至完成,这是早期单道批处理系统,它解决了作业自动转换,从而减少作业建立和人工操作时间。,计算机操作系统,2、现代多道批处理系统,目标:为了进一步提高资源利用率,在硬件采用通道和中断技术支持并行操作的情况下,引入了多道程序设计技术,由此引入多道批处理系统。 多道程序设计技术:它是在计算机内存同时存放几道相互独立的程序,这几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。多道程序在宏观上并行执行,而在微观上多道程序在某个部件上(如CPU、IO)是串行,即多道程序轮流地使用
13、部件,交替执行。一个有一个CPU和一个IO设备(磁盘)的二道批处理系统运行情况如下图所示。(练习),计算机操作系统,计算机操作系统,现代多道批处理系统-2,SPOOLing技术(假脱机IO或联机IO ):在现代批处理系统中引入缓冲技术,在外存设置输入缓冲区(输入井)和输出缓冲区(输出井)。同时又引入SPOOLing技术, SPOOLing(Simultaneous Peripheral Operation On Line)是在联机情况下实现的同时与外围设备联机操作的技术。该技术采用通道代替外围机,它与CPU并行操作,控制外设完成输入输出任务。在该系统中用户提交的作业由输入设备经SPOOLing
14、系统联机输入到外存磁盘的输入井内,并排成一个后备作业队列,然后由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,它们在内存中按一定调度规则共享CPU和系统中各种IO资源,以达到提高资源利用率和系统吞吐量的目的。一个多道程序调度运行范例见后:,计算机操作系统,学习操作系统目的,为专门用途人们设计、修改、扩充操作系统。例如操作系统汉化、中文操作系统环境、嵌入式操作系统开发。 大多数计算机部门主要决策者选择操作系统及操作系统中的选择部分。 用户为了完成自己的任务必须与操作系统交往,用户要了解操作系统提供的人机接口,在编程中灵活应用进程(线程)。 操作系统中所用的许多概念和技巧一般可以应用
15、到其它领域。,计算机操作系统,补:计算机硬件系统概述,(1)计算机硬件系统结构 1。大、中、小型计算机的硬件组织这类计算机以存储器为中心,CPU和各种通道都与存储器相连。返7,计算机操作系统,2。微型计算机的典型组织,微型计算机是以总线为纽带来构成计算机系统,中央处理机(CPU)、存储器、 IO设备(包括外存磁盘、磁带)都挂接在总线。返7,CPU,DMA,打印机,终端,存储器,磁盘控制器,打印机控制器,终端控制器,计算机操作系统,(2)现代操作系统的硬件基础,多道程序设计(Multiprogramming)技术现代计算机系统为了提高计算机资源利用率,采用多道程序设计技术,它在主存中存放多道用户
16、的作业,计算机系统硬件支持作业并行操作,使多道作业同时处于运行状态共享系统资源。在现代批处理系统中支持并行操作的硬件是通道和中断。,计算机操作系统,通道一个独立于CPU的专门I/O控制的处理机,控制设备与内存直接进行数据交换。它有自己的通道命令,可由CPU执行相应指令来启动通道,并在操作结束时向CPU发出中断信号。通道指令的格式一般由:操作码,记数段,内存地址段,结束标志组成。 一个系统中可设立三种类型的通道:字节多路通道、数组多路通道、选择通道。,计算机操作系统,中断( Interrupts )是指CPU对系统中发生的异步事件的响应。中断的含义是当这些异步事件发生后,打断了处理机对当前程序的
17、执行,而转去处理该异步事件,即执行该事件的中断处理程序,直到处理完了之后,再转向原程序的中断点执行。中断技术的应用范围不断扩大,它使得通道具有中断主机工作的能力,以支持多道程序设计技术。当CPU需要输入数据时,只要发命令给通道去完成,通道进行IO操作和CPU操作可并行异步执行,在通道完成IO操作后,它用中断方式向CPU报告其完成IO情况。,计算机操作系统,计算机操作系统,现代操作系统的硬件基础,中断一般可分为硬件中断和软件中断二大类。硬件中断又可分为硬件故障中断、输入输出中断和外部中断。软件中断又可分为程序中断(例如定点操作数溢出、地址越界、虚存管理中缺页等)和访管中断。访管中断是用户程序在运行中请求操作系统为其提供服务而执行一条“访管指令”所引起的中断,又称软件中断。在PDP-11机上访管指令是tarp指令,在86机上访管指令是INT指令。访管中断是进程所期待的,它是自愿性的中断,又称自愿中断,其它几种中断不是运行进程所期望的,它属于强迫性中断事件。,