本学期开始学习《计算机操作系统》,这是计算机专业非常重要的一门基础专业课,所以决定通过写博客的方式来总结知识重点。所用的教材是《计算机操作系统》(第四版)汤小丹
如有错误,欢迎指正。
操作系统的定义:操作系统是一组能有效组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
由图可知:用户可以通过命令方式、系统调用方式和图形、窗口方式使用计算机
OS作为计算机系统资源的管理者
硬件资源:处理器、存储器、I/O设备
信息资源:程序和数据
OS的主要功能正是对以下四类资源进行有效的管理:
处理机管理:用于分配和控制处理机
存储器管理:主要负责内存的分配与回收
I/O设备管理:负责I/O设备的分配(回收)与操作
文件管理:实现对文件的存取、共享和保护
OS实现对计算机资源的抽象
当计算机上覆盖了操作系统后,便为用户提供了一台功能显著增强,使用更加方便,效率明显提高的虚拟计算机
由上图可知,用户需要了解物理接口的实现细节;利用机器指令进行编程。
由上图可知,用户无需了解物理接口的实现细节;在窗口环境下使用计算机。
通常把覆盖了上述软件的机器成为扩充机器或虚机器
OS是铺设在计算机硬件上的多层软件的集合。他们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节。实现了对硬件操作的多个层次的抽象模型。
工作方式:把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个连续处理。
工作过程:由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带(盘)上的第二个作业调入内存。计算机系统这样一个作业一个作业地进行处理,直至磁带(盘)上的所有作业全部完成。
由工作特点可知,单道批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的。
特点:自动性:作业能够自动地逐个依次运行,无须人工干预
顺序性:各道作业的完成顺序与进入内存的顺序相同
单道性:内存中仅有一道程序运行(最主要的缺点,造成系统资源得不到充分利用)
【多道程序设计原理】:在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互穿插地运行,共享CPU和外设等资源。采用多道程序设计技术的批处理系统称为多道批处理系统。
用户所提交的作业都先存放在外存上并排成一个队列(称为“后备队列”),作业调度程序按一定算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
多道批处理的优缺点:
多道程序运行情况
利用因I/O操作而暂停执行时的CPU空挡时间,调度另一道程序运行
多道批处理系统的特征:
1.多道性:在内存中可驻留多道程序
2.无序性:多个作业完成的先后顺序与它们进入内存的顺序之间并无严格的对应关系
3.调度性:作业从提交给系统开始直至完成需要经历作业调度和进程调度
多道批处理系统需要解决的问题:
单道与多道的对比
区分多道程序系统和多处理系统:
多道程序系统:多个程序在内存中交替运行(并发)
多处理系统:多个处理器(并行)
多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的。
例题1:有3个作业A、B、C, A是计算作业、 B是检索磁带上数据的作业, C是打印作业。3个作业单道运行时间分别为5分钟、15分钟和10分钟。假设可在15分钟内并行完成这3个作业。则各资源的利用率分别为:
单道:CPU(A):5/30≈17% 磁带机(B):15/30 = 50% 打印机(C):10/30 = 33.3%
多道:CPU(A):5/15≈33.3% 磁带机(B):15/15 = 100% 打印机(C):10/15 = 66.6%
单道一次一个作业,总用时30min,多道一次多个作业:总用时按最多单个作业时间算
例题2:在有一台CPU和两台输入/输出设备(磁盘机和磁带机)的多道程序系统中,同时投入运行2个程序A和B。这2个程序对CPU和磁盘和磁带的使用顺序和使用时间为:
程序A:磁带(30S)、CPU(10S)、磁盘(30S)、CPU(10S)、磁带(20S)
程序B:磁盘(20S)、CPU(30S)、磁带(40S)
假定:CPU、磁盘和磁带都能并行工作
试问:在单道和多道两种方式下,
1、程序A和B从投入运行到运行完成所用的时间分别是多少?
2、CPU、磁盘和磁带的利用率是多少?
程序A、B同时运行情况如图:
由图知:(1)单道:A需要100s,B需要90s; 多道:A,B 共需120s (这类题画图最为直观)
(2)
例题3:采用多道程序设计技术能充分发挥__CPU与外设__并行工作的能力
例题4:在主机控制下进行的输入/输出操作称为 _ 联机输入/输出 __操作。
例题5:引入多道程序技术的前提条件之一是系统具有(中断功能)。
定义:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
分时系统产生原因:1.人机交互的需求(主要动力)。 2.共享主机。 3.方便用户
工作方式:
1.一台主机连接了若干个终端
2.每个终端有一个用户在使用
3.交互式的向系统提出命令请求
4.系统接受每个用户的命令
5.采用时间片轮转方式处理服务请求
6.并通过交互方式在终端上向用户显示结果
7.用户根据上步结果发出下道命令
如图:
分时系统实现的关键问题:
分时系统特征:
定义:系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行
应用(类型):
任务类型:(1)周期性实时任务和非周期性(有开始和结束时间)实时任务(2)硬实时任务和软实时任务
除以上操作系统外,此处再补充:
网络操作系统:在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。
分布式系统:是只由多台分散的计算机,经互连网络的联接而形成的系统,系统的处理和控制功能分布在各个计算机上。分布式计算机系统又简称为分布式系统。 从硬件上讲,它与计算机局域网没有任何区别,关键是软件。
分布式操作系统:是指配置在分布式系统上的操作系统。它能直接对分布式系统中的各种资源进行动态分配,并能有效地控制和协调分布式系统中各任务的并行执行,同时还向用户提供了一个方便的、透明的使用整个分布式系统的界面。
分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。
嵌入式操作系统:是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件
例题1:_____批处理_____系统不允许用户随时干预自己程序的运行
两个或多个事件在同一时间间隔内发生。与并行(parallel)不同,并行是指两个或多个事件在同一时刻发生。
在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行并发,微观上交替执行(在单处理器情况下) 。如果系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。
程序的静态实体是可执行文件,而动态实体是进程(或称作任务),所谓进程是在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成,是一个能独立运行的活动实体,并发指的是进程的并发。
多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。
主要实现资源共享的方式有如下两种
并发和共享是多用户(多任务)OS的两个最基本的特征。他们又是互为存在的条件。
定义:通过某种技术将一个物理实体(实际存在)变为若干个逻辑上的对应物(虚的)的功能称为“虚拟”。
虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。
主要通过以下两个技术来 实现:
异步性也称不确定性,指进程的执行顺序和执行时间的不确定性。
多道程序设计环境下,程序按异步方式运行。多个进程并发执行,“时走时停”,不可预知每个进程的运行推进快慢,引发执行顺序与时间的不确定。
如果没有很好的同步机制,可能会导致程序执行结果不确定,不可再现。相同输入与环境下多次运行结果不同。
但只要在OS中配置有完善的进程同步机制,且运行环境相同,则作业即便经过多次运行,也都会获得完全相同的效果(当前操作系统中,都配置有很好的同步机制,保证程序多次运行的结果相同)。因此异步运行方式是允许的,而且是操作系统的一个重要特征。
主要任务:完成用户进程提出的I/O请求;为用户分配其所需的I/O设备;提高CPU与I/O设备利用率;提高I/O速度;方便用户使用I/O设备。
主要功能:
对用户文件和系统文件进行管理,解决文件资源的存储、共享、保密和保护。包括以下方面:
操作系统是一个大型的系统软件,其结构经历了四代变革。早期的无结构OS(第一代)、模块化结构的OS(第二代)和分层式结构的OS(第三代),都成为传统结构的OS,而把微内核结构的OS称为现代结构的OS。
无结构OS (第一代)特点:
①缺乏首尾一致的设计思想
②该类OS庞大又杂乱,缺乏清晰的程序结构(数量众多的一组过程的集合,每个集合可以任意地调用其他过程)
③程序错误很多,给调试带来很大麻烦
④程序难以阅读和理解,维护困难
模块化结构OS(第二代) 特点:
①基于“分解”和“模块化”原则控制大型软件的复杂度
②OS将被划分为多个功能模块,每个模块具有某方面的管理功能,各模块细分为若干个具有一定功能的子模块…
③ 各模块间通过预定义好的接口通信
利用模块-接口法(无序模块法)开发的OS比无结构OS有以下优点:
(1)提高OS设计的正确性、可理解性、可维护性
(2)增强OS的可适应性
(3)加速OS开发过程
存在的问题(缺点):
(1)设计OS时的错误可能会导致模块匹配的困难(设计接口时很难满足实际需求)
(2)功能观点划分的模块无法区分共享资源和独占资源,模块间的复杂依赖关系也无法完全描述与实现
分层原则
客户/服务器系统由:客户机、服务器和网络系统组成。
优点:(1)数据的分布处理和存储 (2)便于集中管理 (3) 灵活性和可扩充性 (4)易于改编应用软件。
不足:存在着不可靠性和瓶颈问题
微内核操作系统结构,是20世纪80年代后期发展起来的。Mach OS,Windows 2000/XP操作系统,都采用了微内核结构。
微内核操作系统特点:(1)足够小的内核(2)基于客户/服务器模式;(3)应用“机制与策略分离”原理(4)采用面向对象技术
微内核操作系统的基本功能:(1)进程(线程)管理(2)低级存储器管理(3)中断和陷入处理
微内核操作系统的优点:(1)提高了系统的可扩展性(2)增强了系统的可靠性 (3)可移植性强 (4)提供了对分布式系统的支持 (5)融入面向对象技术
微内核操作系统存在的问题:主要是OS的运行效率有所降低。
。