【操作系统原理】1.操作系统概述

发布于:2022-11-11 ⋅ 阅读:(1104) ⋅ 点赞:(0)

写在前面

这是作者在本学期学习操作系统原理的时候做的笔记,由于本人水平有限,对很多概念的理解比较浅显/(ㄒoㄒ)/,欢迎各位大佬多多评价,多多批评指正,希望与大家互相交流学习(●’◡’●)。

参考资料
[1] 汤小丹 汤子瀛《计算机操作系统》
[2] 苏曙光 《操作系统原理(慕课版)》
[3] HUST操作系统原理课程组 PPT
[4] 哈尔滨工业大学 操作系统MOOC

最后更新时间

2022-10-12 19:00


1 操作系统概述

1.1 操作系统的直观认识及定义

  对于大多数用户来说,操作系统不外乎提供以下几种直观功能:
  1.提供操作界面(桌面、窗口等) 2.控制程序运行(cmd) 3.管理系统资源(安装卸载) 4.配置系统参数(注册表 ) 5.监控系统状态(控制面板、任务管理器) 6.工具软件集合(API)。

  理想的系统程序能合理地组织工作流程,有效地利用系统资源,为用户提供功能强大且使用方便的工作环境,在用户和计算机系统之间起接口和桥梁的作用。这样的系统程序可称为操作系统

  典型的操作系统有:Windows、Linux、MacOS、UNIX、Android、iOS等.

1.2 操作系统的功能

1. OS作为用户与计算机硬件系统之间的接口。
OS作为接口
  OS处于用户与计算机硬件系统之间,用户通过操作系统来使用计算机。在OS的帮助下,用户能更方便、快捷、安全、可靠地操作计算机硬件并运行自己的程序。
  用户可以通过命令方式,系统调用方式,图形、窗口方式使用计算机。
2. OS作为计算机系统资源的管理者。
  处理机管理:用于分配和控制处理机。如:进程控制、进程同步、进程通信、进程调度。
  存储管理:用于内存的分配和回收。如:内存分配、内存共享、内存保护、地址映射、虚拟存储。
  I/O设备管理:负责I/O设备的分配与操纵。如:分配设备、设备控制、设备映射、缓冲区管理。
  文件管理:负责文件的存取、共享和保护。
3. OS实现了对计算机资源的抽象。
  完全无软件的计算机系统称为裸机。
  裸机对于用户来说是难以使用的,因为用户必须对物理接口的实现细节有充分的了解,并利用机器指令进行编程。
  在裸机上覆盖一层I/O设备管理软件,并向上提供命令(如read、write等),用户只需调用而无需关系I/O系统如何实现,即向用户隐藏了I/O设备操作的具体细节。
  我们通常把覆盖了上述软件的机器称为扩充机器或虚机器。

1.3 操作系统的发展历史

1.手动操作阶段
  早期的目标程序通过打孔的方式被记录在纸带(或卡片)上,程序员将已经穿孔的纸带(或卡片)装入输入设备。然后启动设备把程序和数据输入计算机内存,接着通过控制台开关启动程序开始处理数据。计算完毕后,打印机输出计算结果。
  手动操作方式有两个特点:程序的启动和结束都是手动处理;用户预约上机并独占整个计算机。
  手动操作方式的缺陷:CPU运行效率低,在用户占用整个计算机期间,CPU实际运行时间极少;用户独占整个计算机的全部资源,造成资源浪费;程序的运行过程缺少交互性。

2.单道批处理系统
  单道批处理系统是能够控制计算机自动处理一批作业,逐个加载、运行、撤出其中的每个作业,直到全部作业处理完毕的系统监控程序。
  批处理系统的特点主要体现在3个方面:成批、自动、单道。成批:在磁盘中预先存放一批作业,构成作业队列,等待处理;自动:自动识别新的作业,自动完成作业的装入、运行、撤出等一系列操作,不需要人工参与;单道:作业是逐个被系统处理的,属于串行运行。
  单道批处理系统的缺陷:平均周转时间长;无交互能力。而且,主机中仅存放一道作业,每当它在运行期间发出输入输出请求后,高速的CPU便处于等待低速I/O完成的状态,知识CPU空闲。
  单道批处理系统有两种实现形式:联机批处理系统、脱机批处理系统。
联机批处理
  如上图所示,输入和输出都由主机控制,主机与输入设备中间有一个存储设备——磁带。在主机上的监督程序控制下,成批地把用户作业读入磁带形成作业队列,并依次把磁带上的用户作业逐个装入主机运行并把结果送入输出设备。
  优点:减少作业建立和手动操作的时间,有效解决人际矛盾,提高了计算机的利用率。
  缺点:在用户输入和结果输出时,主机的高速CPU仍处于空闲状态,等待慢速的输入输出设备完成工作。
脱机批处理
  在脱机批处理中,增加了一台不与主机直接相连而专门用于与输入/输出设备打交道的卫星机。卫星机的作用是完成输入过程(控制读卡机读取用户作业并放到输入磁带)和输出过程(控制打印机从输出磁带上读取执行结果并打印出来)。主机的作用则是利用上述提到的批处理方式自动按批处理输入磁带上的作业,并将结果存放到输出磁带上。
  优点:主机不直接与慢速的输入输出设备打交道,而与速度相对较快的磁带机发生联系,可以有效缓解主机与设备的速度矛盾;主机与卫星机可并行工作,二者分工明确,可以充分发挥主机的高速计算能力。

3.多道批处理系统
  多道批处理系统是指利用多道程序设计技术,在内存中存放多道程序,当某道程序因为某种原因(例如执行I/O操作时)不能继续运行时,监控程序边调度另一程序投入运行,这样可以使CPU尽量处于忙碌状态,提高系统效率。
多道批处理系统
  如上图所示,当A程序因请求I/O操作而放弃CPU时,B程序就可以见缝插针地占用CPU运行,使CPU尽量不空闲,而正在为A程序执行I/O操作的I/O设备也在同时忙碌,大大提高了资源的利用率,同时也提高了系统的效率。
  多道批处理系统的缺点:单个作业处理时间变长;作业的交互能力差,用户一旦提交作业就失去了对其运行的控制能力;作业的运行过程不确定,每个作业的实际运行过程受其他作业的运行过程影响。

4.分时操作系统
  随着计算机硬件结构的发展,出现了多终端计算机:一台主机可以同时连接多个用户终端。
  分时技术的思想是:把处理机的运行时间分成很短的时间片,以时间片为单位轮流吧处理机分配给各联机终端使用。由于处理机速度很快,在时间片不太大且终端数量不太多的情况下,作业运行轮转地很快,给每个用户的印象是,好像自己独占一台计算机。
  通常来说,在一个时间片内,至少应该能够让程序完成一次完整的输入或输出过程,或者中断处理过程。
  分时系统具有以下三个特点:
  (1)多路性。系统同时支持多路终端的连接。
  (2)独立性。多用户各自独立地使用计算机,相互之间并无影响。
  (3)交互性。用户可以通过终端直接与计算机进行对话,用户通过键盘向主机输入指令或数据,控制计算机的运行,而主机通过终端给用户返回结果或提示信息等。

5.分时操作系统的衍化

  1. 微型计算机操作系统
      微型计算机在20世纪70年代出现,它具有通用性强、体积小、价格便宜等特点,配置在微型计算机上的操作系统称为微型计算机操作系统。典型的微机操作系统有DOSWindowsLinux等。
  2. 实时操作系统
      实时操作系统主要应用于工业过程控制、军事实时控制、金融等领域。它具有响应时间短、系统可靠性高等特点。一般为秒级、毫秒级、甚至微秒级。
  3. 嵌入式操作系统
      嵌入式操作系统(EOS)是嵌入式系统中使用的操作系统。嵌入式系统是把具有计算能力的智能控制模块嵌入到目标程序中,满足目标系统的智能化控制要求的小型、廉价、可靠、专用的计算机系统类型。嵌入式系统广泛用于工业控制、武器系统、航空航天、机器人、智能仪器仪表、通信电子等领域。典型的嵌入式操作系统有Linux μ \mu μcOS-2VxWorks
  4. 网络操作系统
      网络操作系统除了具备通用操作系统的基本功能外,还具有网络管理功能,即提供网络通信和网络资源共享功能。常见的有NetWareUNIXLinuxWindows等。
  5. 分布式操作系统
      分布式操作系统是指运行在分布式系统中,能直接对系统中各类资源进行动态分配和管理,有效控制和协调任务的并行执行,向用户提供统一接口的操作系统。它具有以下功能:资源管理功能、任务分配功能、分布式进程同步和通信功能等。

1.4 操作系统的特征

1.并发性
  指操作系统支持多个程序在计算机系统中并发运行,宏观上是同时向前推进的,微观上是交替在CPU上运行的。
2.共享性
  操作系统支持系统资源(包括CPU)在程序之间共享,可提高资源的利用效率。并发和共享是操作系统两个最基本的特征
3.不确定性
  操作系统具有处理外部随机事件的能力,即中断处理能力;在操作系统提供的并发环境下,程序的执行过程和结果可能具有不确定性。
4.虚拟性
  操作系统覆盖在计算机裸机之上,屏蔽了硬件细节。

1.5 操作系统的评价指标

1.吞吐量
  指系统在单位时间内处理信息的能力或可以处理任务的数量。当并发数逐渐增大时,吞吐量随之增大,当达到峰值时,系统超负荷运行,系统吞吐量减小。
2.响应能力
  通常表现为系统从接收数据到输出结果的时间间隔长短。
3.资源利用率
  指设备在单位时间内被利用的时间百分比。合理的设备分配策略会让设备在单位时间内尽可能被更多的进程共享,提高设备利用率。
4.可移植性
  指改变硬件环境,操作系统仍能正常工作的能力。
5.可靠性
  指操作系统发生错误的概率大小和操作系统发现、诊断和恢复系统故障能力的大小。

本文含有隐藏内容,请 开通VIP 后查看