682-应用程序和OS代码是如何一起运行的

Posted -林泽宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了682-应用程序和OS代码是如何一起运行的相关的知识,希望对你有一定的参考价值。

OS内核所作的那些个管理

	(1)进程管理
	(2)内存管理
	(3)设备管理
	(4)文件管理(虚拟资源管理)
	(5)网络管理

应用程序和OS代码是如何一起运行的

1)应用程序、OS、计算机硬件
图:

这是逻辑结构图

这张图大家很好理解,它描述了应用程序、OS与计算机硬件之间,相互依存的逻辑关系,OS运行于硬件之上,应用程序运行与OS之上。
这张图很容易给大家造成误解,认为应用程序是完全就是骑在OS内核上,应用程序跟硬件完全挨不上,这是不可能的,应用程序和OS都是代码写的,
都需要运行在内存和CPU上,这张图只是想说明,当应用程序需要完成什么复杂任务时,都不能独自完成,都必须基于OS的支持才能实现,并不是说应用程序完全脱离了硬件。

2)应用程序与OS到底是如何一起运行在计算机上的
图:
(a)图解

这是正确的图解
Os代码和应用程序代码都在内存中,运行在内存和CPU中
运行应用程序的代码时,PC程序计数器取应用程序的指令,CPU运行应用程序代码
指令是电信号形式的二进制数。总线就是电线。
应用程序调用OS提供的函数接口,让OS帮忙提供支持时,这是PC取OS的指令并运行,并去控制外设(硬件)工作,这样就是取得OS支持,总之OS充当了应用程序控制硬件设备的中间人。

(b)举例
比如当应用需要向磁盘文件写数据时,应用程序不能直接操作磁盘,必须通过OS提供的接口,调用OS的代码,由OS通过文件系统找
到你要操作的问文件,然后调用磁盘驱动程序向磁盘中写数据。
这个过程就是,PC先取指运行应用程序,调用OS时PC再取指运行OS的代码,然后在对磁盘上的文件进行数据的读写操作。

以上是关于682-应用程序和OS代码是如何一起运行的的主要内容,如果未能解决你的问题,请参考以下文章

选择片段 A 时如何在 ViewPager 上不一起启动所有片段

C#程序员经常用到的10个实用代码片段

在 iPhone OS 应用程序中使用 Ruby/Python 代码?

系列情节 - Geopandas

当 ViewPager 中的片段出现和消失时如何执行一些代码

Android:使用Tab检测单个片段viewpager