操作系统之进程调度与内存管理

本文深入探讨了操作系统中的进程调度和内存管理。在进程调度方面,介绍了进程间的通信方法,如信号量、互斥量和消息传递,并讨论了各种调度算法,包括先来先服务、时间片轮转、优先级调度等。在内存管理部分,讲解了内存分配策略,如单一连续分配、固定分区和动态分区,并详细阐述了虚拟内存的必要性及其实现,重点提到了虚拟内存的置换算法,如FIFO、LFU和LRU。
摘要由CSDN通过智能技术生成

1.进程间的通信与调度

1.1进程间的通信(Inter Process Communication)

生产者消费者问题

数据存到有界缓冲区bounded-buffer中,设置count记录缓冲区的数据量,如果缓冲区满count=size,让生产者睡眠;如果缓冲区为空count=0,让消费者睡眠。

 

解决方法:

(1)用信号量(semaphore)

需要三个信号量:full记录充满缓冲区数目,empty记录空的缓冲区数目。mutex用来保证任意时刻只有一个进程读写缓冲区变量。

(2)用互斥量(mutex)

是没有信号量基数能力的简化版,仅适用于管理共享资源或一小段代码。互斥量处于两态之一的变量:解锁和加锁

(3)用消息传递(message passing)

(4)用屏障(barrier)

1.2 程序/进程的调度

临界资源:一次只能被一个进程访问的共享资源。

衡量调度的标准:吞吐量(系统每小时完成的作业量)和周转时间(批处理作业用时)

进程调度算法

(1)实时系统一般用非抢占式——先来先服务

交互式系统用抢占式:

(2)轮传时间片࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值