目录
注意:用户可直接使用命令接口,但不能直接使用程序接口,只能通过程序代码间接使用。
操作系统的基本概念
操作系统的概念
计算机系统(与计算机组成原理中的分层不同)
操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
操作系统是计算机系统中最基本的系统软件。
操作系统的特征
1.并发
并发是指两个或多个事件在同一时间间隔内发生。
一段时间内,宏观上有多道程序在同时执行,而在每个时刻,实际仅能有一道程序执行,因此微观上这些程序仍是分时交替执行的。可见,操作系统的并发性是通过分时实现的。
在操作系统中,引入进程的目的是使程序能并发执行。
!!!注意:这里有一个易混淆的概念,即并行性。
并行性是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上的工作。
2.共享
资源共享即共享,指系统中的资源可供内存中多个并发执行的进程共同使用。主要可分为互斥共享和同时访问两种方式。
互斥共享:
最典型实例:打印机。就是说在一段时间内,只允许一个进程访问该资源。
同时访问:
典型资源:磁盘设备。
这类资源允许在一段时间内由多个进程“同时”访问。这里的“同时”也是宏观上的,微观上可能是交替地对该资源进行访问即“分时共享”的。
并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件。
3.虚拟
虚拟指将一个物理上的实体变为若干逻辑上的对应物。用于实现虚拟的技术称为虚拟技术。操作系统的虚拟技术可归纳为:时分复用技术、空分复用技术。
4.异步
多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,这就是进程的异步性。
操作系统的目标和功能
1.操作系统作为计算机系统资源的管理者
(1)处理机管理
处理机的分配和运行以进程/线程为基本单位,因而对处理机的管理可归结为对进程的管理。主要功能包括进程控制、同步、通信,死锁处理,处理机调度等。
(2)存储器管理
主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。
(3)文件管理
主要包括文件存储空间的管理、目录管理及文件读写管理和保护等。
(4)设备管理
主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能。
2.操作系统作为用户与计算机硬件系统之间的接口
(1)命令接口
联机命令接口又称交互式命令接口:
输入一条,完成一条,强调交互性
脱机命令接口又称批处理命令接口:
输入一组,依次完成,批处理
(2)程序接口
程序接口由一组系统调用(也称广义指令)组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务。
当前最流行的是图形用户界面(GUI),即图形接口,通过调用程序接口实现。
注意:用户可直接使用命令接口,但不能直接使用程序接口,只能通过程序代码间接使用。
狭义的用户接口包括(1)(2),不包括GUI。
3.操作系统实现了对计算机资源的扩充
操作系统的发展历程
1.手工操作阶段(此时还没有操作系统的概念)
计算机上的所有工作都需要人工干预
突出缺点:
①用户独占全机 ②CPU要等待手工操作,CPU利用不充分
2.批处理阶段(操作系统开始出现)
解决第一阶段的人机矛盾及CPU与I/O设备之间速度不匹配的矛盾,又分为
单道批处理系统
实现对作业的连续处理,作业以脱机方式输入磁带。
①自动性:一批作业自动逐个运行,无须人工干预
②顺序性:按顺序完成,先调入内存的作业先完成
③单道性:内存中仅有一道作业运行,监督程序每次从磁带上只调入一道程序进入内存中运行
多道批处理系统(多道程序设计技术出现之后)
用户提交的作业先放在外存上并排成一个队列,作业调度程序按一定的算法从后备队列中选择作业进入内存,作业相互穿插运行,共享系统中的各种硬/软件资源。
特点:多道、宏观上并行、微观上串行(多道程序都处于运行过程中,轮流占有CPU,交替执行)
一个例子体现两者区别:
在单道批处理系统中,只有一道作业运行,如果这道作业运行中,在执行I/O操作,高速的CPU就只能等待低速的I/O操作;
而在多道批处理系统中,CPU可以转而去运行另一道程序(通过中断机制),进而提升效率。解决了单道批处理系统的缺点。
但是多道批处理系统也有缺点:
①用户响应时间较长②无人机交互能力
3.分时系统
追求的目标是能比较快速的响应用户,解决了人机交互问题
特点:
①同时性(多路性,允许多个终端用户同时使用一台计算机)
②交互性:可以与程序进行交互
③独立性:多个用户彼此独立地进行操作,互不干扰
④及时性:用户能在很短时间内获得响应
4.实时系统
为在某个时间限制内完成某些紧急任务而不需要时间片排队。
硬实时系统:如飞行器的自动控制系统
软实时系统:如飞机订票系统
主要特点:及时性、可靠性
5.网络操作系统和分布式系统
网络操作系统最主要的特点是网络中各种资源的共享及各台计算机之间的通信
分布式计算机系统主要特点:分布性和并行性,与网络操作系统的本质不同是,分布式操作系统中的若干计算机相互协同完成同一任务
6.个人计算机操作系统
目前使用最广泛
此外,还有嵌入式操作系统、服务器操作系统、智能手机操作系统,这里不做赘述。
操作系统的运行环境
处理器运行模式
CPU执行两种不同性质的程序:①操作系统内核程序②应用程序
由很多内核程序组成了内核,内核是操作系统中最核心的部分,也是最接近硬件的部分。
特权指令:不允许用户直接使用的指令
非特权指令:允许用户直接使用的指令
(一个可能不太恰当但是帮助理解的例子:电脑里一些操作必须要以管理员身份执行,就类似于特权指令,普通用户不能直接使用)
那么内核如何判断什么时候执行什么指令呢?
在具体实现中,CPU的运行模式分为用户态(目态)和核心态(管态、内核态)。
从内核态到用户态,通过修改PSW标志位为用户态。
从用户态到内核态,是由中断引发的,硬件自动完成变态过程。
中断和异常的定义
系统调用
(该图来源于王道)
应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、IV/0操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
连载中,敬请期待...(ps:有任何疑问都可以在评论区指出,看到就会回复)