《现代操作系统》第一章阅读总结

1、为什么需要操作系统?操作系统是什么?
作为程序员,我们不可能去掌握所有硬件的编程细节,我们也做不到这件事情,所以我们需要一个东西来帮助我们管理这些部件。操作系统是位于硬件之上的一个软件,隐藏硬件,为我们提供良好、清晰、优雅、一致的抽象,并对资源进行管理。两种看待操作系统的方法,自顶向下:操作系统为应用程序提供抽象,自底向上:操作系统作为资源的管理者。
2、从概念上来说,计算系统一般可以抽象为:CPU、内存以及I/O设备等部分。如图:
《现代操作系统》第一章阅读总结_第1张图片

3、计算机的两种运行模式:内核态和用户态
4、在不同的应用场景,有这不同的操作系统,包括大型机操作系统,嵌入式操作系统,单机操作系统,等等。
5、操作系统中拥有很多概念,这些概念被大多数操作系统所共用:
进程:对现在正在执行的程序的一个抽象。
地址空间:计算机中存储数据的地方,
文件系统:提供一个良好的抽象给用户。
输入/输出(I/O):计算机用来获取输入和产生输出的物理设备。
保护:对计算机内的信息,进行保护,保证访问权限。
shell:命令解释器,终端用户与操作系统之间的界面。
6、在计算机的历史中,技术的变化会导致某些思想过时并迅速消失,但是,技术的另一种变化可能又会再次复活某些思想。例如,在cpu的运算速度远大于存储器的读取速度时,高速缓存很重要,可以加速系统的运行,但是如果以后有新的存储器技术可以使得读取速度远大于cpu时,那么高速缓存就失去了意义,操作系统绝大部分的概念都需要重新改写。
7、系统调用。POSI标准,为操作系统应该拥有的系统调用定义了一个标准。从广义上来看,这些系统调用确定了多数操作系统应该具有的功能。系统调用又分为多组,包括进程管理,文件管理,目录管理等。Windows系统中的系统调用为win32api,与unix系统有着不同,但是提供的服务是相似的。
8、操作系统内部的实现有着不同的结构设计实现,设计方式多种多样,适合于各种使用的场景。常见的有:
单体系统:全部操作系统在内核态中以单一的程序的方式运行。
层次系统:上层的软件是在下一层软件的基础上构建的。
微内核:操作系统被划分为小的、定义良好的模块,只有一个微内核是运行在内核态上,其它的模块都运行在用户态。
客户机-服务器模式:服务器提供某些服务,客户端使用这些服务。网络中的客户机-服务器模式就是web。
虚拟机:从现在我的理解来说,可以说成云,在一个物理机上运行多个操作系统,或者在一个主机系统上运行多个虚拟系统。
外核:为虚拟机分配资源。

你可能感兴趣的:(操作系统总结)