iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0
自我挑戰組

非本科系也能懂和該懂得作業系統系列 第 3

Day 3 - 作業系統的定位

  • 分享至 

  • xImage
  •  

光是寫前言跟目錄就消耗兩天,今天終於要切入作業系統來做一個概略性的介紹,依我自己的經驗為例,最常接觸到的作業系統莫非就是那幾種:

  • Windows:因為從小就開始泡遊戲,Windows陪我度過人生的大把時光,因為良好的使用者介面,以及大量的程式在Windows上被開發,幾乎是人手一台的普及性(病毒的普及性也是一樣高拉)。
  • macOS:到大學,開始學著裝潮,就會買以設計、質感和使用者體驗聞名的Apple產品,什麼都不用做,在咖啡廳拿出來就是潮。
  • Linux:Linux的話普通人接觸到的機會不多,但如果有在一些駭客類型電影,看到黑底然後一堆英文字的,八九不離十就是Linux相關的作業系統(其實macOS和Linux都是由UNIX這個作業系統演化而來的,所以在底層有些相似,感謝研究所時期的教授指正)
  • IOS & Android:就像常常會有人在戰Windows和macOS,因為智慧型手機的普及,戰火也延燒到IOS和Android這種在手機上運行的作業系統。

由這些普及的作業系統,我們可以看出作業系統就像是在機器上面運行的平台,接著會有很多開發人員在這個平台上開發許多應用程式,而這些應用程式當然是給予使用者去使用。作業系統,可以視為是一個中介層,介於機器的硬體與應用程式中間,藉由作業系統,程式的開發人員和使用者不必親自地去面對硬體設備(CPU、記憶體等等),卻能夠去使用他們所提供的功能。

因此在設計作業系統時有兩個最主要的目標:

  • 方便性:畢竟作業系統是設計給予「人」所使用,不論是開發人員還是普通的使用者,在使用和開發上皆需要足夠的彈性。
  • 效能:上述說到,作業系統是銜接硬體與應用程式的中介層,也可以說是對其底下硬體的管理者,就像一個好的主管知道怎麼對下屬安排任務,爛的主管可能造就底下的人力都在閒置(IDLE),作業系統理的道理亦是如此。

這兩個特性基本上是互相衝突的,當提供方便性之後,必定會無法發揮其所有硬體設備100%的效能,希望完全發揮更多效能,很有可能會多出一些限制、犧牲一些彈性,下一章節我會講述過去至今的作業系統設計變化,就更能體會到一個作業系統的方便性和效能是如何發展的。


上一篇
Day 2 - 給伊自己的三十天挑戰
下一篇
Day 4 - 作業系統歷代的演進
系列文
非本科系也能懂和該懂得作業系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
ymhsieh
iT邦新手 4 級 ‧ 2019-10-03 13:42:48

MacOS 的底層真的不是 Linux 啦,要再認真一點去挖 ... XD

PotRookie iT邦新手 5 級 ‧ 2019-10-03 22:30:55 檢舉

報告老師,已修正 XD

我要留言

立即登入留言