操作系统八股文02-进程管理

进程管理详解:从调度到通信与同步

操作系统八股文02-进程管理

1. 进程组成

  • PCB
  • 程序段
  • 数据段

进程状态保存在PCB中

2. 进程状态及调度

在这里插入图片描述

**调度类别:**作业调度、中级调度、进程调度(eg. FCFS、SJF、时间片轮转、多级反馈队列)

3. 进程与线程

3.1 基本概念

  • 进程:为了更好的实现操作系统的并发操作,资源分配的基本单位

  • 线程:为了提高操作系统的并发操作效率,调度的基本单位

同一进程中的线程共享进程中的资源,所以访问资源时需要保证线程安全(eg. 锁、信号量、条件变量、原子操作)

3.2 上下文切换

  • 进程上下文切换:需要保存寄存器、用户栈、PC寄存器、状态码、文件表、页表等
  • 线程上下文切换:需要保存寄存器、用户栈、PC寄存器等

4. 进程组、Session、终端

4.1 进程组

  • 一组进程的集合
  • 每个Group存在一个Leader,PGID = leader PID

<

### 操作系统面试知识点总结 #### 进程与线程 进程操作系统中的基本执行单元,拥有独立的内存空间、程序和数据[^2]。线程则是进程中更轻量级的执行单元,同一进程内的线程共享内存空间和其他资源。 #### IO 多路复用 `select`、`poll` 和 `epoll` 是常见的 I/O 多路复用机制,用于监控多个文件描述符的状态变化。当某个文件描述符变为可读或可写时,这些机制会通知应用程序采取相应动作[^1]。 - **Select**: 支持有限数量的文件描述符,性能随监听数增加而下降。 - **Poll**: 解决了 select 的最大连接数限制问题,但仍存在轮询效率低下的缺点。 - **Epoll**: 提供高效的事件驱动模型,在高并发场景下表现优异。 #### 同步与互斥 同步是指控制多个线程按特定顺序访问临界区的技术;互斥则指在同一时刻只有一个线程能访问某段代码区域。常用技术包括信号量、锁(mutex)、条件变量等。 #### 调度算法 调度算法决定了 CPU 时间如何分配给各个任务。主要分为抢占式调度和非抢占式调度两大类: - 常见调度策略:先来先服务 (FCFS),最短作业优先 (SJF),时间片轮转 (RR),多级反馈队列等。 #### 内存管理 现代操作系统采用虚拟内存技术解决物理内存不足的问题。涉及的关键概念如下: - 页面置换算法:LRU(最近最少使用), FIFO(先进先出) 等。 - 地址映射:逻辑地址到物理地址转换过程。 - 缺页中断处理流程及其优化措施。 以下是基于上述内容的一个简单伪代码示例展示 epoll 使用方式: ```c++ #include <sys/epoll.h> #include <unistd.h> void handle_events(int epfd, struct epoll_event *events, int num){ for(int i=0;i<num;i++){ if(events[i].data.fd == listen_fd && events[i].events & EPOLLIN){ // 新连接到来 accept_connection(); }else{ // 数据到达已建立连接上 process_data(events[i].data.fd); } } } int main(){ int epfd = epoll_create(MAX_EVENTS); struct epoll_event event; // 添加listen socket 到 epoll 实例中 event.events = EPOLLIN | EPOLLET; event.data.fd = listen_fd; epoll_ctl(epfd, EPOLL_CTL_ADD, listen_fd,&event); while(true){ struct epoll_event events[MAX_EVENTS]; int nfds = epoll_wait(epfd, events, MAX_EVENTS,-1); handle_events(epfd,events,nfds); } close(epfd); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值