操作系统概述
操作系统概述
什么是操作系统?
操作系统(operating system, OS)是管理计算机硬件的程序。是应用程序运行的基础,同时充当着计算机用户和和计算机硬件的中介。不同的机器操作系统的主要用途也不同:个人计算机(Personal Computer, PC)的操作系统支持复杂游戏,商业应用及其之间的其他应用。移动计算机的操作系统则为用户提供一个环境,便于和计算机进行交互及执行程序……
操作系统的目标
1.操作系统充当用户和计算机硬件的中介,运行用户程序是操作系统的核心目标。
2.更高效的管理计算机硬件,合理组织工作的流程,提高资源的利用率(系统的吞吐量)。
操作系统的发展过程
1.无操作系统——真空管时代
此时用户占据了全部资源,CPU和I/O的速度完全不匹配。高速CPU经常要等待低速的I/O设备,导致CPU闲置。数据通过穿孔机或者卡片装入,同时每个使用用户都要自行编写源代码,工作量大易出错。
解决方式:
l 脱机I/O:通过把I/O的工作放到外围机来完成,脱离主机的情况下进行,使用磁带作为输入/输出的中介,称为脱机输入/输出
2.单道批处理系统——晶体管时代
把一批作业以脱机输入的方式输入到磁带,利用磁带把任务分类编成作业并顺序执行,每批作业由专门的程序(Monitor)自动依次处理。此方式解决了CPU和人工I/O之间速度不匹配的问题。单道指的是一次只能处理一个程序。其虽然一定程度减少了CPU的空闲时间,但是CPU和I/O设备忙闲不均也是主要缺点。
3.多道批处理系统——集成电路时代
此时为了提高资源的利用率,而在内存中同时存放几个作业,且多个作业共享CPU、内存、外设等资源。多道的最大优点是可以使CPU尽可能的处于忙状态,进而提高CPU的利用率。同时作业有无序性,作业进入的顺序和输出的顺序无直接关联。还具有调度性,需要通过调度算法来确定具体哪个作业先行执行。但其不具备交互能力
多道批处理系统基于中断技术和通道
l 通道:是一种专用部件,负责外设和内存之间的信息传输。
l 中断:指主机收到外界信号,立即终止工作,转去处理外来的事件,处理完后再继续处理被中断的工作。
下面是单道和多道的示意图
4.分时系统
在多道的基础上增加的交互服务。把CPU的相应时间分成若干个大小相等(或不等)的时间单位,称为时间片(time slice),每个用户获得CPU后开始运行,当其时间片时间到,该用户暂停运行,等待下一次CPU的分配。因为时间片对于用户来说时间极短,请求能被及时处理,每个用户都感觉独占了计算机一样。从此操作系统开始分化,例如实时系统、网络系统……
5.实时系统
能及时响应外部请求,并在规定时间内完成相应处理的操作系统。其最需要保障的是可靠性,保障任务能在规定时间内正确相应。如果系统的时间约束条件得不到满足,将会发生系统出错。其具体还可分为两种系统:
l 强实时系统:主要应用在航空航天、军事、核工业等一些关键领域中,应用时间需求应能够得到完全满足,否则就造成如飞机失事等重大地安全事故,造成重大地生命财产损失和生态破坏。在这类系统的设计和实现过程中,应采用各种分析、模拟及形式化验证方法对系统进行严格的检验,以保证在各种情况下应用的时间需求和功能需求都能够得到满足。
l 弱实时系统:某些应用虽然提出了时间需求,但实时任务偶尔违反这种需求对系统的运行以及环境不会造成严重影响,如视频点播(Video-On-Demand,VOD)系统、信息采集与检索系统就是典型的弱实时系统。在VOD系统中,系统只需保证绝大多数情况下视频数据能够及时传输给用户即可,偶尔的数据传输延迟对用户不会造成很大影响,也不会造成像飞机失事一样严重的后果。
操作系统的特征
l 并发性:两个或者两个以上的活动在同一时间间隔内发生
l 共享性:系统不在为某个程序独占,而是多个用户共享
l 虚拟性:逻辑上的对应物可以和物理上的实体数量不匹配
l 不确定性:并发程序以不可预知的速度向前推进,并发活动具有不可再现性,可能导致程序的执行结果不唯一,OS需要在随机环境下保证程序确定结果