大学操作系统第一讲【入门概述】

(一) 操作系统概述

(1) 计算机系统层次结构

通过上下两张计算机系统的层次结构图,我们快速的定位到了我们所学习操作系统的位置——硬件之上,软件之下

由于硬件的支持,系统软件得以运行,而应用软件的运行又同样依赖系统软件的帮助

(2) 操作系统基本概念

操作系统(英语:Operating System,缩写:OS)是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

—— 维基百科

度娘、维基百科的定义已经非常清楚了,说白了,操作系统起到的作用就是,承上启下,对于用户一切从友好,易操作出发,同时把用户一系列的高级操作转化为低级操作

  • 从另一个角度来看,操作系统又好像计算机中的核心管家,它掌管以及控制计算机上所有的软硬件资源
  • 还有一个角度来看,操作系统的引入,可以为计算机系统的扩展提供平台支撑,也就是说,更新点新服务或者功能的时候,不会影响原有的服务或者功能

下面是分类更加细致的一种定义

  • 科普观点:操作系统是计算机系统的管理指挥机构和控制中心

  • 功能观点:操作系统是计算机资源的管理系统,负责对计算机的全部软、硬件资源进行分配、控制、调度和回收

  • 用户观点:操作系统是用户使用计算机的一个界面

  • 管理员观点:操作系统是计算机工作流程得以自动高效运行的组织者,系统软硬件资源合理协调的管理者

  • 软件观点:操作系统是由程序和数据集合组成的大型系统软件

补充:现代操作系统的特点:并发性、共享性、虚拟性、不确定性

(二) 操作系统的发展

(1) 手工操作阶段

手工操作:先把程序纸带(或卡片)装上输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,打印机输出计算结果,用户取走并卸下纸带(或卡片)

  • 计算机运算速度慢,没有操作系统,甚至没有任何软件

  • 用户直接用机器语言编制程序,并在上机时独占全部计算机资源

(2) 早期批处理

A:如何提高 CPU 效率

如何在单位时间内提升计算机 CPU 的执行效率,一直是人们热衷于研究的,早期的时候,人们想到的方案有这么几种:

  • 配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误
  • 使用批处理,即操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列
  • 每一批作业将有专门编制的监督程序(monitor)自动依次处理

B:批处理/非批处理 的区别

非批处理:单个作业由用户输入到输入设备后,要转换成主机能够接受的形式输入主机,主机处理后,输出到输出设备,在输出设备上转换成用户可识别的形式输出

批处理:则是用户输入一批作业到输入设备,主机处理后,数据成批输出

C:批处理分类

早期的批处理分为 ① 联机批处理 ② 脱机批处理

本来这里打算提一下就好了,但是还是把具体执行方法贴上来了,可以直观的了解早期批处理的一个执行流程,不想看这里就当我在水字数哈哈哈哈

① 机批处理

慢速的输入输出(I/O)设备是和主机直接相连

作业的执行过程为:

(1) 用户提交作业:作业程序、数据,用作业控制语言编写的作业说明书

(2) 作业被作成穿孔纸带或卡片

(3) 操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或读卡机) 把它们存入磁带

(4) 监督程序读入一个作业(若系统资源能满足该作业要求)

(5) 从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码

(6) 连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行程序

(7) 启动执行

(8) 执行完毕,由善后处理程序输出计算结果

(9) 再读入一个作业,重复(5)—(9)各步

(10) 一批作业完成,返回到(3),处理下一批作业

优点:作业自动转接,从而减少作业建立和人工操作时间

缺点:在作业的输入和执行结果的输出过程中,主机CPU仍处在停止等待状态,这样慢速的输入输出设备和快速主机之间仍处于串行工作,CPU的时间仍有很大的浪费

② 脱机批处理

脱机批处理为了解决上面的浪费情况:所以增加了一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机

卫星机的功能:

  • 输入设备通过它把作业输入到输入磁带

  • 输出磁带将作业执行结果输出到输出设备

优点

  • 主机不是直接与慢速的输入输出设备打交道,而是与速度相对较快的磁带机发生关系。
  • 主机与卫星机可以并行工作,二者分工明确,以充分发挥主机的高速度计算能力

做了个流程图,更直观一点

D:思考

但是这种情况下,如果采用单道程序系统同样会限制系统的效率

所以为提高主机处理的效率,应该将脱机批处理与多道程序系统结合起来

下面我们要说的就是单道程序和多道程序,这里大家不要搞混

“ 批处理 ” 指的是输入输出的方式,而 “ 单道程序 ” 和 “ 多道程序 ” 指的是外设与主机之间的数据传输方式

E:单/多道批处理系统

① 单道批处理系统

在批处理中,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列,每一批作业将有专门编制的监督程序自动一次处理

简单的形容就是:每次只调用一个用户作业程序进入内存并运行

② 多道批处理系统

在计算机内存中同时存放几道相互独立的程序

特点

  • 宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕

  • 微观上串行:实际上,各道程序轮流使用CPU,交替执行:

优点

  • 资源利用率高:CPU 和内存利用率较高

  • 作业吞吐量大:单位时间内完成的工作总量大

缺点

  • 无交互性,用户一旦提交作业,就失去了对其运行的控制能力,同时批处理周期时间长,用户不方便

(3) 分时操作系统

分时就是把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片

分时具有交互性、多用户同时性和独立性的特征,CPU 利用率提高了

(4) 实时操作系统

实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点

(5) 通用操作系统

同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。

  • 例如,将实时处理和批处理相结合构成实时批处理系统

首先保证优先处理任务,插空进行批作业处理。通常把实时任务称为前台作业,批处理作业称为后台作业。将批处理和分时处理相结合可构成分时批处理系统

在保证分时用户的前提下,没有分时用户时可进行批量作业的处理

举一个多用户分时交互型操作系统的例子:UNIX

它首先建立的是一个精干的核心,而其功能却足以与许多大型的操作系统相媲美,在核心层以外可以支持庞大的软件系统。
目前广泛使用的各种工作站级的操作系统如SUN公司的Solaris,IBM公司的AIX等都是基于UNIX的操作系统。Windows系列操作系统,其主要原理也是基于UNIX系统的。linux系统也是从UNIX演变而成的。

(三) 操作系统的分类

例如批处理,以及分时,实时的一个基本说明在前面已经提到过,具体展开将这每一个操作系统,篇幅过长而且比较枯燥,这一部分就大家根据需要查阅一下吧

(四) 操作系统的功能

(1) 处理机管理功能

在多道程序或多用户的情况下,要组织多个作业同时运行,即需要完成处理机资源的分配、调度和回收等功能

处理机调度的单位可为进程或线程

由于处理机调度策略不同,出现不同类型的操作系统,如批处理系统、分时系统、实时系统

(2) 存储管理功能

对内部存储器进行分配,保护和扩充

  • 内存分配:分配内存,以保证系统及各用户程序的存储区互不冲突

  • 存储保护:保证一道程序在执行过程中不会有意或无意地破坏另一道程序,保证用户程序不会破坏系统程序

  • 内存扩充:当用户作业所需要的内存量超过计算机系统所提供的内存容量时,把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器

(3) 设备管理功能

设备管理是通道、控制器和输入输出设备的分配和管理,以及实现设备独立性

  • 通道、控制器、输入输出设备的分配和管理:设备管理的任务就是根据一定的分配策略,把通道、控制器和输入输出设备分配给请求输入输出操作的程序,并启动设备完成实际的输入输出操作。为了尽可能发挥设备和主机的并行工作能力,常需要采用虚拟技术和缓冲技术

  • 设备独立性:输入输出设备种类很多,使用方法各不相同。设备管理应为用户提供一个良好的界面,而不必去涉及具体的设备特性,以使用户能方便、灵活地使用这些设备。

(4) 文件系统管理(信息管理)功能

这里要做的就是,信息的共享、保密和保护

如果系统允许多个用户协同工作,那么就应该允许用户共享信息文件。但这种共享应该是受控制的,应该有授权和保密机制

保证系统安全可靠:有一定的保护机制以免文件被非授权用户调用和修改,即使在意外情况下,如系统失效、用户对文件使用不当,也能尽量保护信息免遭破坏

(5) 提供用户接口功能

用户接口的目标是:提供一个友好的用户访问操作系统的接口。

操作系统向上提供两种接口:

  • 程序一级的接口:提供一组广义指令(或称系统调用、程序请求)供用户程序和其他系统程序调用。

  • 作业一级的接口:提供一组控制操作命令(或称作业控制语言,或像Linux、UNIX中的shell命令语言)供用户去组织和控制自己作业的运行。

通过这些命令和调用,向操作系统提出申请,由操作系统调用内部功能来

完成相应的操作

(五) 操作系统的特性

并发性

  • 并发性是指同一时间间隔内发生两个或多个事件。并行性是指同一时刻内发生两个或多个事件

共享性

  • 共享是指多个进程共同使用有限的计算机系统资源,资源在一个时间段内交替被多个进程所用

虚拟性

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

异步性

  • 异步是指进程的执行顺序和执行时间的不确定性

(六) 结尾

如果文章中有什么不足,欢迎大家留言交流,感谢朋友们的支持!

如果能帮到你的话,那就来关注我吧!如果您更喜欢微信文章的阅读方式,可以关注我的公众号

在这里的我们素不相识,却都在为了自己的梦而努力 ❤

一个坚持推送原创开发技术文章的公众号:理想二旬不止

posted @ 2020-04-16 19:21  BWH_Steven  阅读(502)  评论(0编辑  收藏  举报