操做系统概述算法
什么是操做系统?安全
操做系统(operating system, OS)是管理计算机硬件的程序。是应用程序运行的基础,同时充当着计算机用户和和计算机硬件的中介。不一样的机器操做系统的主要用途也不一样:我的计算机(Personal Computer, PC)的操做系统支持复杂游戏,商业应用及其之间的其余应用。移动计算机的操做系统则为用户提供一个环境,便于和计算机进行交互及执行程序……网络
操做系统的目标并发
1.操做系统充当用户和计算机硬件的中介,运行用户程序是操做系统的核心目标。ide
2.更高效的管理计算机硬件,合理组织工做的流程,提升资源的利用率(系统的吞吐量)。spa
操做系统的发展过程操作系统
1.无操做系统——真空管时代设计
此时用户占据了所有资源,CPU和I/O的速度彻底不匹配。高速CPU常常要等待低速的I/O设备,致使CPU闲置。数据经过穿孔机或者卡片装入,同时每一个使用用户都要自行编写源代码,工做量大易出错。3d
解决方式:视频
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须要在随机环境下保证程序肯定结果