1.计算机操作系统引论

操作系统引论

1.操作系统的目标和作用

1.1计算机系统划分

计算机是由硬件和软件两部分组成的,而操作系统(Operating System)是配置在计算机硬件之上的第一层软件,是对计算机硬件的第一次扩充。操作系统是系统软件的基础,其他的系统软件,例如编译程序、汇编程序、数据库管理系统、诊断程序等,都是在操作系统的支持下工作的,都要依赖于操作系统,取得操作系统提供的各类服务。

1.2操作系统的目标

1.方便性:计算机硬件只能识别0或1,即只能识别机器代码,因此没有配置操作系统的计算机是难以使用的;如果配置了操作系统,则可以使用OS提供的各种命令来使用计算机系统,从而方便了用户,也使计算机变得易学易用。

2.有效性:操作系统可以管理CPU、I/O设备等系统资源,从而避免各种资源使用无需而引起的资源浪费现象。配置了OS的计算机可有效改善系统的资源利用率和提高系统吞吐量。

3.可扩充性:OS采用模块化设计,可适应计算机硬件和体系结构的迅速发展,可方便增加新的功能模块和修改旧的功能模块。

4.开放性:为了适应不同的硬件系统和软件系统,实现硬件设备正确、有效地协同工作,以及实现应用程序地可移植性和互操作性,要求OS具有开放性。

说明:方便性和有效性是OS最重要的两个目标。当前更重视OS使用上的方便性。

1.3操作系统的作用

1.从一般用户的观点看,OS是用户和计算机硬件系统之间的接口;用户可以通过命令方式或者系统调用方式来使用计算机。

2.从资源管理的观点看,OS是计算机资源的管理者。计算机的资源分为四类:处理器、存储器、I/O设备和信息(数据和程序),相应地,OS系统的主要功能也是对这四类资源的管理,即:处理机管理、存储器管理、I/O设备的管理、文件管理。这也是本课程要介绍的主要内容。

3.OS可用作扩充机器。没有任何软件支持的计算机,称为裸机,覆盖了软件的机器称为虚拟机(Virtual machine);每多覆盖一层软件,则虚拟机的功能就越强。

4.操作系统可以用一种层次结构模型描述:底层是OS对象,中间层是对对象进行的操作和管理的软件的集合;最高层是OS提供给用户的用户接口。


2.操作系统的发展历史

2.1无操作系统时代

1.人工操作方式:主要发生在第一代计算机到上世纪50年代中期,此时的程序员通过人工操作方式(重复开关机器按钮)直接操作计算机硬件系统;用户独占全机和CPU等待人工操作是这种方式的主要缺点。

人工操作方式严重影响了计算机资源的利用率,引起了所谓的“人机矛盾”。后来出现了“通道技术”和“缓冲技术”,用于缓和此矛盾,但是效果不好,再后来引入了“脱机输入输出方式”,获得了良好的效果。

2.脱机输入输出方式:该方式最突出的方式是增加了外围机。外围机的作用在于脱机控制输入设备和输出设备。因为输入和输出都是在脱机状态下进行的,因此可有效减少CPU的空闲时间,从而缓和了人机矛盾。该中方式的优点是:减少了CPU的空闲时间;提高了I/O的速度。

2.2操作系统时代

1.单道批处理系统:是为提高系统资源利用率和系统吞吐量而提出的,配有监督程序(Monitor)。首先将一批作业以脱机输入输出方式输入道磁带上,然后在监督程序的监督之下顺序执行。此种方式可保证系统对作业的处理是成批进行的,且内存中总保持一道作业。其效果并不好,目前已经很少使用。其特点是:自动性(无需人工干预)、顺序性、单道性。可以认为SBS是OS的前身。

说明:系统吞吐量是指系统在单位时间内完成的总工作量。

2.多道批处理:为进一步提高系统资源的利用率和系统吞吐量,引入了多道程序设计技术,增加了作业调度程序。用户提交的作业都存放在外存上,排成一个队列(后备队列);然后,由专门的作业调度程序按照一定的算法从后备队列中选择若干个作业调入内存,这些作业共享内存和处理机等资源,可并发运行。优点:提高CPU的利用率(有效避免I/O等待);提高内存和I/O设备的利用率;增加系统吞吐量。缺点:平均周转时间长;无交互能力。特征:多道性、无序性(作业完成顺序同进入顺序无关)、调度性(作业调度和进程调度)。

说明:
作业调度是将作业从外存调入内存,但是不一定占有处理机;进程调度是从已在内存中的作业选择一个作业,将处理机分配给它,使其运行。

平均周转时间:从作业进入系统开始,指导其完成并退出系统所经历的时间。

3.分时系统:是一台主机 + 多个终端的系统。推动分时系统形成和发展的动力是用户的需要。用户使用计算机时,希望实现“人机交互”,以便能对错误进行修改,并且希望能独占主机;但是在19世纪60年底,计算机非常昂贵,又不可能每个用户独占一台主机,所以“共享主机”是一个不错的选择;同时,如果每个用户各自占用一台终端设备,则可以方便地将自己的作业通过终端设备传输到计算机上处理。

分时系统的定义:是指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机的资源,每个用户都可以通过自己的终端以交互的方式使用计算机。
分时系统需要解决的问题:
及时接收:指的是主机要及时接收用户输入的命令和数据
及时处理:指用户通过终端键入命令后能及时控制自己的作业运行或修改自己的作业。在分时系统中,所有用户的作业都直接进入内存,且在较短短时间内(例如3秒之内)保证每个作业都运行一次(一个时间片)。

时间片:指的是一段很短的时间,例如0.1秒,用于进程调度时的时间段表示。

分时系统的实现方法:
a. 单道分时系统:系统内存中只驻留一道程序(作业),其余作业都在外存上。当内存中的一个作业运行一个时间片后,便被调至致外存(称为调出),再从外存上选一个作业装入内存(称为调入)并运行一个时间片,如此往返。特点:每个用户的作业都可以轮流调入内存接受CPU的服务,但是由于每道作业都是频繁的调入调出多次,开销大,CPU空闲较多,系统性能较差。

b. 具有“前台”和“后台”的分时系统:为充分利用CPU,将内存分为前台区和后台区,前台区存放按时间片“调入”和“调出”的作业流,后台区存放批处理作业。只有前台在调入/调出过程中,或者前台已经无作业可运行时,方才可运行后台区的作业。该类型分时系统能在一定程度提高了系统的性能。

c. 多道分时系统:内存中可同时存放多道作业(程序),每道程序在内存中没有固定的位置。系统将具备运行条件的作业排成一个队列,这些作业可以轮流获得时间片来运行。该类系统的特点是:切换作业是在内存中进行,不要花费调入、调出开销,具有较好的性能。现代的分时系统多属于多道分时系统。

分时系统的特点:
(1) 多路性:一台主机上连接多台终端,系统按照分时原则轮流为每个用户服务。多路性也称为同时性。
(2)独立性(独占性):是从用户的角度考虑的,每个用户独占一个终端,各自独立操作,互补干扰,因此,用户感到是他一个人占用主机。
(3)及时性:用户的请求能在很短短时间内获得响应。人所能接受的等待时间是2~3秒,因此,分时系统中让用户等待的时间也限定在该范围内。
(4)交互性:用户通过终端可以同主机进行广泛的对话,以实现人机交互。

4.实时系统:多道批处理系统和分时系统虽然已经获得了较好的资源利用率和响应时间,但是无法解决“实时控制”和“实时信息处理”两个领域的应用。

计算机作为控制系统的中心设备,用于生产过程的控制,能保证实时采集现场数据,并对数据进行及时处理和自动控制,例如高炉温度控制、武器控制、自动驾驶系统等。“实时”是“及时”或“即时”的意思,而“实时系统”是指能及时响应外部时间的请求,在规定的时间内完成对该时间的处理,并控制所有实时任务协调一致地运行。

实时任务:控制系统中要求在规定时间内完成的任务称为实时任务,它们都带有某种程度的紧迫性。分类如下:
(1)按照是否呈现周期性划分
周期性实时任务:任务按照制定的周期循环执行;
非周期性实时任务:任务的执行无明显得周期性,但是都同一个截止时间相联系。截止时间(deadline)分为开始截止时间和完成截止时间。所谓开始截止时间,是指任务在某时间之前,必须开始执行;所谓完成截止时间,是指某任务必须在某时间之前完成。

(2)按照对截止时间的要求严格程度划分
硬实时任务:系统必须满足对截止时间的要求,否则可能出现难以预料的后果;
软实时任务:系统也有也一个截止时间,但是对截止时间的要求不严格。若错过了截止时间,对系统产生的影响也不会很大。

2.3操作系统分类

1.微机操作系统:
①单用户单任务操作系统(CP/M和MS-DOS)
②单用户多任务操作系统(OS/2和windows系列)
③多用户多任务操作系统(UNIX OS)

2.多处理机操作系统MPS

3.网络操作系统:两种模式C/S模式和对等模式

4.分布式操作系统


3.操作系统的基本特性

3.1操作系统的定义

操作系统的定义:是一组控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户的程序的集合

批处理系统、分时系统和实时系统是三种基本的操作系统类型。一个实际的操作系统,可能兼有三者或者其中两者的功能。

3.2操作系统四大基本特征

1.并发性
并发:两个或多个事件在同一个时间间隔内发生。(同一时间段)
并行:两个或多个事件在同一时刻发生。(同一时间点)

程序是不能并发进行的,是静态实体;为使得程序能并发执行,系统必须为每个程序建立进程。进程,也称任务,是系统中能独立运行且作为资源分配的基本单位,是一个活动实体。进程之间可以并发执行和交换信息。

2.共享性
系统中的资源可供内存中的多个并发执行的进程共同使用。有两种共享资源的方式:互斥共享方式和同时访问方式

互斥共享方式:有的资源可以供多个进程使用,但是在一个特定的时间段内只能由一个进程占用,这样的资源称为临界资源;其它希望使用该资源的进程必须等待当前进程释放该资源。
同时访问方式:有的资源(如磁盘)可以允许多个进程同时访问。注意这里的“同时”是一个宏观的概念,在微观上往往是这些进程交替对资源进行访问。

3.虚拟性
通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体实实在存在的,而后者是虚拟的,是用户感觉到的东西。例如多道分时系统中中只有一个CPU,但是每个终端用户都认为有一个CPU在专门为他服务,此即为利用多道程序技术把一台物理上的CPU变成多台逻辑的CPU。

4.异步性
多道环境中,多个进程并发执行,但是由于资源有限,通常进程的执行并非“一气呵成”,而是以“走走停停”的方式进行,即进程是以异步方式进行的

并发和共享是操作系统的两个最基本的特征,且互为依存。


4.操作系统的主要功能

4.1操作系统提供的服务

操作系统提供了其他程序执行的环境,也为程序和用户提供了一些操作系统的服务。操作系统可以提供诸如程序执行、I/O操作、文件系统操纵、通信以及差错检测等服务,还可以提供系统调用(System Call)服务。

4.2操作系统的五大功能

1.处理机管理功能:实际是对进程的管理。在多道程序环境下,对处理机的管理是以进程为基本单位的,因此处理机的管理可以归结为对进程的管理。主要有以下功能:进程控制、进程同步、进程通信和调度(作业调度和进程调度)等。

2.存储器管理功能:为多道程序的运行提供良好的环境。这里的“存储器”指的是内存。主要有以下功能:内存分配(静态分配、动态分配)、内存保护(每道程序在自己的内存范围内,不能越界)、地址映射和内存扩充(借助虚拟存储技术)

3.设备管理功能:主要任务是完成用户提出的各种I/O请求,为用户分配I/O设备,提高CPU和I/O设备的利用率,提高I/O速度,以及方便用户使用I/O设备。主要功能有:缓冲管理(CPU和I/O设备之间速度不匹配)、设备分配(包括回收)、设备处理(设备驱动)、保证设备的独立性和虚拟性。

4.文件管理功能:主要是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。主要功能包括:文件存储空间的管理、目录管理、文件的读写管理以及文件的贡献与保护等。

5.用户接口功能:是操作系统为了方便用户使用而向用户提供的“用户与操作系统的接口”,通常以命令和系统调用的形式呈现出来,有命令接口、程序接口(系统调用)和图形接口几种形式。

补充:
1.推动批处理系统形成和发展的主要动力是提高系统资源利用率
2.推动分时系统形成和发展的主要动力是方便用户
3.推动微机OS发展的主要动力是计算机硬件的不断更新换代
4.UNIX和Linux是分时操作系统
5.批处理系统没有交互性
6.现代操作系统的两个基本特征:程序并发执行和资源共享


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值