操作系统概述

谈到我为何要写这么一个系列,因为我觉得,很多“学过的”东西,并不是你认为学懂了,就真的懂了的。

所以,我想通过这么一个回溯和复习计划,来记录自己学习操作系统的点滴,以备后用的同时也给别人一点启发吧。

-----------------------------------------------------下面正式开始吧~---------------------------------------------------------------

谈到操作系统,我们说的最多的恐怕还是微软系列(win10,以前我正在用的win8,还有win7,实验室的xp等等),开源的Linux和众多的发行版(Ubuntu,Fedora,Redhat等),还有个极客之作Mac,我们在上面写文档,图片处理,用浏览器体验丰富的来自世界各地的网页,用qq聊天,在网上做生意,组建技术社区,包括我正在浏览器里面写博客等,这些东西,构成了我们的现代生活。另外在移动端爆发的这几年,我们又成了低头族。很多公司都在制作自己的App,很可能还是全系列的,像这样,既有安卓,还有ios,也少不了h5网页应用,但毫无例外,它们都运行在操作系统上。

那我们如何了解这一几乎每天都在使用的重要软件呢?CPU、内存、硬盘、显卡、USB外设、网卡这些资源,我们作为用户应该怎么使用它们,程序员如何编写可以利用这些资源完成自己功能的程序?

这都需要操作系统的管理,它给用户提供了一个易于使用这些重要资源的界面,我们在上面运行cmd或者bash的命令,我们安装各种软件,需要的时候或者兴趣来了,我们还会写一些软件,完成客户指定的功能或自己的设想。

它接管的资源有处理机、主存、I/O设备(又称外设,包括使用最多的硬盘、网卡设备、声卡、显卡、键盘鼠标等等),在它之上,我们得以运行有用的程序、进行体验丰富的交互,而每一次更新,我们都会很欣喜,很好奇补充哪些高级的功能。

它由多模块构成,每个模块都有特定的功能:进程的调度机制保证了每个进程可以适当的在每一段时间占用各种资源,内存管理提供了进程要在主存中运行时的内存管理,文件系统可以提供文件的存取和权限控制,设备管理可以管理众多的外设。

下一节我们将介绍操作系统的种类和各自的优缺点。