




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机操作系统
(OperatingSystem)
2023/7/171计算机操作系统课程要求平时成绩成绩构成:考勤点名+课堂提问/讨论+其他表现上机实验成绩成绩构成:6次上机实验成绩期末笔试
2023/7/172计算机操作系统第一章操作系统引论2023/7/173计算机操作系统本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计2023/7/174计算机操作系统什么是计算机操作系统?计算机系统是由硬件和软件组成的,操作系统是硬件基础上的第一层软件,是对操作系统的第一层扩充。安装了操作系统的计算机称为虚拟机(virtualmachine),
是对裸机的扩展.2023/7/175计算机操作系统操作系统所在的位置
2023/7/176计算机操作系统操作系统将丑陋的硬件转变为美丽的抽象2023/7/177计算机操作系统操作系统的作用:用户与计算机硬件系统之间的接口实现了对计算机资源的抽象(ugly—>beautiful)计算机资源的管理者处理机、存储器,I/O,信息命令方式cmd,ping系统调用方式count=read(fd,buffer,nbytes)图形、窗口方式2023/7/178计算机操作系统操作系统的目标:有效性方便性可扩充性:功能可扩充开放性linuxandroid2023/7/179计算机操作系统操作系统的发展史及分类无操作系统的计算机系统单道批处理系统多道批处理系统分时系统实时系统2023/7/1710计算机操作系统无操作系统的计算机系统ENIAC计算机
(
美国宾夕法尼亚大学)
运算速度:
5000次/每秒
真空管:
18000个
占地面积:
182平方米
重量
:
130吨
功耗
:
140kW2023/7/1711计算机操作系统无操作系统的计算机系统从第一台计算机诞生(1945年)到50年代中期的计算机,属于第一代,这时还未出现OS。人工操作方式:这时的计算机操作是由用户(即程序员)采用人工操作方式直接使用计算机硬件系统。由程序员将事先已穿孔(对应于程序和数据)的纸带(或卡片)装入纸带输入机(或卡片输入机),再启动它们将程序和数据输入计算机,然后启动计算机运行。当程序运行完毕并取走计算结果后,才让下一个用户上机。2023/7/1712计算机操作系统1张穿孔卡片等于100个字节1MB=10K卡片这种人工操作方式有以下两方面的缺点:(1)用户独占全机。(2)CPU等待人工操作。没有输入输出设备,再好的计算机也无法发挥作用2023/7/1713计算机操作系统
脱机输入/输出方式
(Off-LineI/O)
脱机:通过专门的外围机来控制输入到磁带上和输出到卡片上,当CPU需要这些数据时再从磁带上将其高速调入内存。减少了CPU的空闲时间:输入输出不占用主机时间。提高I/O速度脱机I/O示意图2023/7/1714计算机操作系统单道批处理系统(SimpleBatchProcessingSystem
)批处理过程2023/7/1715计算机操作系统单道批处理系统的处理流程2023/7/1716计算机操作系统单道批处理系统的特征单道批处理系统是最早出现的一种OS,严格地说,它只能算作是OS的前身而并非是现在人们所理解的OS。尽管如此,该系统比起人工操作方式的系统已有很大进步。该系统的主要特征如下:自动性:作业依次运行,无须人为干预顺序性:作业运行顺序与进入内存的顺序一致,先调入的作业先完成。单道性:内存中只有一道程序运行。2023/7/1717计算机操作系统单道批处理的问题:CPU和I/O设备使用不均衡
---对计算为主的作业,外设空闲
---对I/O为主的作业,CPU空闲解决办法使用多道程序同时进入内存运行,提高资源利用率,即采用多道程序系统。2023/7/1718计算机操作系统多道批处理系统(MultiprogrammedBatchProcessingSystem)多道程序设计的概念同时把多个作业放入内存并允许它们交替执行,共享系统中的各类资源,当一道程序因为某种原因暂停执行时,cpu立刻转去执行另一道程序。多道批处理系统:是使用多道程序设计技术的批处理系统2023/7/1719计算机操作系统提高CPU的利用率可提高内存和I/O设备利用率增加系统吞吐量多道程序设计的好处:2023/7/1720计算机操作系统单多道批处理系统比较单道和多道程序运行情况程序A程序B程序C程序D调度程序2023/7/1721计算机操作系统单多道批处理系统比较单道和多道程序运行情况程序A程序B程序C程序D调度程序2023/7/1722计算机操作系统
程序运行时间表(单位:ms)有三个程序A,B,C,它们使用同一个设备进行I/O操作,并按A,B,C的优先次序执行。这三个程序的计算和I/O操作时间如表所示,假设调度的时间可忽略不计,请分别画出单道程序环境和多道程序环境下(假设内存中可同时装入这三道程序),它们的运行时间关系图,并比较它们的总运行时间。程序操作ABC
计算306020I/O403040
计算1010202023/7/1723计算机操作系统资源利用率高系统吞吐量大平均周转时间长无交互能力批处理:交互性差-提高对cpu的利用率多道程序设计的优缺点:2023/7/1724计算机操作系统多道批处理的需要解决的问题
处理机的管理问题。多个程序之间如何分配以便共享处理机?如何回收?内存管理问题。如何分配作业必需的内存空间,以便他们各得其所而又不会互相重叠?如何防止一个程序破坏其他程序?I/O设备管理问题。I/O设备为所有程序共享,如何协调以提高设备使用效率?文件管理问题。如何管理大量的程序和文件?作业管理问题。各种不同类型的作业如何有效管理?增加一组软件,对以上问题进行有效处理,这组软件就构成了操作系统。2023/7/1725计算机操作系统分时系统(TimeSharingSystem)分时系统的产生:如果说,推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是用户的需求。用户的需求具体表现在以下几个方面:
(1)人—机交互。
(2)共享主机
(3)便于用户上机。每一个用户通过配有输入键盘和输出显示器的终端工作站和主机连接2023/7/1726计算机操作系统分时系统(TimeSharingSystem)分时系统实现中的关键问题:为实现分时系统,其中,最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。此后,用户可继续键入下一条命令,此即人—机交互。应强调指出,即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。及时接收及时处理批处理系统无法满足以上要求2023/7/1727计算机操作系统分时系统(TimeSharingSystem)分时系统的特征:多路性:一个机器同时连接多个终端。宏观上多个用户同时工作,微观上则是每个用户作业轮流运行一个时间片。独立性:每个用户使用各自的终端与主机交互,感觉不到其它用户的存在,好像独立使用计算机。用户之间互不干扰。及时性:用户的请求应当在很短时间内响应。交互性:用户通过终端与系统进行对话。分时系统主要用于软件开发和运行较小的程序。因为在这种环境下用户大部分时间都在思考,不会长期连续地占用CPU,以利于其他用户使用。2023/7/1728计算机操作系统实时系统(Real-TimeSystem)所谓“实时”,是表示“及时”,而实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。按任务执行时是否呈现周期性来划分周期性实时任务。非周期性实时任务。根据对截止时间的要求来划分硬实时任务(hardreal-timetask)。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。软实时任务(Softreal-timetask)。它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。2023/7/1729计算机操作系统实时系统与分时系统特征的比较多路性:类似独立性:类似及时性:区别显著交互性:有区别可靠性:区别显著2023/7/1730计算机操作系统微机操作系统的发展单用户单任务操作系统MS-DOS单用户多任务操作系统Windows1.0~XP多用户多任务操作系统LinuxUnixSolaris2023/7/1731计算机操作系统本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能2023/7/1732计算机操作系统本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计2023/7/1733计算机操作系统操作系统的特征并发性(Concurrence)
共享性(Sharing):虚拟性(Virtual):异步性(Asynchronism):2023/7/1734计算机操作系统操作系统的特征—并发性(Concurrence)
并发性:指两个或多个事件在同一时间间隔内发生理解:
---在多道程序环境且单处理机系统下,宏观上并行,微观上交替执行。
---多处理机系统中,并发可并行执行并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生并行一定并发,并发不一定并行2023/7/1735计算机操作系统并发性---串行、并行、并发比较假设有三个程序A,B,C串行并行并发2023/7/1736计算机操作系统并发性->进程,线程进程是系统中能独立运行并作为资源分配的基本单元,是一个能独立运行的活动实体。操作系统需要增设若干进程管理功能。线程是比进程更小的单位,一个进程包含多个线程。是独立运行独立调度的基本单位2023/7/1737计算机操作系统操作系统的特征—共享性(Sharing)共享性(Sharing):系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式主要有以下两种资源共享方式。互斥共享同时访问2023/7/1738计算机操作系统共享性---互斥共享方式为什么要采用互斥共享?系统中的某些资源,如打印机、磁带机,虽然可以提供给多个进程(线程)使用,但规定在一段时间内只允许一个进程(线程)访问该资源。避免结果不致造成混淆。如何保证互斥共享?临界资源-----在一段时间内只允许一个进程访问的资源(也叫独占资源)如何使用临界资源?当一个进程A要访问某资源时,必须先提出请求,只有资源空闲时才可分配给请求进程A使用,此后若再有其它进程也要访问该资源时(只要A未用完)则必须等待。仅当A进程释放该资源后,另一进程才可访问该资源。临界资源有哪些?举例:计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格2023/7/1739计算机操作系统共享性---同时访问方式何谓同时?同时并非同步,并行。这里所谓的“同时”往往是宏观上的;微观上,进程可能是交替地对该资源进行访问。可“同时”访问的资源有哪些?典型资源是磁盘设备与互斥共享方式的区别?可以在一段时间内同时使用,不必等待别的进程全部使用完毕。2023/7/1740计算机操作系统并发性与共享性关系并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。如何互为存在条件?共享性以并发性为条件资源共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;并发性受共享性影响若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。2023/7/1741计算机操作系统操作系统的特征—虚拟(Virtual)技术操作系统中的虚拟含义是什么?通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的东西。虚拟技术实现哪些虚拟?虚拟处理机、虚拟内存、虚拟外部设备和虚拟信道等。Os中的虚拟技术有几种方式实现?时分复用方式-----利用处理机的空闲时间空分复用方式-----利用存储器的空闲空间2023/7/1742计算机操作系统虚拟技术---时分复用技术时分复用有哪些技术?虚拟处理机技术通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一台处理机的。使每个终端用户都认为是有一个CPU在专门为他服务。一台物理上的CPU虚拟为多台逻辑上的CPU虚拟设备技术使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为在一段时间内允许多个用户同时访问的共享设备。如打印机2023/7/1743计算机操作系统虚拟技术---空分复用技术空分复用技术中的主要应用?虚拟存储器技术将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。虚拟存储技术的本质是什么?本质是使内存分时复用,单纯的空分复用存储器只能提高内存利用率2023/7/1744计算机操作系统虚拟技术---速度如果虚拟的实现是通过时分复用的方法,即对某一物理设备进行分时使用时,如果n是某物理设备所对应的虚拟的逻辑设备数,则虚拟设备的平均速度必然等于或低于物理设备速度的1/n。同理,空分复用中,一台虚拟设备平均占用的空间必然等于或者低于物理设备所拥有空间的1/n。2023/7/1745计算机操作系统操作系统的特征—异步性(Asynchronism)何谓异步性?进程以人们不可预知的速度向前推进在多道程序环境下,允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续执行。由于资源等因素的限制,使进程的执行通常以“停停走走”的方式运行,进程以不可预知的进度推进。难以重现系统在某个时刻的状态2023/7/1746计算机操作系统本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能2023/7/1747计算机操作系统本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计2023/7/1748计算机操作系统操作系统的主要功能处理机管理功能进程控制、进程同步、进程通信、调度存储器管理功能内存管理、保护、地址映射、扩充设备管理功能缓冲管理、设备分配、设备处理文件管理功能文件存储空间管理、目录管理、文件保护操作系统和用户之间的接口2023/7/1749计算机操作系统处理机管理功能---进程控制进程控制的主要作用是什么?为作业创建进程,分配必要的资源。撤销已结束进程,及时回收该进程所占用的各类资源。控制进程在运行过程中的状态转换。为一个进程创建若干个线程的功能和撤消(终止)已完成任务的线程的功能(在现代OS中)。作业处理机进程作业进程2023/7/1750计算机操作系统处理机管理功能---进程同步进程同步的作用是什么?异步性,特点?为多个进程(含线程)的运行进行协调进程同步的协调方式有哪些?进程互斥方式---临界资源互斥访问进程互斥的机制如何实现?为每一个临界资源配置一把锁W,当锁打开时,进程(线程)可以对该临界资源进行访问;而当锁关上时,则禁止进程(线程)访问该临界资源。信号量机制进程同步方式---在相互合作完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。2023/7/1751计算机操作系统处理机管理功能---进程通信进程通信的任务就是用来实现在相互合作的进程之间的信息交换。输入进程计算进程打印进程2023/7/1752计算机操作系统处理机管理功能---调度为什么要调度?因为在后备队列上等待的每个作业,要经过调度才能执行。调度的分类包括作业调度和进程调度两步。2023/7/1753计算机操作系统存储器管理功能---内存分配内存分配的主要任务是为每道程序分配内存空间。有两种分配方式:静态和动态静态分配特点:每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,不允许作业在内存中“移动”;动态分配特点:每个作业所要求的基本内存空间是在装入时确定的;允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨;允许作业在内存中“移动”。2023/7/1754计算机操作系统存储器管理功能---内存保护内存保护的主要任务?确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。
一种比较简单的内存保护机制,是设置两个界限寄存器
越界检查都由硬件实现不允许用户程序访问操作系统的程序和数据不允许用户转移到非共享的其他用户程序中去执行。2023/7/1755计算机操作系统存储器管理功能---内存保护2023/7/1756计算机操作系统存储器管理功能---地址映射逻辑地址(地址空间中)物理地址(内存空间中)如何映射?什么是逻辑地址?什么是物理地址?应用程序(源程序)地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的;由这些地址所形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”或“相对地址”。由内存中的一系列单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。
在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存)2023/7/1757计算机操作系统存储器管理功能---地址映射#include<stdio.h>intmain(intargc,char*argv[]){chars[10];char*p=s;}……intmain(intargc,char*argv[]){inta=1;}2023/7/1758计算机操作系统存储器管理功能---内存扩充如何进行扩充?借助于虚拟存储技术,从逻辑上去扩充内存容量。(1)请求调入
(2)置换内存容量有变化吗?内存容量实际没变,但却可以承担大于这一容量的更多事情。优点:既满足了用户的需要,改善了系统的性能,又基本上不增加硬件投资。2023/7/1759计算机操作系统设备管理功能---缓冲管理为什么要引入缓冲管理?如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。常见的缓冲机制?单缓冲机制实现双向同时传送数据的双缓冲机制能供多个设备同时使用的公用缓冲池机制。2023/7/1760计算机操作系统设备管理功能---设备分配设备分配原则?用户进程的I/O请求系统的现有资源情况设备分配策略。如果在I/O设备和CPU之间,存在着设备控制器和I/O通道时,须为分配出去的设备分配相应的控制器和通道。2023/7/1761计算机操作系统设备管理功能---设备处理设备处理的基本任务?设备处理程序又称为设备驱动程序。基本任务是用于实现CPU和设备控制器之间的通信。由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。2023/7/1762计算机操作系统文件管理功能---文件空间管理文件空间管理的主要任务?为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。2023/7/1763计算机操作系统文件管理功能---目录管理目录管理的主要任务?(1)为每个文件建立其目录项,并对目录项加以组织,实现按名存取。(2)实现文件共享。只须在外存上保留一份该共享文件的副本。(3)提供快速的目录查询手段。提高对文件的检索速度。2023/7/1764计算机操作系统文件管理功能---文件的读写管理与保护文件的读/写:(1)文件的读/写管理。根据用户的请求,从外存中读取数据;或将数据写入外存。文件保护:①防止未经核准的用户存取文件;②防止冒名顶替存取文件;③防止以不正确的方式使用文件。2023/7/1765计算机操作系统操作系统与用户之间的接口用户接口:命令接口,程序接口,图形接口程序接口:系统调用在高级语言以及C语言中,往往提供了与各系统调用一一对应的库函数,这样,应用程序便可通过调用对应的库函数来使用系统调用。2023/7/1766计算机操作系统系统调用的执行过程一般把处理机在用户程序中执行称为用户态(usermode),而把处理机在系统程序中执行称为系统态(kernelmode)。2023/7/1767计算机操作系统本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计2023/7/1768计算机操作系统无结构操作系统
在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。此时的OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此,这种OS是无结构的,也有人把它称为整体系统结构。此时程序设计的技巧,只是如何编制紧凑的程序,以便于有效地利用内存、对GOTO语句的使用不加任何限制,所设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构。一方面会使所编制出的程序错误很多,给调试工作带来很多困难;另一方面也使程序难以阅读和理解,增加了维护人员的负担。2023/7/1769计算机操作系统模块化OS结构为使OS具有较清晰的结构,OS不再是由众多的过程直接构成,而是将OS按其功能划分为若干个具有一定独
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论