auto commit
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
<!-- GFM-TOC -->
|
||||
* [一、概述](#一概述)
|
||||
* [操作系统基本特征](#操作系统基本特征)
|
||||
* [操作系统基本功能](#操作系统基本功能)
|
||||
* [基本特征](#基本特征)
|
||||
* [基本功能](#基本功能)
|
||||
* [系统调用](#系统调用)
|
||||
* [大内核和微内核](#大内核和微内核)
|
||||
* [中断分类](#中断分类)
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
# 一、概述
|
||||
|
||||
## 操作系统基本特征
|
||||
## 基本特征
|
||||
|
||||
### 1. 并发
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
|
||||
异步指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进。
|
||||
|
||||
## 操作系统基本功能
|
||||
## 基本功能
|
||||
|
||||
### 1. 进程管理
|
||||
|
||||
@ -152,19 +152,27 @@ Linux 的系统调用主要有以下这些:
|
||||
|
||||
一个进程中可以有多个线程,它们共享进程资源。
|
||||
|
||||
QQ 和浏览器是两个进程,浏览器进程里面有很多线程,例如 HTTP 请求线程、事件响应线程、渲染线程等等,线程的并发执行使得在浏览器中点击一个新链接从而发起 HTTP 请求时,浏览器还可以响应用户的其它事件。
|
||||
|
||||
<div align="center"> <img src="../pics//3cd630ea-017c-488d-ad1d-732b4efeddf5.png"/> </div><br>
|
||||
|
||||
### 3. 区别
|
||||
|
||||
- 拥有资源:进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。
|
||||
(一)拥有资源
|
||||
|
||||
- 调度:线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程内的线程切换到另一个进程中的线程时,会引起进程切换。
|
||||
进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。
|
||||
|
||||
- 系统开销:由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O 设备等,所付出的开销远大于创建或撤销线程时的开销。类似地,在进行进程切换时,涉及当前执行进程 CPU 环境的保存及新调度进程 CPU 环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小。
|
||||
(二)调度
|
||||
|
||||
- 通信方面:进程间通信 (IPC) 需要进程同步和互斥手段的辅助,以保证数据的一致性。而线程间可以通过直接读/写同一进程中的数据段(如全局变量)来进行通信。
|
||||
线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程内的线程切换到另一个进程中的线程时,会引起进程切换。
|
||||
|
||||
举例:QQ 和浏览器是两个进程,浏览器进程里面有很多线程,例如 HTTP 请求线程、事件响应线程、渲染线程等等,线程的并发执行使得在浏览器中点击一个新链接从而发起 HTTP 请求时,浏览器还可以响应用户的其它事件。
|
||||
(三)系统开销
|
||||
|
||||
由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O 设备等,所付出的开销远大于创建或撤销线程时的开销。类似地,在进行进程切换时,涉及当前执行进程 CPU 环境的保存及新调度进程 CPU 环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小。
|
||||
|
||||
(四)通信方面
|
||||
|
||||
进程间通信 (IPC) 需要进程同步和互斥手段的辅助,以保证数据的一致性。而线程间可以通过直接读/写同一进程中的数据段(如全局变量)来进行通信。
|
||||
|
||||
## 进程状态的切换
|
||||
|
||||
@ -211,7 +219,10 @@ Linux 的系统调用主要有以下这些:
|
||||
|
||||
将所有就绪进程按 FCFS 的原则排成一个队列,每次调度时,把 CPU 时间分配给队首进程,该进程可以执行一个时间片。当时间片用完时,由计时器发出时钟中断,调度程序便停止该进程的执行,并将它送往就绪队列的末尾,同时继续把 CPU 时间分配给队首的进程。
|
||||
|
||||
时间片轮转算法的效率和时间片的大小有很大关系。因为进程切换都要保存进程的信息并且载入新进程的信息,如果时间片太小,会导致进程切换得太频繁,在进程切换上就会花过多时间。
|
||||
时间片轮转算法的效率和时间片的大小有很大关系:
|
||||
|
||||
- 因为进程切换都要保存进程的信息并且载入新进程的信息,如果时间片太小,会导致进程切换得太频繁,在进程切换上就会花过多时间。
|
||||
- 而如果时间片过长,那么实时性就不能得到保证。
|
||||
|
||||
<div align="center"> <img src="../pics//8c662999-c16c-481c-9f40-1fdba5bc9167.png"/> </div><br>
|
||||
|
||||
|
Reference in New Issue
Block a user