操作系統概述(coursera筆記)

操作系統做了什麼?
1、用戶告知操作系統執行helloworld程序(how?)
     命令行鍵入、雙擊圖標
2、操作系統找到helloworld相關信息,檢查其代碼類型是否爲可執行文件;通過程序首部信息確認代碼和數據在可執行文件中的位置並計算出相應的磁盤地址(文件格式?)
3、操作系統創建一個新的進程,並將helloworld可執行文件映射到該進程結構,表示由該進程執行helloworld
4、操作系統爲helloworld設置CPU上下文環境,並跳到程序開始處(假設調度程序選中helloworld)
5、執行helloworld的第一條指令時,會發生缺頁異常。分配一頁物理內存,並將代碼從磁盤讀入內存,然後繼續執行程序,此過程重複多次。
6、執行puts函數(系統調用),在顯示設備上顯示一串字符,操作系統將告知顯示所相關進程
7、之後硬件相關。。。。。

在執行helloworld時,不斷請求操作系統功能調用,如創建進程、存儲管理、調用puts函數。

操作系統是什麼?
1、是計算機系統中的一個系統軟件,是一些程序模塊的結合
2、能以儘量有效合理的方式組織管理計算機的軟硬件資源
3、合理地組織計算機的工作流程,控制程序的執行並向用戶提供服務功能
4、使用戶能夠靈活方便的使用計算機

有效:CPU不空閒,資源利用率
合理:各軟硬件資源管理公平合理
方便使用:用戶界面、編程接口

OS是資源的管理者
硬件資源:CPU、內存、IO設備等
軟件資源:文件、信息

跟蹤資源的使用狀況、確定資源分配策略(算法)
     靜態分配(進程執行前事先分配)
     動態分配(進程執行中申請資源,由操作系統決定分配)
資源的分配和回收
提高資源利用率
保護資源的使用
協調多個進程對資源請求的衝突

從資源管理的角度——五大基本功能
1、進程/線程管理
2、存儲管理
3、文件管理
4、設備管理
5、用戶接口

操作系統位於硬件與應用程序之間

操作系統的特徵

併發、共享、虛擬、隨機

併發:處理多個同時性活動的能力。宏觀上並行,微觀上串行
共享:操作系統與多個用戶程序共同使用計算機資源,合理分配資源,在一個時間段內交替被多個進程使用
虛擬:一個物理實體被抽象成若干個邏輯實體——分時或分空間
隨機:無法預知事件發生的次序、每個進程執行的進度,難以重現系統在某個時刻的狀態

操作系統架構另行總結
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章