[OS] 作業系統簡介

1.1 什麼是作業系統

kernel由軟體韌體組成,作為使用者與電腦硬體的操作界面, 並且管理電腦系統資源。

四大管理 (Resources Management)

透過作業系統,對裸機(Bare Machine)進行四大管理, 使電腦能方便使用最佳效率

注: 程式執行時產生兩個以上(含)個process。

Resource Manager

意指Operating System,其功能管理裸機的四大資源。

Bootstrap Loader

亦可稱IPL(Inital Program Loader)用於載入作業系統的韌體

流程

  1. 開機產生中斷使PC指向Bootstrap Loader
  2. Bootstrap Loader由Disk讀取並載入OS Kernel
  3. 將控制權轉交給Kernel(PC指向kernel)
  4. OS載入Command Interpreter

注: 在OS kernel載入完成之後主記憶體會區分出, User Area與System Area。

Command Interpreter

Command Interpreter為作業系統的最前端使用者交互界面界面, 用來處理使用者命令,亦可稱為Shell

透過直譯的方式判斷輸入命令文法有無錯誤在進行處理。

Accounting

避免電腦系統被非法使用者存取,以保護電腦系統, 並且確認使用者資源權限。

Program Execution

System Call

作為程式與作業系統的界面,以避免直接存取系統資源, 並且限制程式使用資源只能透過 System Call,並檢查權限後透過 作業系統使用資源。

注: 如printf等函數編譯過後轉換成System Call

DOS Call與BIOS Call與System Call的皆需

但是System Call則嚴密控管系統資源。

System Protection

注: Monitor Mode可稱為 Privilegeed Mode、System Mode、Protect Mode

作業系統

一般程式

1.2 Early System

Terminology

Batch System

Batch Processing必須透過Job Control Language的方式處理。

例子:

Turnaround Time: 意指Submit到電腦工作完成所需的時間(Interval), 包含CPU TimeI/O Time等待作業系統時間等。

Multiprogramming

多支程式佔有主記憶體時,處理器快速的在多個工作切換。

注: Throughput指單位時間中完成多少程式(number of processes)

Time Sharing Systems

CPU時間分割成多個Time Slice, 若有多支程式平分不同時間給不同程式。

作業系統在程式使用完時間時,發出timer interrupt將資源交給另外一支程式。 採用queue決定優先順序。

Time Slice大致採用ms切割時間片段。

Spooling

Simultaneous Peripheral Operation On Line用來解決專屬設備共用問題。

Response Time

提出請求直到回應的時間。

On Line / Off Line

Real Time System

立即反應需要On Line,但連線系統不一定即時。

Multiprocessing

Multiprocessor System,由於同時多個CPU工作可稱為Parallel System。

執行方式

透過Data independent/dependent決定statement能否分配給不同CPU

若為後者程式需要交流,則由系統進行Synchronous

作業系統架構

Front/Back End

注: 該概念不當成Multiprocessing,Back End意指Disk

Duplex and Dual

Distributed System

Multiprocessing比較

Distributed System為Lossely Coupled System(鬆散性系統),彼此不共用 系統資源(如記憶體),並且透過Communication Line進行連接,Heterogeneous Processr。

Multiprocessing為Tightly Coupled System,其共用系統資源,homogenous Processer。

優點

類型

現代作業系統


Operating System