一.操作系统的特性

并发性,共享性,虚拟性,不确定性。

1.并发性

在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但实际上在单CPU的运行环境,每一个时刻只有一个程序在执行。

因此,从微观上来说,各个程序是交替、轮流执行的,如果计算机系统中有多个 CPU,则可将多个程序分配到不同 CPU 上实现并行运行。

2.共享性

共享是指操作系统中的资源(包括硬件资源和信息资源)可以被多个并发执行的进程(线程)共同使用,而不是被一个进程所独占。

3.虚拟性

指通过某种技术把一个物理实体变成若干个逻辑上的对应物。 
采用虚拟技术的目的是为用户提供易于使用、方便高效的操作环境。
例如分时系统将一机虚拟为多机就是未来使得用户资源共享更加方便。具体表现为两种虚拟:
1)虚拟内存:当前要处理的作业所占的内存比计算机的内存小时,先调入部分作业,当这部分作业处理完之后再调入接下来要处理的部分作业,因而程序认为计算机内存足够大,此即虚拟了更大内存
2)虚拟外设:当计算机连接多个外部设备时,让多个外设工作的时间差在可接受范围内,近似于同时工作,此即虚拟外设。 

4.不确定性

但由于资源有限,在多数情况下进程的执行不是一贯到底的,而是“走走停停”。例如一个进程,在 CPU上运行一段时间后,由于等待资源或某事件发生,它被暂停执行,将 CPU 转让给另一个进程执行。

系统中的进程何时执行,何时暂停,以什么样的速度向前推进,进程总共要花多少时间执行才能完成,这些都是不可预知的。

二.操作系统分类

1.批处理操作系统

分为单道批处理系统和多道批处理系统。

2.分时操作系统

在分时操作系统中,一个计算机系统与多个终端设备连接。分时操作系统是将 CPU 的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。

3.实时操作系统

实时操作系统又可以叫做实时嵌入式操作系统(拥有嵌入式操作系统的所有特点),其中实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速响应。

实时系统对交互能力要求不高,但要求可靠性有保障。实时系统分为实时控制系统和实时信息处理系统。

4.嵌入式操作系统

  嵌入式操作系统特点:微型化,可定制,实时性,可靠性,易移植性。

  注意:通用性不是其特点。

5.网络操作系统

网络操作系统是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。

6.分布式操作系统

分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换信息。

其是网络操作系统的高级形式,保留了网络操作系统的所有特性,同时又有透明性、可靠性和高性能等特性。

7.微型计算机操作系统

微型计算机操作系统简称微机操作系统,常用的有 Windows、Mac OS、Linux。

8.微内核操作系统

  现代操作系统大多拥有两种工作状态,分别是核心态和用户态。一般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。

  将传统的操作系统代码放置到更高层,从操作系统中去掉尽可能多的东西,而只留下最小的核心(增强了系统的可靠性和可移植性,消息传递机制很好的提供了微内核系统对分布式系统的支持,它系统结构清晰,有利于协作开发,拥有良好的伸缩性和扩展性,其缺点是通讯成本较高,微内核系统运行效率低于传统系统),称之为微内核。(C/S结构)

微内核:鸿蒙系统

宏内核(单体内核):unix,linux

混合内核:windows

三.进程管理

1.前趋图与PV操作

P操作:申请并占用资源,S=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态 (因为无可用资源),并将其插入阻塞队列。可认为是加锁操作。

V操作:释放资源,S=S+1,若S>0,则执行V操作的进程继续执行:若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。可认为解锁操作。

2.死锁

死锁资源计算:系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为n*(R-1)。其不发生死锁的最小资源数为n*(R-1)+1。

死锁的四个必要条件(必须同时满足):
互斥条件(Mutual Exclusion):资源被某个进程独占,其他进程不能同时访问(如打印机、临界区代码)。
请求与保持条件(Hold and Wait):进程已持有至少一个资源,同时又申请其他资源,且在等待新资源时不释放已持有的资源。
不可剥夺条件(No Preemption):资源只能被进程主动释放,不能被其他进程强行剥夺(如内存、文件句柄)。
循环等待条件(Circular Wait):多个进程形成环形等待链,每个进程等待的资源被链中的下一个进程持有。

死锁的预防方法(破坏四个必要条件之一):

3.进程的三态图

三态图之间的状态转换就是PV操作来控制的。

系统中资源一般分为:

CPU资源:  有 无 无 (分别对应于运行、就绪和阻塞状态)

非CPU资源:有 有 无

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐