打怪之旅-操作系统

所有网络协议也都是采用大端字节序的方式来传输数据的。所以有时我们把大端字节序方式称之为网络字节序

操作系统( Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。计算机操作系统是随着计算机研究和应用的发展逐步形成并发展起来的,它是计算机系统中最基本的系统软件

操作系统提供的接口主要分为两类
一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口,编程人员可以使用它们来请求操作系统服务。
(1)命令接口
使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可以将命令接口分为联机命令接口和脱机命令接口
联机命令接口又称交互式命令接口,适用于分时或实时系统的接口。它由一组键盘操作命令组成。用户通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入完一条命令,控制权就转入操作系统的命令解释程序,然后由命令解释程序对输入的命令解释并执行,完成指定的功能。之后,控制权又转回到控制台或终端,此时用户又可以输入下一条命令.
脱机命令接口又称批处理命令接口,即适用于批处理系统,它由一组作业控制命令(或称作业控制语句)组成。脱机用户不能直接干预作业的运行,应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。当系统调度到该作业时,由系统中的命令解释程序.对作业说明书上的命令或作业控制语句逐条解释执行,从而间接地控制作业的运行.
联机命令接口可以理解为:“雇主”说一句话,“工人”做一件事,并做出反馈,这就强调了
交互性。
(2)程序接口
程序接口由一组系统调用命令(简称系统调用,也称广义指令)组成。用户通过在程序中使用这些系统调用命令来请求操作系统为其提供服务。用户在程序中可以直接使用这组系统调用命令向系统提出各种服务要求,如使用各种外部设备,进行有关磁盘文件的操作,申请分配和回收内存以及其他各种控制要求

操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源
(3)GUI
图形用户界面(GUI)即图形接口,用户通过鼠标和键盘,在图形界面上单击或使用快捷键就能很方便地使用操作系统。有些系统提供了上述三种接口,但GUI最终是通过调用程序接口实现的,严格地说GUI图形接口不属于操作系统的一部分,但图形接口所调用的系统调用命令,属于操作系统的一部分.

操作系统的基本特征

操作系统的基本特征包括并发、共享、虚拟和异步。

PS:并行:(同一时刻—一天内同一时间一起约会); 并发(同一时间间隔—一天内不同时间段分别约会)

并发和共享是操作系统两个最基本的特征,这两者之间又是互为存在条件的:①资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题:②若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行。

并发

并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,一段时间内宏观上有多道程序在同时执行,而在每一时刻,单处理机环境下实际仅能有一道程序执行,故微观上这些程序还是在分时地交替执行。操作系统的并发性是通过分时得以实现的。虽然现在CPU很多都是多核的,但是程序有可能很多,所以并发还是很重要.

共享

资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为
以下两种资源共享方式:
(1)互斥共享方式
系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程访问该资源。为此,当进程A访问某资源时,必须先提出请求,如果此时该资源空闲,系统便可将之分配给进程A使用,此后若再有其他进程也要访问该资源时(只要A未用完)则必须等待。仅当进程A访问完并释放该资源后,才允许另一进程对该资源进行访问。我们把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们都要求被互斥地共享
(2)同时共享方式
系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问,即“分时共享”,典型的可供多个进程“同时”访问的资源是磁盘设备,一些用重入码编写的文件也可以被“同时”共享,即若干个用户同时访问该文件.

要注意到,互斥共享,是因为一种资源在一段时间内(哪怕是一段很小的时间)只能满足一个请求,否则就会出现严重的问题(如打印机,第一行打印A文档的内容,第二行打印B文档的内容,你能想象是什么效果吗?).而同时共享方式,通常要求,一个请求分几个时间片段间隔地完成的效果,与连续完成的效果相同

虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的事物。用于实现虚拟的技术,称为虚拟技术。在操作系统中利用了多种虚拟技术,分别用来实现虚拟处理器、虚拟内存和虚拟外部设备等。
在虚拟处理器技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一个处理器的。此时,虽然只有一个处理器,但它能同时为多个用户服务,使每个终端用户都感觉有一个中央处理器(CPU)在专门为它服务。利用多道程序设计技术,把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟处理器
类似地,可以通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。当然,这时用户所感觉到的内存容量是虚的。我们把用户所感觉到的存储器(实际是不存在的)称为虚拟存储器。还可以通过虚拟设备技术,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备,这样便可以使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为在一段时间内允许多个用户同时访问的共享设备.

因此,操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术,如虚拟存储器.

把CPU抽象成进程,把磁盘抽象成文件,把内存抽象成地址空间

异步

在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性(对于有限资源的占用与释放时间问题).

image-20210414171701187

运行机制与状态

PSW(program status word)标识当前处理器处于什么状态:0用户态(目态)、1核心态(管态)

---------------- 本文结束 ----------------

本文标题:打怪之旅-操作系统

文章作者:Pabebe

发布时间:2021年01月30日 - 08:53:37

最后更新:2021年04月14日 - 17:21:11

原始链接:https://pabebezz.github.io/article/e0627a3a/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%