通过上下两张计算机系统的层次结构图,我们快速的定位到了我们所学习操作系统的位置——硬件之上,软件之下
由于硬件的支持,系统软件得以运行,而应用软件的运行又同样依赖系统软件的帮助
操作系统(英语:Operating System,缩写:OS)是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。 —— 维基百科
度娘、维基百科的定义已经非常清楚了,说白了,操作系统起到的作用就是,承上启下,对于用户一切从友好,易操作出发,同时把用户一系列的高级操作转化为低级操作
下面是分类更加细致的一种定义
补充:现代操作系统的特点:并发性、共享性、虚拟性、不确定性
手工操作:先把程序纸带(或卡片)装上输入机,然后启动输入机把程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,打印机输出计算结果,用户取走并卸下纸带(或卡片)
如何在单位时间内提升计算机 CPU 的执行效率,一直是人们热衷于研究的,早期的时候,人们想到的方案有这么几种:
非批处理:单个作业由用户输入到输入设备后,要转换成主机能够接受的形式输入主机,主机处理后,输出到输出设备,在输出设备上转换成用户可识别的形式输出
批处理:则是用户输入一批作业到输入设备,主机处理后,数据成批输出
早期的批处理分为 ① 联机批处理 ② 脱机批处理
本来这里打算提一下就好了,但是还是把具体执行方法贴上来了,可以直观的了解早期批处理的一个执行流程,不想看这里就当我在水字数哈哈哈哈
慢速的输入输出(I/O)设备是和主机直接相连
作业的执行过程为:
(1) 用户提交作业:作业程序、数据,用作业控制语言编写的作业说明书 (2) 作业被作成穿孔纸带或卡片 (3) 操作员有选择地把若干作业合成一批,通过输入设备(纸带输入机或读卡机) 把它们存入磁带 (4) 监督程序读入一个作业(若系统资源能满足该作业要求) (5) 从磁带调入汇编程序或编译程序,将用户作业源程序翻译成目标代码 (6) 连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行程序 (7) 启动执行 (8) 执行完毕,由善后处理程序输出计算结果 (9) 再读入一个作业,重复(5)—(9)各步 (10) 一批作业完成,返回到(3),处理下一批作业
优点:作业自动转接,从而减少作业建立和人工操作时间
缺点:在作业的输入和执行结果的输出过程中,主机CPU仍处在停止等待状态,这样慢速的输入输出设备和快速主机之间仍处于串行工作,CPU的时间仍有很大的浪费
脱机批处理为了解决上面的浪费情况:所以增加了一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机
卫星机的功能:
优点:
做了个流程图,更直观一点
但是这种情况下,如果采用单道程序系统同样会限制系统的效率
所以为提高主机处理的效率,应该将脱机批处理与多道程序系统结合起来
下面我们要说的就是单道程序和多道程序,这里大家不要搞混
“ 批处理 ” 指的是输入输出的方式,而 “ 单道程序 ” 和 “ 多道程序 ” 指的是外设与主机之间的数据传输方式
在批处理中,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列,每一批作业将有专门编制的监督程序自动一次处理
简单的形容就是:每次只调用一个用户作业程序进入内存并运行
在计算机内存中同时存放几道相互独立的程序
特点:
优点:
缺点:
分时就是把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片
分时具有交互性、多用户同时性和独立性的特征,CPU 利用率提高了
实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点
同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。
首先保证优先处理任务,插空进行批作业处理。通常把实时任务称为前台作业,批处理作业称为后台作业。将批处理和分时处理相结合可构成分时批处理系统
在保证分时用户的前提下,没有分时用户时可进行批量作业的处理
举一个多用户分时交互型操作系统的例子:UNIX 它首先建立的是一个精干的核心,而其功能却足以与许多大型的操作系统相媲美,在核心层以外可以支持庞大的软件系统。 目前广泛使用的各种工作站级的操作系统如SUN公司的Solaris,IBM公司的AIX等都是基于UNIX的操作系统。Windows系列操作系统,其主要原理也是基于UNIX系统的。linux系统也是从UNIX演变而成的。
例如批处理,以及分时,实时的一个基本说明在前面已经提到过,具体展开将这每一个操作系统,篇幅过长而且比较枯燥,这一部分就大家根据需要查阅一下吧
在多道程序或多用户的情况下,要组织多个作业同时运行,即需要完成处理机资源的分配、调度和回收等功能
处理机调度的单位可为进程或线程
由于处理机调度策略不同,出现不同类型的操作系统,如批处理系统、分时系统、实时系统
对内部存储器进行分配,保护和扩充
设备管理是通道、控制器和输入输出设备的分配和管理,以及实现设备独立性
这里要做的就是,信息的共享、保密和保护
如果系统允许多个用户协同工作,那么就应该允许用户共享信息文件。但这种共享应该是受控制的,应该有授权和保密机制
保证系统安全可靠:有一定的保护机制以免文件被非授权用户调用和修改,即使在意外情况下,如系统失效、用户对文件使用不当,也能尽量保护信息免遭破坏
用户接口的目标是:提供一个友好的用户访问操作系统的接口。
操作系统向上提供两种接口:
通过这些命令和调用,向操作系统提出申请,由操作系统调用内部功能来
完成相应的操作
并发性
共享性
虚拟性
异步性