《码渣的进阶》——操作系统

进程

1。为什么引入进程?
为了提高CPU的执行效率,减少因为程序等待带来的CPU空转以及其他计算机资源的浪费。

2。为什么引入线程?
为了减少进程切换和创建的开销,提高执行效率和节省资源。

3。进程和线程的区别?
线程是独立调度 的基本单位,进程是拥有资源的基本单位。

4。进程间的通信方式:
共享内存:
要互斥的访问共享空间
基于数据结构的共享(低级)
基于存储区的共享(高级)

管道:
	半双工通信,某一时间段只能实现单向传输。
	各个进程的访问通道互斥。
	管道满则write系统调用就会阻塞,空则read系统调用阻塞。
	没写满不允许读,没读完不允许写。
	读进程只能有一个,否则有可能读错数据。
	流管道可以双向传输。
	命名管道可以在不同的进程之间惊进行通信。

消息传递:
	传递结构化的消息。
	系统提供发送/接受原语。
	有直接通信和间接通信,直接通信直接将消息挂到对方的消息队列里面,而间接通信则将消息发送到中间体(信箱)。

内存管理

1。页式管理:
页固定大小,一般4K,内存化为每一个块,就像slot,每一个页刚好填满一个slot。数据可以离散存储。没有外碎片但是有内碎片。

缺点:缺页中断的产生,选择淘汰页面,页面碎片浪费空间

2。段式管理:
段不固定大小,所以没有内碎片但是有外碎片。

3。段页式管理:
便于实现,分段可共享,易于保护,可动态链接,并且能很好的解决外部碎片。

4。页面置换算法:
FIFO:先进先出
LRU:最近最久未使用
LFU:目前最少使用
OPT:最优置换算法

发布了9 篇原创文章 · 获赞 4 · 访问量 139
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览