計算機操作系統(tǒng)
操作系統(tǒng)
- 并發(fā)是指一段時間內(nèi)有多個事件發(fā)生穆刻,并行是指某個時刻有多個事件發(fā)生搞糕,因此稿湿,并行需要多處理機
- 引入虛擬存儲技術(shù)集峦,使得一個應(yīng)用程序能在遠小于它的內(nèi)存空間中運行
- 為了確保進程只在自己的內(nèi)存空間內(nèi)運行延蟹,通常會設(shè)置兩個界限寄存器评矩,存放上界和下界。每條指令訪問時都由硬件檢查是否越界阱飘。
- 編譯后的應(yīng)用程序的地址都是從“0”開始的斥杜,存儲器管理將相對地址映射為內(nèi)存里的物理地址,通常有硬件支持
- 內(nèi)存擴充功能允許在裝入一部分用戶程序和數(shù)據(jù)的情況下能啟動程序沥匈,也允許內(nèi)存空間不足時將暫時不用的部分調(diào)至盤上
- 微內(nèi)核的結(jié)構(gòu)蔗喂,將常用模塊剝離出來,與服務(wù)端采用消息傳遞通信機制進行通信高帖。降低了效率缰儿,但便于構(gòu)建分布式網(wǎng)絡(luò)系統(tǒng)
進程
- 進程是由一組機器指令、數(shù)據(jù)和堆棧等組成的散址,一個進程需要CPU乖阵、存儲及I/O設(shè)備等宣赔。引入進程后使得程序可以并發(fā)執(zhí)行。(多處理機能并行瞪浸?)
- 進程是可擁有資源和可調(diào)度和分派的基本單位
- 進程間通信儒将。UNIX首創(chuàng)pipe,外存通信对蒲,數(shù)據(jù)量大钩蚊,速度慢。消息傳遞系統(tǒng)齐蔽,速度快
線程
- 線程作為獨立運行和獨立調(diào)度的基本單位两疚。引入線程是為了減小進程調(diào)度付出的開銷
- 線程基本不擁有系統(tǒng)資源,可以訪問進程的資源
- 在多線程OS中含滴,進程不再是一個可執(zhí)行的實體诱渤,但仍具有與執(zhí)行相關(guān)的狀態(tài),且與狀態(tài)管理相關(guān)的操作也會對其線程起作用
- 內(nèi)核支持線程谈况,依靠系統(tǒng)內(nèi)核對線程進行控制勺美。優(yōu)點是系統(tǒng)統(tǒng)一管理所有線程,缺點是用戶態(tài)和內(nèi)核態(tài)的頻繁切換開銷會很大
- 用戶級線程碑韵,依靠用戶態(tài)對線程控制赡茸。優(yōu)點是節(jié)省了模式切換的開銷、進程專用調(diào)度算法祝闻、跨OS平臺占卧,缺點是系統(tǒng)調(diào)用阻塞進程時,該進程的所有線程被阻塞联喘,內(nèi)核每次分配一個CPU給進程华蜒,只有一個線程能執(zhí)行
存儲器管理
- 存儲層次三級:CPU寄存器、主存(高速緩存豁遭、磁盤緩存)叭喜、輔存(磁盤、可移動存儲介質(zhì))
- 用戶源程序由編譯程序編譯成若干個目標(biāo)模塊
- 程序的鏈接
- 靜態(tài)鏈接:鏈接程序?qū)⒊绦虻哪繕?biāo)模塊鏈接成裝配模塊
- 裝入時動態(tài)鏈接:邊裝入邊鏈接
- 運行時動態(tài)鏈接:程序執(zhí)行需要時鏈接
- 程序的裝入
- 絕對裝入方式:由程序自定義內(nèi)存的絕對地址
- 可重定位裝入方式:由裝入程序?qū)⑾鄬Φ刂芳由显趦?nèi)存中的起始地址得到絕對地址
- 動態(tài)運行時裝入方式:將地址裝換推遲到程序真正要執(zhí)行時蓖谢,需要重定位寄存器的支持
- 內(nèi)存的連續(xù)分配
- 單一連續(xù)分配:分為系統(tǒng)區(qū)和用戶區(qū)捂蕴,只能用于單用戶、單任務(wù)的OS
- 固定分區(qū)分配:一種是所有分區(qū)大小相等闪幽,一種是大量小分區(qū)啥辨、適量中分區(qū)、少量大分區(qū)盯腌,根據(jù)程序大小分配相應(yīng)的分區(qū)溉知。有多少分區(qū)就允許多少并發(fā)
- 動態(tài)分區(qū)分配;根據(jù)算法動態(tài)分配和回收內(nèi)存
- 動態(tài)重定位分區(qū)分配:連續(xù)分配中,要把零散的小分區(qū)利用起來着倾,需要對程序進行移動,移動后的程序和數(shù)據(jù)的地址需要進行重定位(需要重定位寄存器的支持)
- 內(nèi)存的離散分配
- 分頁存儲管理燕少,將程序分配到不連續(xù)的內(nèi)存中卡者,以頁為基本單位,大小固定客们,只是單純的數(shù)據(jù)信息
- 分段存儲管理崇决,將程序分配到不連續(xù)的內(nèi)存中,以段為基本單位底挫,大小不固定恒傻,包含邏輯信息
- 虛擬存儲器,具有(頁/段)請求調(diào)入和置換功能建邓,邏輯上對內(nèi)存容量進行擴充盈厘。需要相應(yīng)的硬件和軟件支持。(這就能解釋iPhone一直RAM小但是完美實現(xiàn)多任務(wù))
名詞解釋
- PCB:Process Control Block官边,進程控制塊沸手。常駐內(nèi)存,系統(tǒng)通過它進行進程調(diào)度
- Primitive:原語注簿。由若干條指令組成契吉,是“原子操作”,常駐內(nèi)存诡渴,執(zhí)行中不允許被打斷
- TCB:Thread Control Block捐晶,線程控制塊。保留線程調(diào)度所需的少量信息
- Swapping:對換妄辩。把內(nèi)存中暫時不能運行或不用的程序和數(shù)據(jù)調(diào)出到外存上
- LAN:Local Area Network惑灵,局域網(wǎng)
- WAN:Wide Area Network,廣域網(wǎng)
PS:只記錄了感興趣的部分
新鮮出爐的“未來郵遞員”來了恩袱,它帶著兌換碼來了泣棋,快來嘗鮮吧! 未來郵遞員
寫于2020-03-12
本篇文章由一文多發(fā)平臺ArtiPub自動發(fā)布