写在前头:

       这是小鱼上的网课整理来的笔记,希望可以帮助大家更好的理解操作系统这门课!


一、操作系统基本概念

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

       我们通过度娘,很容易就找出了操作系统的概念,其实我们平时使用电脑的时候,已经在使用操作系统了

       我们用一幅图来看看操作系统在计算机系统属于的层次

       

操作系统和系统架构的区别 操作系统与系统_批处理


       可以看出,操作系统是计算机硬件和软件的接口,本身属于系统软件。操作系统紧贴系统硬件之上,所有其他软件之下,可以说是其他软件的共同环境:

       

操作系统和系统架构的区别 操作系统与系统_脱机_02


二、操作系统的发展史

1️⃣手工操作阶段

       第一台计算机诞生时,还没有出现操作系统,计算机工作采用手工操作方式
       手工操作方式两个特点:
       1、用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低
       2、CPU的利用不充分

2️⃣早期批处理

( 1 ) 联机批处理(作业的输入/输出由CPU来处理)
       联机是指I/O设备与主机直接连接的方式
       把一堆人的输入输出聚集起来,一起输入一起输出。把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。
       监督程序不停地处理各个作业,从而实现了作业到作业的自动转接,减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率
       但是,在作业输入和结果输出时,主机的高速CPU仍处于空闲状态,等待慢速的输入/输出设备完成工作

( 2 ) 脱机批处理

       脱机批处理系统出现在联机批处理系统之后,为克服与缓解:高速主机与慢速外设的矛盾,提高CPU的利用率,又引入了脱机批处理系统,即输入/输出脱离主机控制

       这种方式有个显著的特征:增加一台不与主机直接相连而专门用于与输入/输出设备打交道的卫星机

       其功能是:

     (1)从输入机上读取用户作业并放到输入磁带上。

     (2)从输出磁带上读取执行结果并传给输出机。

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

       其结构如下所示:

       

操作系统和系统架构的区别 操作系统与系统_操作系统_03


       总的来说,因为手工操作,大家都要去排队去运行自己的程序,造成了资源利用率低,于是出现了批处理。为了解决人工输入输出的速度与cpu和设备之间速度的差异关系,出现了磁带和脱机批处理系统


       我们上面所讲的“批处理”指的是输入输出的方式,加下来我们来看看“单道程序”和“多道程序”,也就是外设与主机之间的数据传输方式

1️⃣单道运行

       每次只调用一个用户作业程序进入内存并进行

       

操作系统和系统架构的区别 操作系统与系统_操作系统_04


       在这种情况下,单道程序从运行到结束,独自占有所有的资源,资源利用率低

2️⃣多道运行

       每次可调用多个作业程序进入内存并运行

       

操作系统和系统架构的区别 操作系统与系统_批处理系统_05


       该方式的特点:

       ①同时存放多道相互独立的程序

       ②宏观上并行

       ③微观上串行

       缺点:
       ①作用交互性差:整个作业完成后或者中间出错时才与用户交互,不利于调试和修改
       ②作业平均周转时间长,短作业的周转时间显著增长


1️⃣分时操作系统

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

       其处理机制:

       

操作系统和系统架构的区别 操作系统与系统_操作系统和系统架构的区别_06


2️⃣实时操作系统

操作系统和系统架构的区别 操作系统与系统_操作系统和系统架构的区别_07


三、操作系统的分类
       

操作系统和系统架构的区别 操作系统与系统_脱机_08


四、操作系统的功能

(1) 处理机管理
       处理机管理的功能包括: 完成处理机资源的分配、调度和回收等功能。处理机调度的单位可为进 程或线程
       由于处理机调度策略不同,出现不同类型的操作系统,如批处理系统、 分时系统、实时系统

(2) 存储管理
       存储管理的目标是:提高利用率、方便用户使用、提供足够的存储空间、 方便进程并发运行。内存的分配、保护和扩充
       功能包括:
       存储器分配与回收
       地址映射(变换):逻辑地址到内存物理地址的映射;
       存储保护:保证进程间互不干扰、相互保密
       内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间

(3) 设备管理
       设备管理的目标是:方便设备的使用、提高 CPU 与 I/O 设备利用率
       功能包括:
       设备操作:利用设备驱动程序完成对设备的操作;
       设备独立性(device independence):提供统一的 I/O 设备接口,使应用程序独立于物理设备,提高可适应性
       在同样的接口和操作下完成不同的 内容
       设备分配与回收:在多用户间共享 I/O 设备资源
       缓冲区管理:匹配 CPU 和外设的速度,提高两者的利用率,主机与外设并行

(4) 信息(文件)管理
       信息(文件)管理的目标是:解决软件资源的存储、共享、保密和保护问 题
       功能包括:
       文件存储空间管理:解决信息存放的问题,以提高空间利用率和读写性能;
       目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名
       文件的读写管理和存取控制:解决信息安全问题。系统设口令“哪个用 户”、用户分类“哪个用户组” 、文件权限“针对用户或用户组的读写权”

(5) 用户接口
       用户接口的目标是:提供一个友好的用户访问操作系统的接口
       操作系统向上提供两种接口:
       系统命令(命令或操作级接口) :供用户用于组织和控制自己的作业运行。 命令行、菜单式或 GUI(图形用户接口)“联机”、命令脚本“脱机”
       编程接口(程序级接口):供用户程序和系统程序调用操作系统功能,涉及系统调用和高级语言库函数。 通过这些命令和调用,向操作系统提出申请,由操作系统调用内部功能来完成相应的操作

五、操作系统的特征

(1) 并发
       并发是指在计算机系统内同时存在有多个程序,宏观上,这些程序是同时向前推进的
       这里需要注意的是,有一个与之相关的概念叫做并行(parallel),这个指的是多个处理机同时工作
       我们这里的并发(concurrency)是在宏观上多个程序同时推进,但在微观 上,一个处理机在任意时刻均只能处理一个任务

(2) 共享
       共享是指多个进程共同使用有限的计算机系统资源,资源在一个时间段内交替被多个进程所用
       “共享”可以理解成共同使用,但不同类型的资源,共享的方式是不同的, 具体地:
       ①互斥共享:资源分配后到释放前,不能被其他进程所用
       ②同时访问
       对于前者,如音频设备,在时间上是不可能同时使用的,打印机也是这样的设备
       对于后者,如磁盘,如果使用方式是“读”,则可以被多个程序同时使用

(3) 虚拟
       虚拟是指一个物理实体映射为若干个对应的逻辑实体——分时或分空间, 操作系统管理系统资源的重要手段,可提高资源利用率
       具体地:
       ①CPU——每个用户(进程)的“虚处理机”
       ②存储器——每个进程都占有的地址空间,即“虚拟存储器”;
       ③显示设备——多窗口或虚拟终端(virtual terminal)
       ④独享设备—— 通过假脱机技术(Spooling)可以实现“共享”,共享的是虚设备。

(4) 异步
       异步是指进程的执行顺序和执行时间的不确定性
       具体地:
       ①由于操作系统的并发性,进程的运行速度不可预知,多个进程并发执行, 时走时停,不可预知每个进程运行推进快慢
       ②无论快慢,应该结果相同,这将通过进程互斥和同步手段来保证
       ③难以重现系统在某个时刻的状态,包括重现运行中的错误


今天的学习笔记就分享到这里!!
PS:小鱼学习网站是中国大学MOOC(慕课)