Linux教程

测开八股之操作系统

本文主要是介绍测开八股之操作系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一进程、线程
1)进程和线程的区别
进程:运行程序的封装,是系统进行资源调度和分配的基本单位,实现了操作系统的并发
线程:进程的子任务,是CPU进行调度和分配的基本单位,保证了程序的实时性,实现了进程内部的并发
一个程序至少有一个进程,一个进程至少有一个线程,线程依赖进程而存在
进程在执行的过程中拥有独立的内存单元,多个线程共享进程的内存;
调度和切换:线程的上下文切换比进程快的多

进程的特征
结构性:进程包括程序、数据、进程控制块组成
独立性:进程是系统进行资源调度和分配的基本单位
动态性:进程是程序一次执行的过程
并发性:多个进程可以并发的执行

2)进程之间的通信方式
不同的进程之间传播或者交换信息
管道、系统IPC(信号量、消息对列、共享存储)、Socket
2.1)管道:普通管道、流管道和命名管道
普通管道:半双工的,只能单向传输;并且只能在父子进程间进行通信
流管道:以双向传输
命名管道:可以在不相关的进程之间进行通信
2.2)
信号:通知接收进程某种事件已经发生
信号量:计数器,控制多个进程对共享资源的访问;防止一个进程访问共享资源时,另一个进程对共享资源的访问。是在不同的进程之间,或者同一进程不同的线程之间的锁机制
消息对列:消息的链表,存放在内核中,并有****消息对列标识符标识。具有写权限的进程可以根据规则向对列中添加信息,具有读权限的进程可以按照规则向消息队列中读取信息
共享内存:允许多个进程对同一内存空间的访问。其他进程可以看到另个进程在共享内存中数据的更新;依赖同步机制,互斥锁,信号量等等
2.3)Socket
网络中不同机器之间的通信

3)同步方式
3.1)线程之间的同步方式
临界区
互斥量
信号量
事件

3.2)进程之间的同步方式(了解即可)
原子操作、信号量机制、会合、分布式系统

4)状态
4.1)进程之间的状态
运行:
就绪:
阻塞态:

4.2) 线程之间的状态
新建 运行 就绪 阻塞 等待 结束

5)进程的调度方式有几种
先来先服务
优先级
基于时间片轮转
多级反馈

二 死锁
1)死锁产生的原因
两个或多个并发进程中

2)死锁产生的四个必要条件

3)死锁避免算法

这篇关于测开八股之操作系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!