文章目录
1. 操作系统的特征有哪些?
并发:同一段时间内有多个进程并发执行。
共享:系统的资源能被多个同时执行的进程或线程共享。
虚拟:通过时分复用或空分复用技术将一个物理实体虚拟为多个。
异步:系统中的进程是以不可预知的速度进行,与按序执行的同步相反。
2. 说一说进程和线程?
进程是进程实体的运行过程,是系统进行资源分配和调度的独立单位;
线程是比进程更小的可独立运行的单位,可以看作轻量级进程,引入线程的目的是为了减小并发执行过程中的开销,增加并发率。一个进程内可以有多个线程。
两者的对比:
- 调度方面:线程是独立的系统调度单位,而进程作为资源的拥有单位。
- 并发性方面:进程间可以并发,一个进程内的多个线程也可以并发。
- 资源方面:进程是基本的资源拥有单位,线程能访问所属进程的资源。
- 系统开销方面:创建或撤销进程,需要回收PCB和系统资源,切换时也要保存和恢复CPU环境,开销比较大。而线程的切换不涉及到太多资源的更改,开销小。
3. 进程有哪几种状态?各种状态之间的转换过程?
就绪态,运行态,阻塞态。
- 就绪态–>运行态:CPU空间,进程被调度。
- 运行态–>就绪态:时间片用完,被抢占。
- 运行态–>阻塞态:等待资源分配,如IO设备。
- 阻塞态–>就绪态:资源分配完毕,如IO操作结束。
4. 进程通信是什么?有哪些方式?
进程通信指的是进程之间交换数据的方式。进程通信分为低级通信和高级通信。
低级通信通过信号量方式。高级通信方式包括:共享存储、消息传递、管道通信。
-
信号量:能保证某资源被互斥访问,或控制被访问的顺序(同步)。
-
共享存储:在进程之间有一块共享内存区域可直接访问,通过对这个区域的读操作或写操作来实现数据共享,这个过程是互斥的。
-
消息传递:进程间以格式化的消息为单位进行数据交换。有直接通信方式和间接通信方式两种,直接通信方式是发送进程直接将消息发送给接收进程缓冲队列ÿ