目录
一.操作系统入门概述
二.操作系统特征
2.1并发
2.2共享
2.2.1互斥共享
2.2.2同时访问
2.3虚拟
2.4异步
3.操作系统应该提供的功能
3.1操作系统作为计算机系统资源的管理者
3.1.1处理机管理
3.1.2存储器管理
3.1.3文件管理
3.1.4设备管理
3.2操作系统作为用户与计算机硬件系统之间的接口
3.2.1命令接口
3.2.2程序接口
3.3操作系统实现了对计算机资源的扩充
计算机系统自上而下大致可以分为4部分:
硬件如中央处理器、内存、输入/输出设备等,提供基本的计算资源。应用程序如字处理程序电子制表软件、编译器、网络浏览器等,规定按何种方式使用这些资源来解决用户的计算问题。操作系统控制和协调各用户的应用程序对硬件的分配与使用。
在计算机系统的运行过程中,操作系统提供了正确使用这些资源的方法。
综上所述,操作系统(Operating System,OS)是指控制和管理整个计机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。
操作系统是一种系统软件,但与其他系统软件和应用软件有很大的不同,它有自己的特殊性即基本特征。操作系统的基本特征包括并发、共享、虚拟和异步。
并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。
并行性是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的工作。
我们以现实生活中的直观例子来认识并发和并行的区别。例如,如果你在 9:00~9:10 仅吃面包,在9:10~9:20 仅写字,在 9:20~9:30 仅吃面包,在 9:30~10:00 仅写字,那么在 9:00~10:00吃面包和写字这两种行为就是并发执行的:再如,如果你在 9:00~10:00 右手写字,左手同时拿着面包吃,那么这两个动作就是并行执行的。
共享就是资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为以下两种资源共享方式。
系统中的某些资源,如打印机、磁带机,虽然可供多个进程使用,但为使得所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程访问该资源。
为此,当进程 A 访问某个资源时,必须先提出请求,若此时该资源空闲,则系统便将之分配给进程 A 使用,此后有其他进程也要访问该资源时(只 A完)就须待。当进程A访问完并释放该资源后,才允许另-·个进程对该资源进行访问。我们把这种资源共享方式称为互斥式共享。
系统中还有另一类资源,这类资源允许在一段时间内由多个进程“同时”访问。这里所说的“同时”通常是宏观上的,而在微观上,这些进程可能是交地对该资源进行访问即“分时共享的。可供多个进程“同时”访问的典型资源是磁盘设备。
并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件:
1.资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题;
2.若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行。
虚拟是指把一个物理上的实体变为若干逻辑上的对应物。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术,称为虚拟技术。操作系统中利用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等。
操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术如虚拟存储器。
多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。
异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误(就像对全局变量的访问顺序不当会导致程序出错一样)。然而,只要运行环境相同,操作系统就须保证多次运行进程后都能获得相同的结果。
操作系统应具有以下几方面的功能:处理机管理、存储器管理、设备管理和文件管理。为了方便用户使用操作系统,还必须向用户提供接口。
我们用一个直观的例子来解这种情况。例如,用户是雇主,操作系统是工人(用来操作器,计算机是机器(由处理机、存储器、设备、文件几个部件构成),工人有熟练的技能,能够控制和协调各个部件的工作,这就是操作系统对资源的管理;同时,工人必须接收雇主的命令,这就是“接口”,有了工人,机器就能发挥更大的作用,因此工人就成了“扩充机器”。
在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。并发是指在计算机内同时运行多个进程,因此进程何时创建、何时撤销、如何管理、如何避免冲突、合理共享就是进程管理的最主要的任务。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。
存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。
计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。
设备管理的主要任务是完成用户的 I/O 请方便用户使用各种设备,并提高设备的利用率主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。
以上这些工作都由“工人”负责,“雇主”无须关注。
为了让用户方便、快捷、可靠地操纵计算机硬件并运行自己的程序,操作系统还提供了用户接口。操作系统提供的接口主要分为两类:一类是命令接口,用户利用这些操作命今来组织和按制作业的执行:另一类是程序接口,编程人员可以使用它们来请求操作系统服务。
使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。
联机命令接口又称交互式命令接口,适用于分时或实时系统的接口。它由一组键盘操作命令组成。用户通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,完成指定的功能。之后,控制权转回控制台或终端,此时用户又可输入下一条命令。联机命令接口可以这样理解:“雇主”说一句话,“工人”做一件事,并做出,这就强了交互性。
脱机命令接口又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书上的命令,从而间接地控制作业的运行。脱机命接口可以这样理解:“主”把要“工人”做的事写在清单上,“工人”按照清单命令逐条完成这些事,这就是批处理。
程序接口由一组系统调用(也称广义指)组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。
操作系统通过一系列的方法让处理器,内存等资源得到了扩容。具体方法我们放到后面的帖子去讲述。
注:其中内容借鉴了王道考研,侵权速删。