读书频道 > 网站 > 网页设计 > 操作系统之哲学原理(第2版)
1.5 用户程序与操作系统
12-10-29    奋斗的小年轻
收藏    我要投稿   
操作系统是计算机系统的核心系统软件,负责控制和管理整个系统,使之协调工作。本书对操作系统的核心内容进行了全面分析,包括操作系统的发展历史和基本概念、进程与线程、内存管理、文件系统、输入与输出、多核...立即去当当网订购

前面说过,操作系统上下分别是虚拟机器界面和物理机器界面。处于物理机器下面的是硬件,而硬件和操作系统的关系将是本书的关注点。处于虚拟机器界面上面的是应用软件,应用软件和操作系统的关系不是本书的重点,而是系统编程或底层编程等课程的关注点。在这里,我们只想来简要讨论一下应用程序和操作系统的关系,因为这个关系对理解操作系统非常重要。

那么,操作系统和应用程序之间是什么关系呢?很显然,操作系统为用户程序提供了一个虚拟机器界面,而应用程序运行在这个界面之上。但这个答案似乎太抽象,并不能帮助深入理解它们之间的关系。前面讲过,操作系统是一个程序,而用户程序也是程序,程序和程序之间能有什么关系呢?无非是调用和被调用的关系。

那操作系统和用户程序之间到底谁是调用者,谁是被调用者呢?答案似乎很清楚:操作系统通过虚拟机器界面为用户程序提供各种服务,用户程序在运行过程中不断使用操作系统提供的服务来完成自己的任务。例如,用户程序在运行过程中需要读写磁盘,这个时候就需要调用操作系统的服务来完成磁盘读写操作;如果需要收发数据包,也需要调用操作系统的服务来完成。当调用这些服务时,控制从用户程序转移到操作系统,而操作系统在完成这些服务后将控制返回给用户程序。在这种思维模式下,用户程序是主程序,而操作系统是子程序,如图1.6所示。


 

但是有正就有反,这就是哲学中的矛盾论。如果我们从另一个角度来看,会得出相反的结论。系统启动之后最先启动的是什么程序?操作系统。

用户程序不能在操作系统启用之前启动(除非是很厉害的病毒)。在此之后,每次启动一个用户程序,都相当于操作系统将控制转移给用户程序;而在用户程序执行完毕后,控制又回到操作系统。

这样看上去,操作系统是主程序,它在一生当中不断调用各种应用程序,而每个应用程序执行完之后再回到操作系统。就这样循环往复,直到无穷或机器关闭。在此种思维模式下,操作系统是主程序,用户程序是子程序,如图1.7所示。


 

上述两种看法完全相反,但又似乎都有道理,有谁对谁错之分吗?没有。我们说过,人造学科没有对错之分,只有好坏之分。你喜欢哪种观点就持那种观点,哪种观点帮助你理解操作系统,你就持那种观点。如果两种观点都有帮助,你可同时持有两种观点。
当然,上述关系的描述是非常简单化的。实际上,操作系统和各种用户程序可以看做互相调用,从而形成一个非常复杂的动态关系。了解并阐述这种复杂的动态关系就是本书的目的。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站