天天看点

【XJTUSE 操作系统学习笔记】第一章 绪论第一章——绪论

文章目录

  • 第一章——绪论
    • 1.1 什么是操作系统
      • (1) 为什么需要操作系统
      • (2) 操作系统的概念
      • (3) 计算机系统部件
      • (4) 操作系统的目标与作用
    • 1.2 操作系统的发展
      • (1) 手工操作
      • (2) 单道批处理系统(simple batch processing)
      • (3) 多道批处理系统(Multiprogrammed Batch Systems)
      • (4) 分时系统(time-sharing system)
      • (5) 实时系统(Real-Time Systems)
      • (6) 并行系统(Parallel Systems)
      • (7) 分布式系统(Distributed Systems)
      • (8) 网络操作系统
      • (9) 嵌入式系统
    • 1.3 操作系统的功能
      • (1) 处理机管理
      • (2) 存储管理
      • (3) 设备管理
      • (4) 文件管理
      • (5) 用户接口
    • 1.4 操作系统的特点
      • (1) 并发性(concurrency)
      • (2) 共享性(sharing)
      • (3) 虚拟性(virtual)
      • (4) 异步性(asynchronism)

第一章——绪论

【XJTUSE 操作系统学习笔记】第一章 绪论第一章——绪论

1.1 什么是操作系统

(1) 为什么需要操作系统

用户几乎不可能使用裸机,计算机硬件只能识别0、1二值机器码,机器码直观性差,容易出错,难于交流,因此,通常在计算机硬件之上会覆盖一层软件,以方便用户使用计算机硬件。

如果在裸机之上覆盖一层I/O设备管理软件,就能使用户较方便地使用外部设备;如果在其上再覆盖一层文件管理软件,用户就很容易存取系统文件和用户文件;每覆盖一层新的软件,就构造了一台功能更强的虚拟机器。通过OS,计算机能提供种类更多,质量更高的服务。

(2) 操作系统的概念

  • CPU是计算机硬件的核心,是计算机系统的心脏。
  • 操作系统则是计算机软件的核心,是计算机系统的大脑。
  • 操作系统是整个计算机系统的控制中心,是计算机系统中首要的、最重要的、最复杂的系统软件。
  • 定义:把操作系统定义为用以控制和管理计算机系统资源,方便用户使用的程序和数据结构的集合。

(3) 计算机系统部件

计算机系统可以粗分为四个组件:硬件、操作系统、应用程序以及用户。

硬件包括:CPU、内存、输入输出设备、系统总线

【XJTUSE 操作系统学习笔记】第一章 绪论第一章——绪论

操作系统是硬件之上的第一层软件,是对硬件的首次扩充,又是其他软件运行的基础

(4) 操作系统的目标与作用

目标

1️⃣ Execute user programs and make solving user problems easier.

执行用户程序并使用户问题更易解决。

2️⃣ Make the computer system convenient to use.

使计算机系统更易使用。

3️⃣ Use the computer hardware in an efficient manner.

以一种有效率的方式使用硬件。

作用

1️⃣ 计算机硬件、软件资源的管理者

2️⃣ 用户使用计算机硬件、软件的接口

3️⃣ 操作系统是直接与硬件相邻的第一层软件,它是由大量极其复杂的系统程序和众多的数据结构集成的。

1.2 操作系统的发展

OS的发展和计算机硬件技术、体系结构相关

1️⃣ 第一代 (1946年-1955年): 真空管时代,无操作系统

2️⃣ 第二代 (1955年-1965年): 晶体管时代,批处理系统

3️⃣ 第三代 (1965年-1980年): 集成电路时代,多道程序设计

4️⃣ 第四代 (1980年 - 至今): 大规模和超大规模集成电路时代,分时系统。

现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方面发展。

(1) 手工操作

1946 ~ 50年代(真空管)、集中计算(计算中心)、 计算机资源昂贵、用户独占全机

以ENIAC为代表

工作方式:人工操作方式,用户是计算机专业人员;

编程语言:机器语言;

I/O:纸带或卡片;(CPU与I/O速度不匹配的矛盾)

缺点

  • 用户独占全机,独占系统的全部硬件资源,设备利用率很低
  • CPU等待用户:手工装入/卸取纸带或卡片

提高效率的途径:批处理**(一次处理一批任务)**、脱机I/O

脱机I/O:I/O工作在外围机/卫星机的控制下完成,或者说是在脱离主机的情况下进行。使用磁带作为输入/输出的中介,这种具体的输入/输出不需要在主计算机上进行的方式称“脱机输入/输出”

【XJTUSE 操作系统学习笔记】第一章 绪论第一章——绪论

(2) 单道批处理系统(simple batch processing)

50年代末 ~ 60年代中(晶体管)、把一批作业以脱机输入方式输入到磁带/磁鼓、利用磁带或磁盘把任务分类编成作业顺序执行、每批作业由专门监督程序(Monitor)自动依次处理

批处理系统解决了高速计算机的运算、处理能力与人工干预之间的速度矛盾,实现了作业自动过渡。

【XJTUSE 操作系统学习笔记】第一章 绪论第一章——绪论

运行特征

顺序性:磁带上的各道作业是顺序地进入内存,各作业的完成顺序与他们进入内存的顺序相同

单道性:内存中仅有一道程序运行

自动性

优点:减少了CPU的空闲时间,提高了主机CPU和I/O设备的使用效率,提高了吞吐量

缺点:CPU和I/O设备使用忙闲不均

(3) 多道批处理系统(Multiprogrammed Batch Systems)

60年代中 ~ 70年代中(集成电路)

多道:内存中同时存放几个作业,使之都处于执行的开始点和结束点之间,多个作业共享CPU、内存、外设等资源

目的:利用多道批处理提高资源的利用率

60年代通道和中断技术的出现解决了输入输出等待计算的问题

通道: 是一种专用部件,负责外部设备与内存之间信息的传输。

中断:指主机接到外界的信号(来自CPU外部或内部)时,立即中止原来的工作,转去处理这一外来事件,处理完后,主机又回到原来工作点继续工作。

【XJTUSE 操作系统学习笔记】第一章 绪论第一章——绪论

多道通过组织作业使得CPU总在执行其中一个作业,从而提高了CPU的利用率

多道批处理系统所用技术

作业调度:作业的现场保存和恢复--上下文切换

资源共享:资源的竞争和同步--互斥(exclusion)和同步(synchronization)机制;

内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)--覆盖(overlap),交换(swap)和虚拟存储(virtual memory);

内存保护:系统存储区和各应用程序存储区不可冲突;

文件非顺序存放、随机存取

运行特征

多道性:内存中同时驻留多道程序并发执行,从而有效地提高了资源利用率和系统吞吐量

无序性:作业的完成顺序与它进入内存的顺序之间无严格的对应关系

调度性:作业调度、进程调度

优点:资源利用率高:CPU,内存,I/O设备;系统吞吐量大

缺点:无交互能力,用户响应时间长;作业平均周转时间长(有可能第一个进入,最后一个出)

(4) 分时系统(time-sharing system)

70年代中期至今

分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源

多个用户分时

前台(正在跟系统交互)和后台程序(foreground & background)分时

通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间

作业直接进入内存、每个作业一次只运行很短的时间

分时技术:把CPU的时间分成若干个大小相等(或不等)的时间单位,称为时间片(如100毫秒),每个终端用户获得CPU(获得一个时间片)后开始运行,当时间片到,该用户程序暂停运行,等待下一次运行

分时系统的特点

多路性:众多联机用户可以同时使用同一台计算机;

独占性:各终端用户感觉到自己独占了计算机;

交互性:用户与计算机之间可进行“会话”;

及时性:用户的请求能在很短时间内获得响应。

(5) 实时系统(Real-Time Systems)

具有严格确定的时间限制的操作系统,对实时性要求很高,专用性强。

分为硬实时系统与软实时系统。

实时系统与批处理系统和分时系统的区别

专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。

实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。

高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。

事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。

可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。

(6) 并行系统(Parallel Systems)

1975年前后,为了提高计算机系统性能和可靠性产生了并行系统(也称多处理机系统multi-processor) 🏷注意区分多处理器与多道

并行系统:有紧密通信的、多于一个CPU的多处理器系统,属于紧耦合系统

包括对称多处理器系统与非对称处理器系统

优点:吞吐量大、经济、可靠

(7) 分布式系统(Distributed Systems)

计算分布在若干物理处理器上,属于松散耦合系统

优点:资源共享、加快计算、可靠、可通信

(8) 网络操作系统

网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合。

(9) 嵌入式系统

  • 在各种设备、装置或系统中,完成特定功能的软硬件系统
  • 它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机”
  • 通常工作在反应式或对处理时间有较严格要求环境中
  • 由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统

1.3 操作系统的功能

(1) 处理机管理

完成处理机资源分配和调度等功能

进程控制:创建、撤销、挂起、改变运行优先级等——主动改变进程的状态

进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能

进程同步:协调并发进程之间的推进步骤,以协调资源共享

进程通信:进程之间的信息交换

(2) 存储管理

目标:提高内存利用率、方便用户使用、提供足够的存储空间

功能:存储分配与回收、存储保护、地址重定位、内存扩充

(3) 设备管理

缓冲管理

设备分配与回收

设备处理:利用设备驱动程序(通常在内核中)完成对设备的操作。

虚拟设备

设备独立性:提供统一的I/O设备接口,使应用程序独立于物理设备

(4) 文件管理

文件存储空间管理:如何存放信息,以提高空间利用率

目录管理:文件检索

文件存取控制:文件保护

软件管理:软件的版本、相互依赖关系、安装和拆除等

(5) 用户接口

为用户使用计算机系统提供一个友好的访问OS的接口

包括作业级接口与程序级接口(系统调用)

1.4 操作系统的特点

现代操作系统的特征有如下4个

(1) 并发性(concurrency)

多个事件在同一时间段内发生。操作系统是一个并发系统,各进程间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理。并行(parallel)是指在同一时刻发生。

在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)。

程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程。

(2) 共享性(sharing)

多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用

共享方式有两种:互斥共享与同时访问

互斥共享(如音频设备、打印机):资源分配后到释放前,不能被其他进程所用。

同时访问(如可重入代码,磁盘文件)

(3) 虚拟性(virtual)

一个物理实体映射为若干个对应的逻辑实体——分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。

(4) 异步性(asynchronism)

也称不确定性,指进程的执行顺序和执行时间的不确定性。进程的运行速度不可预知:分时系统中,多个进程并发执行,“时走时停”,不可预知每个进程的运行推进快慢

继续阅读