一、什么是操作系统?
(1)计算机由两部分组成:硬件和软件
(2)其中计算机软件包括系统软件和应用软件。而操作系统就是系统软件的一种。软件又是什么?软件是程序+数据+文档的集合。所以操作系统是实际上是一组程序的集合
(3)没有任何软件支持的计算机称为裸机。
所以总的来说,操作系统可以定义为:
-
OS是硬件之上的第一层软件。(系统软件)
-
OS是一组程序。
-
OS用来有效控制和管理计算机系统的各类资源(硬件和软件资源:设备、文件、存储器、CPU、程序),以方便用户使用计算机。(是用户和计算机的接口)
二、为什么要引入操作系统?
(1)从用户的观点来看,计算机是为用户提供服务的,计算机所完成的任何工作都是为了满足用户的需求。因此,引入操作系统的目的就是提供一个良好的用户界面,构建一个用户和计算机之间的和谐交互环境。
没有操作系统,计算机可以使用吗?
答案是可以,早期的计算机就是没有操作系统的。
(2)从系统管理人员的观点来看,是为了合理组织计算机工作流程,管理和分配计算机系统软硬件资源,使得多个用户之间可以高效率共享。因此,操作系统是计算机资源的管理者。
(3)从发展的观点看,引入操作系统是为了给计算机系统的功能拓展提供支撑平台,使之在追加新的服务和功能的时候不影响原有的服务和功能。
三、早期批处理系统
1-1、联机批处理
(1)慢速的输入输出设备直接与计算机相连。
(2)操作员把若干作业合成一批,通过输入设备把它们存入磁带。计算机处理完一批作业
之后再处理下一批作业。
(3)缺点很明显:在作业的输入和执行结果的输出过程当中,cpu处于空闲状态。浪费cpu时间。
1-2、脱机批处理
(1)显著特征就是增加一台不与主机直接相连的而专门用于与输入输出设备打交道的卫星机。
(2)这样就可以使得主机与相对速度较快的卫星机打交道,提高速度。
1-3 主要特征
(1)用户脱机使用计算机。用户在提交作业之后就不再与计算机打交道。(提交给管理员)
(2)成批处理。操作员把用户提交的作业分批进行处理。每批中的作业将由操作系统或者监督
程序负责作业间自动调度执行。
(3)多道程序运行。按照多道程序的设计,从一批后备作业中选取多道作业调入内存并组织它们
运行,称为多道批处理。
缺点:用户提交之后,就不能控制了,即使发现错误也不能干预改正。没有交互性,而且因为是成批处理的,所以作业周转时间很长。
2、多道程序处理系统
简单示例:
程序A 运行处理 输入数据 运行处理 其它输入输出操作
程序B 运行处理 打印输出 运行处理
课本第5页有图。
(1)宏观上并行,内存中总是同时存在多道程序。
(2)微观上串行,交替使用cpu。
注意:
多重处理系统实际上是多个cpu,因此能够真正同时执行多道程序。
但是多道程序处理系统实现微观上是交替使用一个cpu的。
3、分时操作系统(当今使用最普遍的一种)
(1)其实就类似于“时间片轮转”。
(2)分时技术就是把处理机的运行时间分成若干个时间片。(很短)然后按照时间片轮流把处理机给
各个联机作业使用,(缺点显而易见,处理机切换频繁,浪费大量cpu时间)。
(3)在实际当中,由于计算机速度很快,作业运行轮转很快。所以给用户的印象就是好像他独占
一台计算机。
特点如下:
(1)交互性。
-用户可以在运行情况下动态进行控制,加快调试过程。
-用户上机提交作业很方便,不需要把作业交给机房或者管理员。(在自己终端运行)
-用户之间可以进行合作,互相交流,资源共享。
(2)多用户同时性。多个用户可以同时在自己的终端上上机,共享CPU和其它资源,充分发挥效率。
(3)独立性。用户感觉不到其他人也在使用,就像自己独占计算机一样。
4、实时操作系统
要求响应速度很快,一般用于军事。
5、通用操作系统
包含两种以上(以上操作系统)的功能。
6、网络操作系统
不如看计网?
7、分布式操作系统
简单了解就行。
四、操作系统的功能(后面几章都有 不赘述)
4-1处理机管理
1 单用户或者单道作业:处理机被独占,管理起来相当简单。
2 多道程序或者多个用户:就需要考虑多个作业同时运行(准确的说是并发-同一时间段内运行),这就需要解决处理机(cpu)分配问题……
并发是指两个或者多个事件在同一时间间隔内发生。而并行是指两个或多个事件在同一时刻发生。
4-2 存储管理
1 内存分配
需要保证系统以及各个用户程序的存储区不冲突。
2 存储保护
如果有一个程序正在运行,需要保证一个程序不会去破环和影响其它程序。
简单地说:同步、互斥 差不多的概念
3 内存扩充
虚拟存储器等
4-3 设备管理
4-4 信息管理(文件系统)
4-5 用户接口
相关练习
一、如果需要设计一个多任务分时操作系统,需要对计算机硬件提出哪些要求?或者说计算机硬件需要具备哪些条件?
1 对cpu的要求:
(1)特权指令-多道程序的需要
只能由操作系统使用。比如:启动外部设备,建立存储保护、清内存、关中断等等。
(2)cpu的两种工作状态:
既然有特权指令,就需要由特定的状态才能执行。特权指令只有在核心态(管态)才能执行。核心态的时候可以执行全部指令、使用所有资源,甚至可以改变处理机的状态。cpu的另外一个状态是用户态(目态)。显而易见,只能执行非特权指令。
(3)cpu的工作状态由程序状态字寄存器PSW来记录。下一条需要执行的指令由pc来记录。
2 对内存的要求:
内存是支持OS(操作系统)运行的硬件环境的一个重要方面,为什么这么说?
(1)首先,程序必须放在内存中才能运行。换一个很抽象的理解,操作系统本身是什么?答案是系统软件,系统软件又是程序+数据+文档。它本身就是程序的集合,当然需要内存来支持。
(2)多任务系统中,既然内存中需要同时存在多道程序,是不是也需要保护各个任务自己的数据和程序,确保不被其它任务影响。(后续的互斥、同步)
(3)因此,是不是需要对内存进行保护(OS正常运行的基本条件)。常见的有界限寄存器、存储保护键等。
3 中断
如果没有中断,OS将难以运行。甚至有人说,“OS是中断驱动的”。
中断:中断是指CPU收到外部中短信号之后,停止原来的工作,转去执行中断事件。执行完毕之后再回到断点处继续执行。(你要回来肯定离开之前就需要保护cpu现场)。
4 时钟
OS必不可少的硬件设施。拿CPU举例就很好懂,为什么需要时钟?计算机组成原理课程设计这门课程当中cpu的制作是不是需要时钟信号clk。