《操作系统基础知识.ppt》由会员分享,可在线阅读,更多相关《操作系统基础知识.ppt(78页珍藏版)》请在课桌文档上搜索。
1、2023/3/27,计算机操作系统,1,计算机操作系统(Operating System),2023/3/27,计算机操作系统,2,课程要求,平时成绩成绩构成:考勤点名+课堂提问/讨论+其他表现上机实验成绩成绩构成:6次上机实验成绩期末笔试,2023/3/27,计算机操作系统,3,第一章 操作系统引论,2023/3/27,计算机操作系统,4,本章内容提纲,操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计,2023/3/27,计算机操作系统,5,什么是计算机操作系统?,计算机系统是由硬件和软件组成的,操作系统是硬件基础
2、上的第一层软件,是对操作系统的第一层扩充。安装了操作系统的计算机称为虚拟机(virtual machine),是对裸机的扩展.,2023/3/27,计算机操作系统,6,操作系统所在的位置,2023/3/27,计算机操作系统,7,操作系统将丑陋的硬件转变为美丽的抽象,2023/3/27,计算机操作系统,8,操作系统的作用:,用户与计算机硬件系统之间的接口实现了对计算机资源的抽象(uglybeautiful)计算机资源的管理者 处理机、存储器,I/O,信息命令方式 cmd,ping系统调用方式 count=read(fd,buffer,nbytes)图形、窗口方式,2023/3/27,计算机操作系
3、统,9,操作系统的目标:,有效性方便性可扩充性:功能可扩充开放性 linux android,2023/3/27,计算机操作系统,10,操作系统的发展史及分类,无操作系统的计算机系统单道批处理系统多道批处理系统分时系统实时系统,2023/3/27,计算机操作系统,11,无操作系统的计算机系统,ENIAC计算机(美国宾夕法尼亚大学)运算速度:5000次/每秒 真空管:18000个占地面积:182平方米重 量:130吨功 耗:140kW,2023/3/27,计算机操作系统,12,无操作系统的计算机系统,从第一台计算机诞生(1945年)到50年代中期的计算机,属于第一代,这时还未出现OS。人工操作方
4、式:这时的计算机操作是由用户(即程序员)采用人工操作方式直接使用计算机硬件系统。由程序员将事先已穿孔(对应于程序和数据)的纸带(或卡片)装入纸带输入机(或卡片输入机),再启动它们将程序和数据输入计算机,然后启动计算机运行。当程序运行完毕并取走计算结果后,才让下一个用户上机。,2023/3/27,计算机操作系统,13,1张穿孔卡片等于100个字节1MB=10K卡片,这种人工操作方式有以下两方面的缺点:(1)用户独占全机。(2)CPU等待人工操作。,没有输入输出设备,再好的计算机也无法发挥作用,2023/3/27,计算机操作系统,14,脱机输入/输出方式(Off-Line I/O)脱机:通过专门的
5、外围机来控制输入到磁带上和输出到卡片上,当CPU需要这些数据时再从磁带上将其高速调入内存。减少了CPU的空闲时间:输入输出不占用主机时间。提高I/O速度,脱机I/O示意图,2023/3/27,计算机操作系统,15,单道批处理系统(Simple Batch Processing System),批处理过程,2023/3/27,计算机操作系统,16,单道批处理系统的处理流程,2023/3/27,计算机操作系统,17,单道批处理系统的特征单道批处理系统是最早出现的一种OS,严格地说,它只能算作是OS的前身而并非是现在人们所理解的OS。尽管如此,该系统比起人工操作方式的系统已有很大进步。该系统的主要特
6、征如下:自动性:作业依次运行,无须人为干预 顺序性:作业运行顺序与进入内存的顺序一致,先调入的作业先完成。单道性:内存中只有一道程序运行。,2023/3/27,计算机操作系统,18,单道批处理的问题:,CPU和I/O设备使用不均衡-对计算为主的作业,外设空闲-对I/O为主的作业,CPU空闲解决办法 使用多道程序同时进入内存运行,提高资源利用率,即采用多道程序系统。,2023/3/27,计算机操作系统,19,多道批处理系统(Multiprogrammed Batch Processing System),多道程序设计的概念 同时把多个作业放入内存并允许它们交替执行,共享系统中的各类资源,当一道程
7、序因为某种原因暂停执行时,cpu立刻转去执行另一道程序。多道批处理系统:是使用多道程序设计技术的批处理系统,2023/3/27,计算机操作系统,20,提高CPU的利用率可提高内存和I/O设备利用率增加系统吞吐量,多道程序设计的好处:,2023/3/27,计算机操作系统,21,单多道批处理系统比较,单道和多道程序运行情况,程序A,程序B,程序C,程序D,调度程序,2023/3/27,计算机操作系统,22,单多道批处理系统比较,单道和多道程序运行情况,程序A,程序B,程序C,程序D,调度程序,2023/3/27,计算机操作系统,23,程序运行时间表(单位:ms),有三个程序A,B,C,它们使用同一
8、个设备进行I/O操作,并按A,B,C的优先次序执行。这三个程序的计算和I/O操作时间如表所示,假设调度的时间可忽略不计,请分别画出单道程序环境和多道程序环境下(假设内存中可同时装入这三道程序),它们的运行时间关系图,并比较它们的总运行时间。,2023/3/27,计算机操作系统,24,资源利用率高系统吞吐量大平均周转时间长无交互能力批处理:交互性差-提高对cpu的利用率,多道程序设计的优缺点:,2023/3/27,计算机操作系统,25,多道批处理的需要解决的问题,处理机的管理问题。多个程序之间如何分配以便共享处理机?如何回收?内存管理问题。如何分配作业必需的内存空间,以便他们各得其所而又不会互相
9、重叠?如何防止一个程序破坏其他程序?I/O设备管理问题。I/O设备为所有程序共享,如何协调以提高设备使用效率?文件管理问题。如何管理大量的程序和文件?作业管理问题。各种不同类型的作业如何有效管理?,增加一组软件,对以上问题进行有效处理,这组软件就构成了操作系统。,2023/3/27,计算机操作系统,26,分时系统(Time Sharing System),分时系统的产生:如果说,推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是用户的需求。用户的需求具体表现 在以下几个方面:(1)人机交互。(2)共享主机(3)便于用户上机。,每一
10、个用户通过配有输入键盘和输出显示器的终端工作站和主机连接,2023/3/27,计算机操作系统,27,分时系统(Time Sharing System),分时系统实现中的关键问题:为实现分时系统,其中,最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。此后,用户可继续键入下一条命令,此即人机交互。应强调指出,即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。及时接收及时处理批处理系统无法满足以上要求,2023/3/27,计算机操作系统,28,分时系统(Time Sharing Syste
11、m),分时系统的特征:多路性:一个机器同时连接多个终端。宏观上多个用户同时工作,微观上则是每个用户作业轮流运行一个时间片。独立性:每个用户使用各自的终端与主机交互,感觉不到其它用户的存在,好像独立使用计算机。用户之间互不干扰。及时性:用户的请求应当在很短时间内响应。交互性:用户通过终端与系统进行对话。,分时系统主要用于软件开发和运行较小的程序。因为在这种环境下用户大部分时间都在思考,不会长期连续地占用CPU,以利于其他用户使用。,2023/3/27,计算机操作系统,29,实时系统(Real-Time System),所谓“实时”,是表示“及时”,而实时系统是指系统能及时(或即时)响应外部事件的
12、请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。按任务执行时是否呈现周期性来划分周期性实时任务。非周期性实时任务。根据对截止时间的要求来划分硬实时任务(hard real-time task)。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。软实时任务(Soft real-time task)。它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。,2023/3/27,计算机操作系统,30,实时系统与分时系统特征的比较,多路性:类似独立性:类似及时性:区别显著交互性:有区别可靠性:区别显著,2023/3/27,计算机
13、操作系统,31,微机操作系统的发展,单用户单任务操作系统MS-DOS单用户多任务操作系统Windows 1.0XP多用户多任务操作系统LinuxUnixSolaris,2023/3/27,计算机操作系统,32,本章内容提纲,操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能,2023/3/27,计算机操作系统,33,本章内容提纲,操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计,2023/3/27,计算机操作系统,34,操作系统的特征,并发性(Concurre
14、nce)共享性(Sharing):虚拟性(Virtual):异步性(Asynchronism):,2023/3/27,计算机操作系统,35,操作系统的特征并发性(Concurrence),并发性:指两个或多个事件在同一时间间隔内发生理解:-在多道程序环境且单处理机系统下,宏观上并行,微观上交替执行。-多处理机系统中,并发可并行执行并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生,并行一定并发,并发不一定并行,2023/3/27,计算机操作系统,36,并发性-串行、并行、并发比较,假设有三个程序A,B,C,串行,并行,并发,2023/3/27,计算机操作系统,37
15、,并发性-进程,线程,进程是系统中能独立运行并作为资源分配的基本单元,是一个能独立运行的活动实体。操作系统需要增设若干进程管理功能。线程是比进程更小的单位,一个进程包含多个线程。是独立运行独立调度的基本单位,2023/3/27,计算机操作系统,38,操作系统的特征共享性(Sharing),共享性(Sharing):系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式主要有以下两种资源共享方式。互斥共享同时访问,2023/3/27,计算机操作系统,39,共享性-互斥共享方式,为什么要采用互斥共享?系统中的某些资源,如打印机、磁带机,虽然可以提供给多个
16、进程(线程)使用,但规定在一段时间内只允许一个进程(线程)访问该资源。避免结果不致造成混淆。如何保证互斥共享?临界资源-在一段时间内只允许一个进程访问的资源(也叫独占资源)如何使用临界资源?当一个进程A要访问某资源时,必须先提出请求,只有资源空闲时才可分配给请求进程A使用,此后若再有其它进程也要访问该资源时(只要A未用完)则必须等待。仅当A进程释放该资源后,另一进程才可访问该资源。临界资源有哪些?举例:计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,2023/3/27,计算机操作系统,40,共享性-同时访问方式,何谓同时?同时并非同步,并行。这里所谓的“同时”往往是宏观上的;
17、微观上,进程可能是交替地对该资源进行访问。可“同时”访问的资源有哪些?典型资源是磁盘设备与互斥共享方式的区别?可以在一段时间内同时使用,不必等待别的进程全部使用完毕。,2023/3/27,计算机操作系统,41,并发性与共享性关系,并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。如何互为存在条件?共享性以并发性为条件资源共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;并发性受共享性影响若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。,2023/3/27,计算机操作系统,
18、42,操作系统的特征虚拟(Virtual)技术,操作系统中的虚拟含义是什么?通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的东西。虚拟技术实现哪些虚拟?虚拟处理机、虚拟内存、虚拟外部设备和虚拟信道等。Os中的虚拟技术有几种方式实现?时分复用方式-利用处理机的空闲时间空分复用方式-利用存储器的空闲空间,2023/3/27,计算机操作系统,43,虚拟技术-时分复用技术,时分复用有哪些技术?虚拟处理机技术通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一台处理机的。使每个终端用户都认为是有一个CPU在专门为他服务。一台物
19、理上的CPU虚拟为多台逻辑上的CPU虚拟设备技术使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为在一段时间内允许多个用户同时访问的共享设备。如打印机,2023/3/27,计算机操作系统,44,虚拟技术-空分复用技术,空分复用技术中的主要应用?虚拟存储器技术将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。虚拟存储技术的本质是什么?本质是使内存分时复用,单纯的空分复用存储器只能提高内存利用率,2023/3/27,计算机操作系统,45,虚拟技术-速度,如果虚拟的实现是通过时分复用的方法,即对某一物理设备进行分时使用时,如果n是某物理设备所对应的虚拟的逻辑设备数,
20、则虚拟设备的平均速度必然等于或低于物理设备速度的1/n。同理,空分复用中,一台虚拟设备平均占用的空间必然等于或者低于物理设备所拥有空间的1/n。,2023/3/27,计算机操作系统,46,操作系统的特征异步性(Asynchronism),何谓异步性?进程以人们不可预知的速度向前推进在多道程序环境下,允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理机,直
21、到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续执行。由于资源等因素的限制,使进程的执行通常以“停停走走”的方式运行,进程以不可预知的进度推进。,难以重现系统在某个时刻的状态,2023/3/27,计算机操作系统,47,本章内容提纲,操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能,2023/3/27,计算机操作系统,48,本章内容提纲,操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计,2023/3/27,计算机操作系统,49,操作系统的主要功能,处
22、理机管理功能进程控制、进程同步、进程通信、调度存储器管理功能内存管理、保护、地址映射、扩充设备管理功能缓冲管理、设备分配、设备处理文件管理功能文件存储空间管理、目录管理、文件保护操作系统和用户之间的接口,2023/3/27,计算机操作系统,50,处理机管理功能-进程控制,进程控制的主要作用是什么?为作业创建进程,分配必要的资源。撤销已结束进程,及时回收该进程所占用的各类资源。控制进程在运行过程中的状态转换。为一个进程创建若干个线程的功能和撤消(终止)已完成任务的线程的功能(在现代OS中)。,作业,处理机,进程,作业,进程,2023/3/27,计算机操作系统,51,处理机管理功能-进程同步,进程
23、同步的作用是什么?异步性,特点?为多个进程(含线程)的运行进行协调进程同步的协调方式有哪些?进程互斥方式-临界资源互斥访问进程互斥的机制如何实现?为每一个临界资源配置一把锁W,当锁打开时,进程(线程)可以对该临界资源进行访问;而当锁关上时,则禁止进程(线程)访问该临界资源。信号量机制进程同步方式-在相互合作完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。,2023/3/27,计算机操作系统,52,处理机管理功能-进程通信,进程通信的任务就是用来实现在相互合作的进程之间的信息交换。,输入进程,计算进程,打印进程,2023/3/27,计算机操作系统,53,处理机管理功能-调度,
24、为什么要调度?因为在后备队列上等待的每个作业,要经过调度才能执行。调度的分类包括作业调度和进程调度两步。,2023/3/27,计算机操作系统,54,存储器管理功能-内存分配,内存分配的主要任务是为每道程序分配内存空间。有两种分配方式:静态和动态静态分配特点:每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,不允许作业在内存中“移动”;动态分配特点:每个作业所要求的基本内存空间是在装入时确定的;允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨;允许作业在内存中“移动”。,2023/3/27,计算机操作系统,55,存储器管
25、理功能-内存保护,内存保护的主要任务?确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。一种比较简单的内存保护机制,是设置两个界限寄存器 越界检查都由硬件实现不允许用户程序访问操作系统的程序和数据不允许用户转移到非共享的其他用户程序中去执行。,2023/3/27,计算机操作系统,56,存储器管理功能-内存保护,2023/3/27,计算机操作系统,57,存储器管理功能-地址映射,逻辑地址(地址空间中)物理地址(内存空间中)如何映射?什么是逻辑地址?什么是物理地址?应用程序(源程序)地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的;由这些地址所形成的地址范围称为“地址空间”
26、,其中的地址称为“逻辑地址”或“相对地址”。由内存中的一系列单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。,在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存),2023/3/27,计算机操作系统,58,存储器管理功能-地址映射,#include int main(int argc,char*argv)char s10;char*p=s;,int main(int argc,char*argv)int a=1;,2023/3/27,计算机操作系统,59,存储器管理功能-内存扩充,如何进行扩充?借助于虚拟存储技术,从逻辑上去扩充内存容量。(1)请求调入(2)置换内存
27、容量有变化吗?内存容量实际没变,但却可以承担大于这一容量的更多事情。优点:既满足了用户的需要,改善了系统的性能,又基本上不增加硬件投资。,2023/3/27,计算机操作系统,60,设备管理功能-缓冲管理,为什么要引入缓冲管理?如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。常见的缓冲机制?单缓冲机制实现双向同时传送数据的双缓冲机制能供多个设备同时使用的公用缓冲池机制。,2023/3/27,计算机操作系统,61,设备管理功能-设备分配,设备分配原则?用户进程的I/O请求系统的现有资源情况设备分配策略。如果在I/O设备
28、和CPU之间,存在着设备控制器和I/O通道时,须为分配出去的设备分配相应的控制器和通道。,2023/3/27,计算机操作系统,62,设备管理功能-设备处理,设备处理的基本任务?设备处理程序又称为设备驱动程序。基本任务是用于实现CPU和设备控制器之间的通信。由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。,2023/3/27,计算机操作系统,63,文件管理功能-文件空间管理,文件空间管理的主要任务?为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。,2023/3/27,计算机操作
29、系统,64,文件管理功能-目录管理,目录管理的主要任务?(1)为每个文件建立其目录项,并对目录项加以组织,实现按名存取。(2)实现文件共享。只须在外存上保留一份该共享文件的副本。(3)提供快速的目录查询手段。提高对文件的检索速度。,2023/3/27,计算机操作系统,65,文件管理功能-文件的读写管理与保护,文件的读/写:(1)文件的读/写管理。根据用户的请求,从外存中读取数据;或将数据写入外存。文件保护:防止未经核准的用户存取文件;防止冒名顶替存取文件;防止以不正确的方式使用文件。,2023/3/27,计算机操作系统,66,操作系统与用户之间的接口,用户接口:命令接口,程序接口,图形接口程序
30、接口:系统调用在高级语言以及C语言中,往往提供了与各系统调用一一对应的库函数,这样,应用程序便可通过调用对应的库函数来使用系统调用。,2023/3/27,计算机操作系统,67,系统调用的执行过程,一般把处理机在用户程序中执行称为用户态(user mode),而把处理机在系统程序中执行称为系统态(kernel mode)。,2023/3/27,计算机操作系统,68,本章内容提纲,操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计,2023/3/27,计算机操作系统,69,无结构操作系统,在早期开发操作系统时,设计者只是把
31、他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。此时的OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此,这种OS是无结构的,也有人把它称为整体系统结构。此时程序设计的技巧,只是如何编制紧凑的程序,以便于有效地利用内存、对GOTO语句的使用不加任何限制,所设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构。一方面会使所编制出的程序错误很多,给调试工作带来很多困难;另一方面也使程序难以阅读和理解,增加了维护人员的负担。,2023/3/27,计算机操作系统,70,模块化OS结构,为使OS具有较清晰的结构,OS不再是由众多的过程直接构成,而是将
32、OS按其功能划分为若干个具有一定独立性和大小的模块。每个模块具有某方面的管理功能,如进程管理模块、存储器管理模块、I/O设备管理模块和文件管理模块等,规定好各模块间的接口,使各模块之间能通过该接口实现交互。再进一步将各模块细分为若干个具有一定管理功能的子模块,如把进程管理模块又分为进程控制、进程同步、进程通信和进程调度等子模块,同样也要规定各子模块之间的接口。若子模块较大时,再进一步将它细分。,2023/3/27,计算机操作系统,71,模块化OS结构,2023/3/27,计算机操作系统,72,优点:(1)提高了OS设计的正确性、可理解性和可维护性。(2)增强了OS的可适应性。(3)加速了OS的
33、开发过程。,缺点:(1)在开始设计OS时,对模块的划分及对接口的规定并不精确,而且还可能存在错误,因而很难保证按此规定所设计出的模块会完全正确,这将使在把这些模块装配成OS时发生困难;(2)从功能观点来划分模块时,未能将共享资源和独占资源加以区别;由于管理上的差异,又会使模块间存在着复杂的依赖关系使OS结构变得不清晰。,模块化OS结构,2023/3/27,计算机操作系统,73,层次式操作系统结构,从改进设计方式上说,应使我们的每一步设计都是建立在可靠的基础上。我们可以从物理机器开始,在其上面先添加一层具有一定功能的软件A1,由于A1是建立在完全确定的物理机器上的,在经过精心设计和几乎是穷尽无遗
34、的测试后,可以认为A1是正确的;然后再在A1上添加一层新软件A2,如此一层一层地自底向上增添软件层,每一层都实现若干功能,最后总能构成一个能满足需要的OS。,2023/3/27,计算机操作系统,74,层次式操作系统结构,设计的基本原则?每一层都仅使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得容易。例如,在调试第一层软件A1时,由于它只使用了物理机器提供的功能,因此它将与其所有的高层软件A2,An无关;同样在调试A2时,它也只使用了A1和物理机器所提供的功能,而与其高层软件A3,,An无关,这样,一旦发现Ai出现错误时,通常该错误只会局限于Ai,因为它与所有其高层的软件无关,而Ai层以下的各层软件,又都经过仔细的调试。,2023/3/27,计算机操作系统,75,层次式操作系统结构,2023/3/27,计算机操作系统,76,客户/服务器模式,在网络上的客户机服务器模型,2023/3/27,计算机操作系统,77,微内核os结构,适合于分布式系统环境举例:windows 2000/xp,2023/3/27,计算机操作系统,78,本章总结,掌握os的概念、作用,目标,功能,特性理解os的发展史及分类,