《操作系统导论》学习笔记(一)

目录

本系列是读《操作系统导论》的读书总结。 本书作者是:Remzi H. Arpaci-Dusseau)和Andrea C. Arpaci-Dusseau,译者:王海鹏 本书链接 原作者主页 吐槽:本书的翻译水平实在是不敢恭维,但书绝对是好书,建议读的时候可以对照英文原版。 此外,本系列还参考了巨作《现代操作系统》

[toc]

chapter1 关于本书的话

第一章的内容比较少,作者只是用简单的语言介绍了3个大主题,这三个主题是本书的总体框架。 三大主题分别为:

  1. 虚拟化
  2. 并发
  3. 持久性

chapter2 操作系统介绍

  • 理解程序运行会发生什么? 冯诺依曼体系下的计算模型,程序运行其实是做了:取址执行 所谓取址执行,实际就是处理器从内存种获取一条指令,对其解码,然后执行。
  • 为什么要有操作系统? 简单说就是为了让程序易于运行,让程序可以共享内存,与设备交互。 我的理解是:OS是对硬件的抽象,使程序员或电脑使用者,不需要管底层的硬件如何实现。 就好比使用高级语言,就不需要理解机器语言。
  • 操作系统的关键问题是什么? 关键问题就是如何将资源虚拟化(virtualization)。
    • 什么是虚拟化? 虚拟化就是将物理资源转为通用、强大和易于使用的虚拟形式。 听起来有点不好理解,举个例子,学物理的时候,都会用到质点模型,这是一种抽象,虚拟化也是一种抽象。 有时候可以理解操作系统就是虚拟机。

      2.1 虚拟化CPU

      文中举了两个C语言的例子。 简单总结就是: 假设只要一个CPU,运行一个程序时,这个CPU运行这个程序。 当同时运行4个程序时,操作系统造成一种假象,让人以为4个CPU,使程序同时在运行,这就是虚拟化CPU. 这是不是就有意思了?

      2.2 虚拟化内存

      不要把内存想象的很复杂,内存就是一个字节数组,可以把他想成一个图书馆。 如果要在图书馆取书,你得有地址吧!取书就是读取内存,找到书就是写入(write)或更新(update)。 虚拟化内存通俗说,就是在同一个书的地址处,对于每个人得到的书时不同的,这就好像每个人都有自己的私人图书馆一样。 神奇吧!这就是虚拟化内存。 其实专业说:每个进程都访问自己的地址空间(address space),操作系统以地址空间为输入,通过每种映射(函数)关系,把地址空间转化为物理内存上。

      2.3 并发

2.4 持久性(persistence)

要知道系统内存的数据很容易丢失,如果断电或系统崩溃,那数据就全没了。 故硬件使用I/O,将数据存放在硬盘驱动器(hard drive)中。 而管理磁盘的就是文件系统(file system)

2.5 设计目标

操作系统取得CPU、内存或磁盘等物理资源,并对它们进行虚拟化,处理一切并发的问题,且能持久地存储文件,从而使CPU、内存或磁盘安全。

历史

  1. 早期的操作系统,只是一些库
  2. 后来,给库提供了“保护”
  3. 进入多道程序时代-(操作系统不是一次运行一项作业,而是在大量作业中来回切换,提高CPU利用率)
  4. 摩登时代-PC兴起
    • 补充:UNIX在操作系统举足轻重,它是由贝尔实验室开发的。
    • 后来又名芬兰黑客Linus Torvalds,根据UNIX开发了自己的操作系统Linux。

请我喝咖啡

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,您说多少就多少

打开支付宝或微信扫一扫,即可请我喝咖啡哦