操作系統(tǒng)

什么是系統(tǒng)調(diào)用呢?

用戶態(tài)(user mode) : 用戶態(tài)運(yùn)行的進(jìn)程可以直接讀取用戶程序的數(shù)據(jù)。
系統(tǒng)態(tài)(kernel mode):可以簡(jiǎn)單的理解系統(tǒng)態(tài)運(yùn)行的進(jìn)程或程序幾乎可以訪問(wèn)計(jì)算機(jī)的任何資源,不受限制。
系統(tǒng)調(diào)用就是用戶態(tài)切換到內(nèi)核態(tài)。

線程和進(jìn)程以及它們的區(qū)別

1、線程是CPU調(diào)度和分配的基本單位,進(jìn)程是系統(tǒng)資源調(diào)度和分配的基本單位。
2、一個(gè)進(jìn)程里有多個(gè)線程,多個(gè)線程可以并發(fā)執(zhí)行,如果一個(gè)線程中斷了,那么這個(gè)進(jìn)程就結(jié)束了。多個(gè)進(jìn)程可以并行執(zhí)行,互不影響。
3、每個(gè)進(jìn)程都有獨(dú)立的代碼和資源,而每個(gè)線程都有自己的程序計(jì)數(shù)器,線程共享資源,線程間切換的開(kāi)銷(xiāo)小。

進(jìn)程有哪幾種狀態(tài)? 5種

創(chuàng)建、就緒、運(yùn)行、阻塞、結(jié)束

進(jìn)程間的通信方式

管道、信號(hào)量、消息隊(duì)列、共享內(nèi)存、套接字

線程間的同步的方式有哪些?

互斥量、信號(hào)量、事件

進(jìn)程的調(diào)度算法

1、先到先服務(wù)(FCFS)調(diào)度算法
2、短作業(yè)優(yōu)先(SJF)的調(diào)度算法
3、時(shí)間片輪轉(zhuǎn)調(diào)度算法
4、多級(jí)反饋隊(duì)列調(diào)度算法
5、優(yōu)先級(jí)調(diào)度

什么是死鎖

多個(gè)進(jìn)程/線程同時(shí)被阻塞,它們中的一個(gè)或者全部都在等待某個(gè)資源被釋放。由于進(jìn)程/線程被無(wú)限期地阻塞,因此程序不可能正常終止。

死鎖的四個(gè)條件

互斥、請(qǐng)求和保持、循環(huán)等待、不可搶占

解決死鎖的方法

預(yù)防,避免,檢測(cè)和解除四種。
死鎖的預(yù)防
1、靜態(tài)分配策略
2、層次分配策略
死鎖的避免
銀行家算法

操作系統(tǒng)常見(jiàn)的幾種內(nèi)存管理機(jī)制

塊式管理:將內(nèi)存分為幾個(gè)固定大小的塊,每個(gè)塊中只包含一個(gè)進(jìn)程。
頁(yè)式管理 :把主存分為大小相等且固定的一頁(yè)一頁(yè)的形式,頁(yè)較小,相比于塊式管理的劃分粒度更小,提高了內(nèi)存利用率,減少了碎片。
段式管理 :段式管理把主存分為一段段的,段是有實(shí)際意義的,每個(gè)段定義了一組邏輯信息
簡(jiǎn)單來(lái)說(shuō):頁(yè)是物理單位,段是邏輯單位。分頁(yè)可以有效提高內(nèi)存利用率,分段可以更好滿足用戶需求。
段頁(yè)式管理機(jī)制 : 簡(jiǎn)單來(lái)說(shuō)段頁(yè)式管理機(jī)制就是把主存先分成若干段,每個(gè)段又分成若干頁(yè),也就是說(shuō) 段頁(yè)式管理機(jī)制 中段與段之間以及段的內(nèi)部的都是離散的。

快表

為了提高虛擬地址到物理地址的轉(zhuǎn)換速度,操作系統(tǒng)在 頁(yè)表方案 基礎(chǔ)之上引入了 快表 來(lái)加速虛擬地址到物理地址的轉(zhuǎn)換。我們可以把快表理解為一種特殊的高速緩沖存儲(chǔ)器(Cache),其中的內(nèi)容是頁(yè)表的一部分或者全部?jī)?nèi)容。

多級(jí)頁(yè)表

引入多級(jí)頁(yè)表的主要目的是為了避免把全部頁(yè)表一直放在內(nèi)存中占用過(guò)多空間,特別是那些根本就不需要的頁(yè)表就不需要保留在內(nèi)存中。

分頁(yè)機(jī)制和分段機(jī)制的共同點(diǎn)和區(qū)別

1、共同點(diǎn) :
分頁(yè)機(jī)制和分段機(jī)制都是為了提高內(nèi)存利用率,減少內(nèi)存碎片。
頁(yè)和段都是離散存儲(chǔ)的,所以兩者都是離散分配內(nèi)存的方式。但是,每個(gè)頁(yè)和段中的內(nèi)存是連續(xù)的。
2、區(qū)別 :
頁(yè)的大小是固定的,由操作系統(tǒng)決定;而段的大小不固定,取決于我們當(dāng)前運(yùn)行的程序。
分頁(yè)僅僅是為了滿足操作系統(tǒng)內(nèi)存管理的需求,而段是邏輯信息的單位,在程序中可以體現(xiàn)為代碼段,數(shù)據(jù)段,能夠更好滿足用戶的需要。

什么是虛擬內(nèi)存?

虛擬內(nèi)存是它定義了一個(gè)連續(xù)的虛擬地址空間,并且把內(nèi)存擴(kuò)展到硬盤(pán)空間

什么是局部性原理

某個(gè)較短的時(shí)間段內(nèi),程序執(zhí)行局限于某一小部分,程序訪問(wèn)的存儲(chǔ)空間也局限于某個(gè)區(qū)域。利用局部性原理實(shí)現(xiàn)髙速緩存

頁(yè)面置換算法

最佳頁(yè)面置換算法
FIFO(First In First Out) 頁(yè)面置換算法(先進(jìn)先出頁(yè)面置換算法)
LRU (Least Recently Used)頁(yè)面置換算法(最近最久未使用頁(yè)面置換算法)
LFU (Least Frequently Used)頁(yè)面置換算法(最少使用頁(yè)面置換算法)

孤兒進(jìn)程和僵尸進(jìn)程

僵尸進(jìn)程:一個(gè)進(jìn)程使用 fork 創(chuàng)建子進(jìn)程,如果子進(jìn)程退出,而父進(jìn)程并沒(méi)有調(diào)用 wait 或 waitpid 獲取子進(jìn)程的狀態(tài)信息,這種進(jìn)程稱之為僵死進(jìn)程
孤兒進(jìn)程:一個(gè)父進(jìn)程退出,而它的一個(gè)或多個(gè)子進(jìn)程還在運(yùn)行,那么這些子進(jìn)程將成為孤兒進(jìn)程。
危害:孤兒進(jìn)程并不會(huì)有什么危害,而大量的產(chǎn)生僵死進(jìn)程,將因?yàn)闆](méi)有可用的進(jìn)程號(hào)而導(dǎo)致系統(tǒng)不能產(chǎn)生新的進(jìn)程。

線程數(shù)量根據(jù)什么考慮:

CPU密集型任務(wù):一般配置線程數(shù)=CPU總核心數(shù)+1
IO密集型任務(wù):一般配置線程數(shù)=CPU總核心數(shù) * 2 +1 (一般情況)
CPU密集型:所謂CPU密集型就是說(shuō)處理任務(wù)不需要依賴外部I/O,比如科學(xué)計(jì)算、矩陣運(yùn)算等等。
I/O密集型:這一類任務(wù)可能計(jì)算部分所占用時(shí)間不多,大部分時(shí)間都用在了比如磁盤(pán)I/O、網(wǎng)絡(luò)I/O等,記為WT(wait time),以及CPU計(jì)算所需要的時(shí)間,這里極為CT(computing time),那么對(duì)于一個(gè)N核的系統(tǒng),合適的線程數(shù)大概是N * (1 + WT/CT)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 操作系統(tǒng)基本特征 (1) 并發(fā) 并發(fā)是指宏觀上在一段時(shí)間內(nèi)能同時(shí)運(yùn)行多個(gè)程序,而并行則指同一時(shí)刻能運(yùn)行多個(gè)...
    _code_x閱讀 1,654評(píng)論 1 17
  • 1.1 課程概述 基本概念及原理 操作系統(tǒng)介紹 中斷及系統(tǒng)調(diào)用 內(nèi)存管理 進(jìn)程及線程 調(diào)度 同步 文件系統(tǒng) I/O...
    liuzhangjie閱讀 1,485評(píng)論 0 0
  • 一 操作系統(tǒng)基礎(chǔ) 1、什么是操作系統(tǒng) 操作系統(tǒng)(Operating System,簡(jiǎn)稱 OS)是配置在計(jì)算機(jī)硬件上...
    5c4797452c5f閱讀 612評(píng)論 0 1
  • 1、導(dǎo)論 與用戶交互的程序: 基于文本的shell 基于圖標(biāo)的圖形化用戶界面(GUI) 操作系統(tǒng)所處的位置: 多數(shù)...
    曹元_閱讀 1,571評(píng)論 0 4
  • 目錄 1 概述 2 系統(tǒng)調(diào)用 3 進(jìn)程 4 內(nèi)存管理 5 文件系統(tǒng) 6 I/O 1 概述 1.1 操作系...
    小小千千閱讀 560評(píng)論 0 0

友情鏈接更多精彩內(nèi)容