操作系统复习

本来用的复习书籍是《现代操作系统》,但是我感觉那书真的是不太适合我,就换了一本《Operating Systems: Three Easy Pieces》,纯英文版的。

书名中的三个部分,分别对应了虚拟化(virtualization), 并发(concurrency)和持久化(persistence)三个部分,这边打算用三篇文章来记录这三个部分,本篇博客就整体介绍一下整个操作系统。

对操作系统的介绍

程序到底是什么?一个运行着的程序就是CPU从内存中获取指令,将指令解码,执行指令,最后不停重复的过程。

操作系统本身也是一个软件,只不过它控制了物理的资源,并且对这些物理资源进行了抽象,所以我们也可以说操作系统是一台虚拟机。对了让使用者更好的使用,操作系统提供了API这个概念,这些API就被称为system call——系统调用,这些系统调用有时也被称作标准库(standard library)

对CPU的虚拟化

可以同时运行多个程序,而每个程序似乎是同时运行的。

对内存的虚拟化

如果关闭了内存随机化,那么所有程序打印的它们的地址都是相同的,这其实是操作系统做了内存映射。

并发

由于有多个程序一起运行,所以会出现一点问题。

持久化

把数据保存到磁盘中。

操作系统历史

有兴趣可以自行了解。