操作系统核心概念:信号量、死锁与内存管理

需积分: 0 0 下载量 70 浏览量 更新于2024-06-19 收藏 13.05MB PDF 举报
"计算机操作系统知识点总结,结合哔哩哔哩王道视频内容" 操作系统是计算机系统的核心部分,它管理着计算机的硬件资源,同时为用户提供服务。本总结主要涉及操作系统中的进程管理、同步机制、死锁处理以及内存管理等关键概念。 1. **进程同步与互斥**: - 进程通过操作系统提供的信号量机制实现同步和互斥。信号量是一个变量,可以表示资源的数量或状态。 - `wait()` (P操作) 和 `signal()` (V操作) 原语是实现这一机制的关键,它们分别用于申请资源(减信号量)和释放资源(加信号量)。 - `Block` 和 `Wakeup` 原语用于控制进程的状态,当资源不足时,进程会被阻塞并加入等待队列;当资源可用时,进程被唤醒并变为就绪状态。 2. **生产者-消费者问题**: - 缓冲区作为临界资源,需要互斥访问,以防止数据竞争。 - 实现互斥的P操作应放在实现同步的P操作之后,确保正确顺序。 3. **多生产者-多消费者问题**: - 多个生产者和消费者同时操作,需要更复杂的同步机制来处理多类关系。 4. **读者-写者问题**: - 读操作可以并发执行,但写操作与任何其他操作(读或写)都需互斥。 - 写者优先策略通常用于解决这类问题,以保证数据一致性。 5. **哲学家进餐问题**: - 五个哲学家共享五根筷子,需要设计合适的规则避免死锁。 6. **管程**: - 管程是一种高级的同步工具,通过封装进程同步和互斥的细节,提供简单的函数接口供进程调用。 7. **死锁**: - 死锁是指两个或多个进程相互等待对方释放资源而无法继续执行的状态。 - 预防死锁:破坏互斥、不剥夺、请求和保持、循环等待这四个死锁必要条件之一。 - 避免死锁:银行家算法用于在分配资源前预测系统是否安全。 - 检测和解除死锁:系统可以检测到死锁状态并采取措施解除。 8. **内存管理**: - 包括连续分配和非连续分配,如覆盖与交换技术用于提高内存利用率。 - 动态分区算法用于动态地分配内存空间。 - 分页存储管理将进程划分为固定大小的页,实现逻辑地址到物理地址的转换。 9. **地址转换**: - 页表用于存储页号和物理地址的映射,页号可以隐式存储。 - 地址转换机制利用局部性原理,通过TLB(快表)加速查找过程,但不能全部放入TLB,因为TLB的容量有限。 10. **两级页表**: - 当寻址空间较大时,采用两级或多级页表以减少页表占用的内存。 以上是计算机操作系统中的关键知识点,这些概念对于理解和设计操作系统至关重要。