毕业论文
您现在的位置: 版本控制 >> 版本控制优势 >> 正文 >> 正文

30张图详解操作系统总结

来源:版本控制 时间:2022/7/4
北京治疗白癜风便宜的医院 https://jbk.39.net/yiyuanfengcai/yyjs_bjzkbdfyy/
一、概述基本特征

1.并发

并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。

并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。

操作系统通过引入进程和线程,使得程序能够并发运行。

2.共享

共享是指系统中的资源可以被多个并发进程共同使用。

有两种共享方式:互斥共享和同时共享。

互斥共享的资源称为临界资源,例如打印机等,在同一时刻只允许一个进程访问,需要用同步机制来实现互斥访问。

3.虚拟

虚拟技术把一个物理实体转换为多个逻辑实体。

主要有两种虚拟技术:时(时间)分复用技术和空(空间)分复用技术。

多个进程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占用处理器,每次只执行一小个时间片并快速切换。

虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页置换到内存中。

4.异步

异步指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进。

基本功能

1.进程管理

进程控制、进程同步、进程通信、死锁处理、处理机调度等。

2.内存管理

内存分配、地址映射、内存保护与共享、虚拟内存等。

3.文件管理

文件存储空间的管理、目录管理、文件读写管理和保护等。

4.设备管理

完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率。

主要包括缓冲管理、设备分配、设备处理、虛拟设备等。

系统调用

如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而陷入内核,由操作系统代为完成。

Linux的系统调用主要有以下这些:

大内核和微内核

1.大内核

大内核是将操作系统功能作为一个紧密结合的整体放到内核。

由于各模块共享信息,因此有很高的性能。

2.微内核

由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。

在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。

因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。

中断分类

1.外中断

由CPU执行指令以外的事件引起,如I/O完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。

2.异常

由CPU执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。

3.陷入

在用户程序中使用系统调用。

二、进程管理进程与线程

1.进程

进程是资源分配的基本单位。

进程控制块(ProcessControlBlock,PCB)描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对PCB的操作。

下图显示了4个程序创建了4个进程,这4个进程可以并发地执行。

2.线程

线程是独立调度的基本单位。

一个进程中可以有多个线程,它们共享进程资源。

QQ和浏览器是两个进程,浏览器进程里面有很多线程,例如HTTP请求线程、事件响应线程、渲染线程等等,线程的并发执行使得在浏览器中点击一个新链接从而发起HTTP请求时,浏览器还可以响应用户的其它事件。

3.区别

Ⅰ拥有资源

进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。

Ⅱ调度

线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程中的线程切换到另一个进程中的线程时,会引起进程切换。

Ⅲ系统开销

由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O设备等,所付出的开销远大于创建或撤销线程时的开销。类似地,在进行进程切换时,涉及当前执行进程CPU环境的保存及新调度进程CPU环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小。

Ⅳ通信方面

线程间可以通过直接读写同一进程中的数据进行通信,但是进程通信需要借助IPC。

进程状态的切换

就绪状态(ready):等待被调度

运行状态(running)

阻塞状态(waiting):等待资源

应该注意以下内容:

只有就绪态和运行态可以相互转换,其它的都是单向转换。就绪状态的进程通过调度算法从而获得CPU时间,转为运行状态;而运行状态的进程,在分配给它的CPU时间片用完之后就会转为就绪状态,等待下一次调度。

阻塞状态是缺少需要的资源从而由运行状态转换而来,但是该资源不包括CPU时间,缺少CPU时间会从运行态转换为就绪态。

进程调度算法

不同环境的调度算法目标不同,因此需要针对不同环境来讨论调度算法。

1.批处理系统

批处理系统没有太多的用户操作,在该系统中,调度算法目标是保证吞吐量和周转时间(从提交到终止的时间)。

1.1先来先服务first-

转载请注明:http://www.0431gb208.com/sjszjzl/800.html