计算机操作系统学习
1 概述
操作系統(tǒng)職能完成對(duì)硬件的管理和控制
1.1 操作系統(tǒng)需要關(guān)注的
計(jì)算機(jī)硬件有CPU, 內(nèi)存, 磁盤(pán), 聲卡, 網(wǎng)卡等等, 所以操作系統(tǒng)關(guān)注CPU進(jìn)程線程的調(diào)度, 內(nèi)存管理(物理內(nèi)存, 虛擬內(nèi)存), 文件系統(tǒng)管理, 中斷處理, IO設(shè)備驅(qū)動(dòng)等等.
1.2 操作系統(tǒng)特征
1.2.1 并發(fā)和并行
并發(fā)是操作系統(tǒng)一段時(shí)間跑多個(gè)程序, 并行是指在一個(gè)時(shí)間點(diǎn)上有多個(gè)程序在跑, 需要依賴(lài)多核
1.2.2 資源共享
1.2.3 虛擬
把硬件虛擬化, 使得應(yīng)用更好使用硬件.
1.2.4 異步
1.3?啟動(dòng), 中斷, 異常, 系統(tǒng)調(diào)用
上層應(yīng)用是不能直接操作硬件的, 控制權(quán)都在操作系統(tǒng).
1.3.1 啟動(dòng)
計(jì)算機(jī)啟動(dòng)之后, 先從硬盤(pán)讀取BIOS啟動(dòng)程序, BIOS是基本IO處理系統(tǒng), 在計(jì)算機(jī)啟動(dòng)時(shí)檢測(cè)計(jì)算機(jī)各種外設(shè), 如果發(fā)現(xiàn)外設(shè)沒(méi)有問(wèn)題, 就從硬盤(pán)上把bootloader程序讀取到內(nèi)存開(kāi)始執(zhí)行. bootloader接管了CPU的控制權(quán)之后從硬盤(pán)中讀取os的起始地址和長(zhǎng)度, 然后把其加載到內(nèi)存中, 開(kāi)始執(zhí)行os(os是放到了硬盤(pán)的第一個(gè)主引導(dǎo)扇區(qū)).
1.3.2 系統(tǒng)調(diào)用?異常?中斷
- 系統(tǒng)調(diào)用: 應(yīng)用程序向操作系統(tǒng)發(fā)出指令. 應(yīng)用程序需要調(diào)用系統(tǒng)調(diào)用接口來(lái)進(jìn)行系統(tǒng)調(diào)用. 系統(tǒng)調(diào)用接口包括windows的Win32 API, Unix Linux以及MacOS的POSIX API等. 應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用后, CPU狀態(tài)會(huì)由用戶(hù)態(tài)轉(zhuǎn)換成內(nèi)核態(tài), 此時(shí)CPU可以執(zhí)行任何一條指令. 系統(tǒng)調(diào)用和普通函數(shù)調(diào)用的區(qū)別是: 函數(shù)調(diào)用時(shí), 是在一個(gè)空間內(nèi), 而系統(tǒng)調(diào)用后會(huì)由用戶(hù)態(tài)切換到內(nèi)核態(tài), 堆棧也會(huì)切換(操作系統(tǒng)會(huì)有自己的堆棧), 開(kāi)銷(xiāo)會(huì)增大.
- 異常:? ? ? ??應(yīng)用程序執(zhí)行遇到問(wèn)題, 由操作系統(tǒng)來(lái)處理. 當(dāng)有異常產(chǎn)生時(shí), 操作系統(tǒng)同樣需要先保存當(dāng)前執(zhí)行的程序狀態(tài), 然后根據(jù)異常狀態(tài)來(lái)進(jìn)行處理, 處理完成后繼續(xù)恢復(fù)之前執(zhí)行的程序.
- 中斷:? ? ? ??由外設(shè)讓操作系統(tǒng)感知到有操作,?中斷來(lái)源于外設(shè), 比如鍵盤(pán)和鼠標(biāo), 網(wǎng)卡等.? 中斷產(chǎn)生的時(shí)候, 會(huì)有硬件和軟件的處理, CPU獲取中斷之后會(huì)產(chǎn)生中斷號(hào), 并發(fā)給操作系統(tǒng), 操作系統(tǒng)先把正在執(zhí)行的程序的執(zhí)行狀態(tài)保存起來(lái), 然后根據(jù)中斷號(hào)來(lái)找到對(duì)應(yīng)的中斷程序進(jìn)行執(zhí)行, 執(zhí)行完成后再把之前保存的程序取出來(lái)繼續(xù)執(zhí)行.
2 操作系統(tǒng)內(nèi)存管理
3 操作系統(tǒng)進(jìn)程管理
4 操作系統(tǒng)處理器調(diào)度
5 操作系統(tǒng)同步互斥
6 信號(hào)量和管程
7 死鎖問(wèn)題
8 進(jìn)程通信
9 文件系統(tǒng)
總結(jié)
- 上一篇: android oat如何提取dex文件
- 下一篇: usb hid 调试软件_开源USB免驱