操作系统

所见的是暂时的,所不见的是永远的。

当你在电脑上玩游戏、与朋友聊天或编写一个程序并加载运行的时候,你有没有一种像在观看魔术的感觉?编写好的程序能够编译运行,计算出结果,并显示或打印出来。你有没有觉得它很神秘?

如果想揭开这层神秘的面纱,你就得学习操作系统。

因为操作系统是掌控计算机运行的系统,在学习它的过程中,读者能够了解程序在计算机上运行的全景,或者说我们所认为的全景。之所以这么说,是因为精确了解程序在计算机上运行的全景是极其困难的(有人认为这根本就是不可能的)。当然,这里的程序指的是有一定规模的程序,而不是那种只有几行代码的小程序(trivial
program)。从某种程度上说,没有人敢肯定自己清楚计算机在任意时刻所处的状态。例如,在多流水线计算机上,如果发生中断或异常,我们根本就得不到一个精准的状态。唯一能做的就是推倒重来。

内容

本书覆盖全国硕士研究生入学统一考试计算机学科《研究生考试大纲》中操作系统部分全部内容。本书分为8篇,分别是基础原理篇、进程原理篇、线程原理篇、内存原理篇、文件原理篇、I/O原理篇、多核原理篇和操作系统设计篇。

 

目录

 

第一篇 基础原理篇:大伪似真,大道无形

* 第1章 操作系统导论
* 第2章 操作系统历史
* 第3章 操作系统基本概念

 

第二篇 进程原理篇:恍兮惚兮,其中有像;惚兮恍兮,其中有物

* 第4章 进程
* 第5章 进程调度
* 第6章 进程通信

 

第三篇 线程原理篇:善闭者无关楗不可启,善结者无绳约不可解

* 第7章 线程
* 第8章 线程同步
* 第9章 死锁应对之哲学原理
* 第10章 锁的实现

 

第四篇 内存原理篇:64KB内存空间即可以满足所有人的内存需要

* 第11章 基本内存管理
* 第12章 页式内存管理
* 第13章 页面更换算法
* 第14章 段式内存管理

 

第五篇 文件原理篇:大成若缺,其用不敝;大盈若冲,其用不穷

* 第15章 磁盘操作
* 第16章 文件系统
* 第17章 文件系统实现
* 第18章 文件系统性能

 

第六篇 1/O原理篇:善者,不善人之师;不善者,善人之资

* 第19章 输入输出

 

第七篇 多核原理篇:美言不信,信言不美

* 第20章 多核结构与内存
* 第21章 多核环境下的进程同步与调度

 

第八篇 操作系统设计篇:多闻数穷,不若守中

* 第22章 操作系统设计之哲学原理

 

很多人都觉得操作系统枯燥、乏味,甚至令人厌烦。更有人说懂不懂操作系统没有关系。不是很多人在学习操作系统之前就已经写过程序了吗?有的人甚至已经写过很大很复杂的程序了。可见,不懂操作系统并不妨碍我们学习使用计算机。

如果读者这样想,我劝你再想一想。你虽然写过程序,可你知道程序到底是如何在计算机上运行的吗?如果不知道,你怎么敢肯定你的程序总会运行正确呢?你怎么敢说你写的程序最大限度地利用了系统的能力呢?一个人觉得操作系统没用,那是因为他不知道怎么用,或者他没有用操作系统的意愿。说明白一点,如果你认为操作系统没有用,那是因为你的编程和程序开发处在一个低级的水平上。如果你掌握了操作系统,你的编程水平将显著提高。

换句话说,操作系统有没有用,我的回答是"As you
will"。你如果有意愿或者有行动使用操作系统,操作系统就是有用的;如果你没有意愿或行动,则操作系统就是没有用的。当然了,我希望读者在看完这本书后能够领悟到操作系统的巨大用途。万一在读完本书后,读者还感觉困惑或者认为操作系统没用,我唯一能说的也是"As
you will"了。当然,我希望这种情况发生的概率不大。

这份《操作系统哲学》总计427页,分8篇22章,需要完整版的朋友可以以下方式获取。

网络协议

网络协议知识点太多,学完记不住。大部分读者应该都学过计算机网络课程,学的时候感觉并不难,尤其这门课没有公式,更像是文科的东西。学了一大堆东西,也背了一大堆东西,但是最终应付完考试之后,都“还给了老师”。

网上有很多关于网络协议的文章,看的时候感觉别人说得很有道理,自己好像理解了,但.是经不住问,一问就会发现,大概的流程明白了,可是很多细节还是不知道。从能看懂到能真正明白,中间还有很长一段路要走
。每次都感觉自己好像学会了,但实际应用的时候依旧无从下手。虽然很多细节都摸索得差不多了,但是当自己去应用和调试时,才发现还是没有任何思路。比如,当创建出来的虚拟机不能上网时,还是无从下手,学过的很多东西,似乎都用不上。

我把这种现象总结为:一看觉得懂,一问就打鼓,一用就糊涂。

所以本书使用了“趣谈”这种方式,它可以解决从“人门到放弃”的问题,把晦涩的知识点和一些有趣的故事通过比喻的方式结合起来,这样更容易帮助读者系统、深人地了解网络技术的知识点和大致的工作流程。当然用来做比喻的例子和真实的知识点以及工作流程会有一定的差别,但是没有关系,我们的大脑应该是一一个缓存,
而不是一个硬盘, 通过通俗易懂的方式记住知识体系和大致流程,真正到解决问题的时候,再去查阅更加准确的资料,就可以了。

目录

 

 

第1章 通信协议概述

 

第2章 从二层到三层

 

第3章 重要的传输层

 

第4章 常用的应用层

 

第5章 陌生的数据中心

 

第6章 云计算中的网络

 

第7章 容器技术中的网络

 

第8章 微服务相关协议

 

第9章 网络协议只是串讲

 

这份《趣谈网络协议》总计435页,需要完整版的朋友可以以下方式获取。

其实到这里,对于网络世界的探索才刚刚开始,只有经过你自己动手和思考产生的内容,才是真正属于你的知识!打开你的电脑,上手去实验吧!

操作系统和网络协议系列文档都已整理,欢迎一起来学习!

技术
©2020 ioDraw All rights reserved
程序员哥们儿在面试提问环节被挂了!华为Mate40惨遭山寨,搭载骁龙865只要898元高通获得许可供应芯片,依然难阻华为被小米取代 企业工厂为什么要做能源管控系统Python异常处理 -跳过异常继续执行出了6个诺贝尔奖得主的大学 做了一款“手机杀手”AppC/C++字符串格式化袁隆平团队再次向双季稻亩产1500公斤冲刺阿里P8分享能让MySQL性能提升了数百倍的神操作,从此告别CRUDFATFS文件系统