上述的功能就是操作系统的核心
(Kernel)
了!你的计算机能不能做到某些事情,都与核心有关!
只有
核心有提供的功能,你的计算机系统才能帮你完成!举例来说,你的核心并不支持
TCP/IP
的网络协
议,
那么无论你购买了什么样的网卡,这个核心都无法提供网络能力的!
但是单有核心我们使用者也不知道能作啥事的~因为核心主要在管控硬件与提供相关的能力
(
例如存
取硬盘、网络功能、
CPU
资源取得等
)
这些管理的动作是非常的重要的,如果使用者能够直½使用
到核心的话,万一用户不小心½核心程序停止或破坏,
½会导致整个系统的崩溃!因此
核心程序所
放置到内存当中的区块是受保护的!
并且开机后就一直常驻在内存当中。
Tips
所以整部系统只有核心的话,我们就只能看着已经准备好运作
(Ready)
的计算机系统,
但无法操作他!
好像有点望梅止渴的那种感觉啦!这个时候就需要软件的帮忙了!
.
系统呼½
(System Call)
既然我的硬件都是由核心管理,那么如果我想要开发软件的话,自然就得要去参考这个核心的相关功
能!
唔!如此一来不是从原本的参考硬件函数变成参考核心功能,还是很麻烦啊!有没有更简单的
方法啊!
为了½决这个问题,操作系统通常会提供一整组的开发½口给工程师来开发软件!
工程师只要遵守
该开发½口那就很容易开发软件了!举例来说,我们学习
C
程序语言只要参考
C
程序语言的函式即
可,
不需要再去考虑其他核心的相关功能,因为核心的系统呼½½口会主动的½
C
程序语言的相关
语法转成核心可以了½的任务函数,
那核心自然就能够顺利运作该程序了!
如果我们½整个计算机系统的相关软
/
硬件绘制成图的话,他的关系有点像这样:
0.4.2
、操作系统的½色
计算机系统主要由硬件构成,然后核心程序主要在管理硬件,提供合理的计算机系统资源分配
(
包括
CPU
资源、内存使用资源等等
)
因此
只要硬件不同
(
x86
架构与
RISC
架构的
CPU)
,核心就得要