阅读《现代操作系统》杂记


前言

昨天看了几页《现代操作系统》,基本上就是导论的前面部分,虽然没什么干货,只有一些概述,但是我还是准备写下这篇笔记,目的是为了让我养成每天记点东西的习惯,免得总是感觉自己学了一堆东西,但是想不起来自己具体学了什么。


一、书籍目录

首先看一下书籍的目录,对其内容有个总体的了解:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第一章是引论,主要讲了操作系统的诞生与发展,介绍一些经典的操作系统,也讲了一下计算机的基本硬件和操作系统的一些基本概念:比如什么是系统调用,什么是嵌入式操作系统(我还没看完,不太清楚具体内容);感觉主要是让读者对操作系统有个总的认识,了解一些概念术语,但是我没看完,不知道有没有干货。

第二章到第七章是具体讲解操作系统的一些概念或者说是组成部分,比如线程、进程,内存管理,锁,io系统等。如果之前对这部分内容有过了解的话,可能会轻松点,但是没了解过的话读起来就会有点吃力,并且这部分也使用得非常多。

后面几张讲了操作系统的其他方面、一些常见的系统和操作系统设计的原则,感觉可以略读了解一下就行(最近太忙了,没什么时间去啃这些大部头了,这些内容要看估计也会放到空闲的时候看了)


二、阅读引论

1.1什么是操作系统

操作系统是什么?感觉很难给一个简洁的回答,书上大概是这样说的

  • 从上向下看:操作系统隐藏硬件操作的细节,为用户提供足够的抽象
  • 从下向上看:硬件资源受操作系统管理,故操作系统是资源的管理者,资源管理有两种方式:空间复用和时间复用。
    • 时间复用:让多个程序轮流使用某个资源,比如线程、进程占有cpu时间片,通过快速地切换让两个线程\程序好像是在同时、互不干扰的运行一样
    • 空间复用:(这个还不太了解)让每个程序都得到资源的一部分,比如内存分配,操作系统不会让某个程序使用所有内存,而是让多个程序使用内存的不同部分,这个我知道的例子就只有虚拟内存的多级分页,有些程序的已经申请了但是暂时不需要的内存不会一直在内存中,而是可能存在磁盘,当真正需要使用时再把内存中其他暂时不需要的内存挪出来,再把需要使用发的内存放进去(不知道对不对,这部分有点搞忘了)

1.2操作系统的历史

这部分就懒得把书上内容概述一遍了(因为我也没这么细看),主要是分享一些我感觉有趣的东西。

看了初期的计算机,我就在想象这样的场景:一群人抱着一堆纸条和磁带,在房间里面跑来跑去,结果只是为了算出一个现代计算机看起来非常简单问题,这个场景多少有些魔幻

书中讲IBM设计360系统的部分让我印象十分深刻,书上说到,360的设计是由数千名程序员一起写了数百万行汇编(真狠)完成的,代码量惊人的同时,Bug数目也十分吓人,为了修复这些bug,不得不发行新的版本,结果引入新的bug,最好玩的一句是“每个新版本在修正老错误的同时又引入了新错误,所以随着时间流逝,错误的数量可能大致保持不变”。原来远古程序员就这么擅长写“bug”。

谈到bug,就不禁想到一个假期就搓出来一个Liunx的Liuns大神,虽然Liunx可以被称为计算机界的“源神”(语言界原神Rust说我不服),但是Linux依然存在bug,看到大佬们都这么“会”写bug,我这个菜坤就放心写Bug…打住!!!不是说程序有bug是好事,而是说新手学习大可不必害怕bug,而是要希望有自己没见过的奇妙bug出现,并从中学习和总结,简单来说就是从“优质”bug中成长。

特别是做项目的时候,大可不必害怕因为某个模块可能存在Bug就不敢自己写下去,因为你要知道,只要你的编码经验不是特别少,一般因粗心导致的小bug会马上被发现,如越界,而你不能发现Bug的往往是你没有考虑过的东西导致的,比如刚学习多线程时遇到死锁,这样的Bug虽然难以发现,但是当你找并解决的时候,你学到的东西完全比得上你花费的时间,同时,其实项目编写时,就算有bug,也不代表项目完全不能运行,所以放心大胆的写吧(写bug吧)。


三、结尾

跑题了,但是这本书我没看多少,前面的内容又很无聊,只好扯些闲话。后面可能会继续看,也可能会放一段时间,因为最近很忙,一边忙着看游双的服务器和陈硕的网络库(打算用现代c++写个webserver),一边疲于应付学校的事情。下次更新不知道什么时候力,byebye。


四、补充

偷偷补充一下,后面会篇文章把socket的常用api整理出来,有时间的话还会把网络编程的东西整理出来,但写得可能比较随便,因为网络编程的东西有点多,我也记不住,写起来会有点费力。

下次见(这次真byebye了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值