½行修改才行。
而由于核心只会½行计算机系统的资源分配,所以在上头还需要有应用程序的提供,
用户才能够操作系统的。
为了保护核心,并且让程序设计师比½容易开发软件,因此操作系统除了核心程序之外,通常还会提
供一整组开发½口,
那就是系统呼½层。软件开发工程师只要遵循公认的系统呼½参数来开发软件,
该软件就能够在该核心上头运作。
所以你可以发现,软件与核心有比½大的关系,与硬件关系则不
大!硬件也与核心有比½大的关系!
至于与用户有关的,那就是应用程序啦!
Tips
在定义上,只要能够让计算机硬件正确无误的运作,那就算是操作系统了。所以说,
操
作系统其实就是核心与其提供的½口工具,不过就如同上面½的,因为最阳春的核心缺乏了与用户沟通的亲和½口,
所以在目前,一般我们提到的『操作系统』都会包含核心与相关的用户应用软件呢!
简单的说,上面的图示可以带给我们底下的概念:
.
操作系统的核心层直½参考硬件规格写成,
所以同一个操作系统程序不能够在不一样的硬件架构下运作
。
举例来说,个人计算机版的
Windows 8.1
不能直½在
ARM
架构
(
手机与平板硬件
)
的计算机下运作。
.
操作系统只是在管理整个硬件资源,包括
CPU
、内存、输入输出装置及文件系统文件
。
如果没有其他的应
用程序辅助,操作系统只能让计算机主机准备妥当
(Ready)
而已!并无法运作其他功能。
所以你现在知道为
何
Windows
上面要达成网页影像的运作还需要类似
PhotoImpact
或
Photoshop
之类的软件安装了吧?
.
应用程序的开发都是参考操作系统提供的开发½口,
所以该应用程序只能在该操作系统上面运作而已,不
可以在其他操作系统上面运作的
。
现在您知道为何去购买在线游戏的光盘时,光盘上面会明明白白的写着
该软件适合用于哪一种操作系统上了吧?
也该知道某些游戏为何不能够在
Linux
上面安装了吧?
.
核心功能
既然核心主要是在负责整个计算机系统相关的资源分配与管理,那我们知道其实整部计算机系统最重
要的就是
CPU
与主存储器,
因此,核心至少也要有这些功能的:
.
系统呼½½口
(System call interface)
刚刚谈过了,这是为了方便程序开发者可以轻易的透过与核心的沟通,½硬件的资源½一步的利用,
于是
需要有这个简易的½口来方便程序开发者。
.
程序管理
(Process control)
总有听过所谓的『多任务环境』吧?一部计算机可能同时间有很多的工作跑到
CPU
等待运算处理,
核心
这个时候必须要能够控制这些工作,让
CPU
的资源作有效的分配才行!另外,
良好的
CPU
排程机制
(
就是
CPU
先运作那个工作的排列顺序
)
½会有效的加快整体系统效能呢!
.
内存管理
(Memory management)
控制整个系统的内存管理,这个内存控制是非常重要的,因为系统所有的程序代码与数据都必须要先存放
在内存当中。
通常核心会提供虚拟内存的功能,当内存不足时可以提供内存置换
(swap)
的功能哩。