操作系统复习看过来-学生深入浅出串讲OS

现代OS中给开发者提供了一虚拟地址空间,这段空间不受限于物理内存的大小。

如何管理虚拟地址空间,就是OS要做的事,有段式管理和页式管理。

现代OS对虚拟地址空间的管理则主要采用页式管理。Linux OS中操作系统把可执行文件中的每一个段拆分成相等大小的页。

如果所查找的页在内存中,那么直接进入内存查找,如果页不在内存中,则向CPU发出一个缺页中断,CPU接收到缺页中断后会进行请页,将对应页面调入内存并修改页面状态为存在,然后在继续查找之前的地址。

什么是进程同步呢?

多个相关进程(线程)在执行次序上的协调称为进程同步。用于保证多个进程在执行次序上的协调关系的机制称为进程同步机制。

一共有5个哲学家,他们围在一桌吃饭,每个人的面前有一盘菜;每个人的左右两边各放着一只筷子,一共5只筷子,哲学家只有既拿到左筷又拿到右筷才能进餐,只拿到左筷或只拿到右筷都不能进餐。

如图,很显然5个人要按照一定的顺序先后吃饭才能每个人都吃到。那么我们来设计一个死锁的场景,让哲学家们都变得野蛮,我们让每位哲学家都先拿左筷再拿右筷,虽然只拿着左筷吃不了饭,但是不放手的同时还要去拿右筷,然后肯定会出现你争我抢的场景。对于这样的死锁场景,我们如何通过工具抓到死锁现场并解除?且看视频如何讲解。

编译系统的作用就是将高层的C/C++语言编写的程序转换成为处理器能够执行的二进制代码,它需要经过如图所示的四个步骤:

预处理(Preprocessing)

编译(Compilation)

汇编(Assembly)

链接(Linking)

….