close

參考來源:

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個程序被同時執行,而不是切換執行

 

 

 

 

 

arrow
arrow
    文章標籤
    OS 作業系統 基本概念
    全站熱搜
    創作者介紹
    創作者 Jessie 的頭像
    Jessie

    潔西愛踹踹

    Jessie 發表在 痞客邦 留言(0) 人氣()