首页 > 代码库 > 软件设计师必备——操作系统·
软件设计师必备——操作系统·
引子:
在今天,我们对于操作系统已经非常熟悉,不论是微软的windows还是苹果的Mac OS X,包扩当先非常流行的android都在操作系统范畴,而这些操作系统虽然各有各的特点,但是,作为整体,我们可以这么认识他们:
这里我们看到,操作系统将硬件屏蔽在了他的下一层,这种思想,就是分层的好处,他帮我们处理很多复杂的事情,他在这里,不仅仅使用户更易用电脑,而且大大降低了编程的难度,想想如果我们整天和0和1打交道,直接面对cpu,面对内存……
深入:
想要有个更深刻的认识,我们就解开操作系统神秘的面纱,看看他到底为我们做了哪些?
想要深入操作系统,我们先得在最下层的硬件说起,我们整天面对的电脑,到底是个什么东西,他的原理到底是什么样子呢?
我们看看,他大概就是这个样子:
这里操作系统针对这个结构,主要管理三个部分
我们针对一个来说说,处理器就是我们常说的cpu,他是那么袖珍,却那么强大
而我们需要cpu做的事情有很多很多,但是大体上,我们需要他可以实现多个程序一起运行,且不相互影响的效果!
例子:
我们举个例子,cpu就好像一名邮递员,他每天处理的事情有很多,但是他同一时刻只能处理一件事,他不能分身给所有人送邮件,只能一家一家送!
而进程和线程呢?我们可以这么理解,一次完整的邮寄的过程称之为进程,而邮寄员收到这封邮件就触发了这个进程,在此之上,看地址,规划线路,确认收信人称之为这个各个线程!
多道:邮寄员可以一段时间内处理N封邮件
调度:邮寄员决定先送哪家,再送哪家的邮件
中断:邮寄员接到命令,暂停邮寄服务
其他的存储管理和设备管理我们可以理解为邮递员管理自己的背包和运货车,这两个,我们会在后续文章中和大家一起讨论!
总结:
理解了操作系统,我们发现,正个操作系统的概念已经容易理解了不少,而我们常提的生活呢?是的,操作系统,在生活中,我们已经用了很长时间,就是银行!在古时,我们叫钱庄,而操作系统的概念体现在他对钱的运作,我们将钱存到钱庄,我们就可以拿着银票就可以在一定范围的钱庄兑现,他将我们危险的运钱,复杂的地域钱的差价给封装了,不就像在电脑中,操作系统封装了复杂的硬件交互!
其实,只要是给我们封装了一层东西的,提供一定功能的,我们都可以用这个概念来解释,只是这个概念的大小和场景不同,也许在另一个场景中,他就叫“抽象”呢?不知道你想起点什么?????