lear> 教育不是注满一桶水,而是点燃一把火

相关的知识可以参考: csapp

操作系统概述

  • 本书首先简单介绍了操作系统,根据我的理解操作系统就是硬件和软件的桥梁,对于硬件(比如CPU,内存,硬盘,IO设备等),操作系统把硬件的各种资源进行抽象,也就是书中所讲述的虚拟化(接下来的讨论一般来说都是针对于单CPU的情况),比如CPU只有一个但是需要同时运行多个程序,那么操作系统就使用时分复用的方式在一个很小的时间片段内执行不同的程序这就造成了CPU同时执行多个程序的假象,在比如对于内存资源,不同的程序运行的时候就算使用了某种特定的方法使得程序中的某些变量的地址一样,但是对于这个变量的操作却不会相互干扰,这里操作系统对于内存做了虚拟化,制造了单个程序独享内存的假象;另外由于CPU同时执行多个程序,所以这就会引发并发的问题,并发的问题在我的理解下就是软件层面的问题,比如多个线程同时访问一个共享变量;最后操作系统还需要持续存储它保存的数据,操作系统必须持久化的保存数据,所以这里就会设计文件系统等,这一个特点成为持久化

虚拟化

CPU虚拟化

  • Target: 对于单CPU的系统,虚拟化为多个CPU在同时运行多个进程的假象
  • 笔记: CPU虚拟化

虚拟内存

  • Target: 构建虚拟内存,制造一个进程运行的时候以为自己独占物理内存空间的假象
  • 笔记: 虚拟内存

并发

  • 介绍多线程环境下的线程同步等问题
  • 笔记: 并发

持久化

  • 主要介绍操作系统中的文件系统
  • 笔记: 持久化