參考來源:
1.鳥歌http://dic.vbird.tw/operating_system/unit03.php
問題:
1.中斷的定義
2.網路是由作業系統所提供的?
關於作業系統
電腦,只是一個硬體,也就是只有殼和零組件,完全無活動力
而此時則需要OS也就是作業系統,驅使這些硬體活絡起來。
而coding的開發者,也只需依照OS的環境要求下就能開發軟體。
最後便是使用者的天下,能夠操作簡單上手的軟體。
OS硬體進程
機械式操作=>電力操作
機械式設備的四則運算、差分機的產生===法國、德國
真空管的電腦、使用讀卡紙打洞讓系統讀入並用印表機輸出===美國、英國
貝爾實驗室開發出電晶體(Transistor),取代真空管
積體電路(IC,Integrated Circuit)的開發,取代電晶體,體積降低
Intel開發微處理器(8008,8080,8086=>x86個人電腦)
OS系統進程
1.OS與AP同時設計
軟體follow硬體,軟體驅動硬體
硬體的不同,也導致程式開發者需要參考電腦硬體,並設計出運算軟體
2.批次系統
每每都要讓系統讀卡操作,而產生批次系統
電腦的儲存設備、硬體執行監督程式(monitor)
預先將程式讀進系統,儲存該程式到佇列(queue)
排隊後在運作,復始
發現會hanging...
拆開CPU運算與I/O
3.多元程式處理系統(記憶體較大時)
執行running:CPU運作程序中
預備ready:程序佇列中,等待CPU
等待or中斷(wait/interrupt):程序需要I/O之下,CPU不予理會
CPU排程(cpu scheduling)
priority、工作時間limit、
CPU其實一次只能運作一個工作,執行max時間後,往後排隊去
看似同時運作所有程序,其實只是切換來去
4.分時系統Time-Sharing system
類似多元程式處理系統,但是為使用者操作介面
由終端機操作輸入,很多個user account
開發AP:
了解電腦硬體環境並選擇程式語言
設計運算、記憶體讀寫、磁碟影像I/O、檔案存取等
硬體、軟體、I/O等等
OS工作內容
unix系統開發
將硬體管理的工作交給程式碼進行,
此程式碼提供一個開發介面,大家遵循此規範
也就是作業系統OS,Operating System
作業系統=核心+系統呼叫(開發介面)
使用者=>操作AP=>控制OS=>硬體做事
核心Kernel:管理硬體(CPU/RAM/DISK)。。。
1.程式的執行:
管理硬體、分配軟體到記憶體、由CPU排程完成任務
2.CPU中斷Interrupt功能:
CPU根據硬體有許多和周邊硬體的中斷通道
收到中斷訊號時,CPU將該程序列入waiting
該硬體完成相關任務後,在接管系統
以前===CPU要持續偵測該動作是否完成
3.記憶體管理模組:
自動偵測與管理主記憶體的使用狀態
避免同一記憶體位置被兩個程序所使用
作業系統核心也在記憶體中,
核心也被放入某受保護的記憶體區段
一般用戶無法操作受保護的記憶區段
4.虛擬記憶體virtual memory:
CPU讀入資料時,要將資料從主記憶體讀入
而主記憶體類似磁碟(刪修後繼易區段不一定連續)
加速下,只會讀該程式在記憶區段的開頭位址與長度
虛擬記憶體,記憶程序在主記憶體的哪區,並排列連續
5.CPU排程:
***指標:此OS好壞
常見的有優先權多工技術Preemptive multitasking
6.磁碟存取及檔案系統:
OS需要驅動磁碟(記憶體SSD/HDD)
且要了解檔案系統格式,才能處理
7.驅動程式driver/modules:
在某OS環境下開發硬體及相關的驅動程式
使用時只要將驅動載入即可使用裝置
之後不用每次使用前都要再重新編譯OS
8.網路子系統
網路是由作業系統所提供的
9.使用者介面GUI(Graphical user interface
圖形化介面,方便使用者操作
而一般的伺服器則多半是使用文字介面
程序與排程
作業系統是由BIOS載入執行
第一支系統程式:由OS自己呼叫
其餘程式:載入記憶體當中執行,進行觸發
程序觸發=>載入記憶體=>程序Process活動
1.程序識別碼PID-process ID
程式program:儲存媒體中的單位
程式可以重複觸發,且OS使用PID進行各個程式的管理及分配
2.CPU排程
一般排程分為二種類型
CPU bound:運算,CPU使用率高
I/O bound:輸出輸入,資料傳輸行為,如資料庫系統
行程通常是由CPU將程序編列PID後進行排程,時間到達後丟回佇列排隊...
3.程序管理
一般來說,程序執行完畢後,會被移出主記憶體
4.執行緒thread
父程序共用某些資料區段的子程序的概念
如:
第一次開啟chrome,花費時間較久
開啟第二個chrome,速度較快
因為第一次開啟所載入的chrome是完整的程序
第二次則是透過行程內產生新的執行緒
此執行緒可以在行程內共用相關的軟體/資料
※ 已經載入到記憶體中的程式段落,無須再次載入
5.多CPU
多核
4核心的CPU,代表可以同時有4個程序被同時執行,而不是切換執行
留言列表