iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 9
0

終於來到第九天,寫文章真的不是一件容易的事情,想在這此做一個小結,統整前面所講述關於作業系統的定位與概要,以及規劃下未來下一個part要寫的內容。(絕對不是要用這個小結拖更一天的)

目前用前面幾天介紹一些有關於作業系統的事情

  • 為什麼作者我要探討這一門學科:不論是在寫程式、面試和專業度都能加分
  • 從古至今作業系統的發展:bash -> multi programming -> Time-Sharing
  • 作業系統提供的服務:UI、Program Execution、Security.....
  • 作業系統的定位:作業系統的API、System call
  • 名詞定義:Process、Instruction......

希望看倌如果有追到這邊,已經對作業系統的全盤有一個概略的暸解,如果看一遍還不暸解,那就看兩遍,或留言與我討論,去查外部的資料來幫我補充我也覺得非常OK,畢竟學海無涯,仍需各位多多指教。

未來的篇幅要更往下的去挖掘作業系統到底是如何去implement這些功能,前面說一個好的作業系統要同時兼顧效能便利,以至於發展出現行的這種Time-sharing的機制,CPU不斷的轉跳在不同的process上去執行,一方面不讓CPU因為I/O而閒置,另一方面也可以同時支援多個使用者與多個程式執行。

暸解這個概念後覺得現在真的是站在許多的巨人肩膀上,使用他們所開發的作業系統和硬體,真的充滿很多概念簡單,但是又十分厲害的想法和機制在裡面,也就是這些機制打造現今易用又快的電腦,接下來的內容想要抓著這個點作為切入,講述硬體是和軟體(作業系統)是如何去配合並建構出這樣的系統出來。

  • 在軟體方面的展開:
    • 我們在使用作業系統有很大一部分在執行程式,前面有稍微提過Process的概念,為了之後能夠講得更深,會再把它的內容再延伸一些
    • 講到process後不免還是要牽扯到極容易與其搞混的thread,也是執行程式最基本的單位。
    • 另外為了搭配Time-sharing的機制,有一個在做安排程式優先執行順序的元素-Scheduling,也是非常有趣和充滿巧思。
  • 在硬體方面的展開:
    • 首先要先解釋CPU在執行程式的概念(Register等等)
    • 另外在硬體方面有許多加速的方法,從比較基本的多核心(multi core)、多CPU,用顯卡去做計算、甚至是多台電腦的分散式運算

最後算是我這幾天下來的一些心得,這些日子一邊在念作業系統,一邊寫下自己的筆記,在慢慢地轉換成鐵人賽的內容,一直想要努力把中間的知識轉換成老嫗能解的科普內容,也很努力的去將說出來的理論連結實際上的使用例子。一開始得蠻不踏實的,有點迷茫不知道選擇這樣的主題和寫這些文章是否真的能有什麼產出,可能是看過太多大神的文章,覺得我的文章真的是充滿菜味,但在某天突然就釋懷,這是一個與自己的挑戰賽,只要能幹掉昨天的自己,這樣就夠帥了。


上一篇
Day 8 - API & System call
下一篇
Day 10 - Process
系列文
非本科系也能懂和該懂得作業系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言