面試官:說(shuō)說(shuō)你對(duì)操作系統(tǒng)的理解?核心概念有哪些?
一、是什么
操作系統(tǒng)(Operating System,縮寫(xiě):OS)是一組主管并控制計(jì)算機(jī)操作、運(yùn)用和運(yùn)行硬件、軟件資源和提供公共服務(wù)來(lái)組織用戶(hù)交互的相互關(guān)聯(lián)的系統(tǒng)軟件程序,同時(shí)也是計(jì)算機(jī)系統(tǒng)的內(nèi)核與基石
簡(jiǎn)單來(lái)講,操作系統(tǒng)就是一種復(fù)雜的軟件,相當(dāng)于軟件管家
操作系統(tǒng)需要處理如管理與配置內(nèi)存、決定系統(tǒng)資源供需的優(yōu)先次序、控制輸入與輸出設(shè)備、操作網(wǎng)絡(luò)與管理文件系統(tǒng)等基本事務(wù),
操作系統(tǒng)的類(lèi)型非常多樣,不同機(jī)器安裝的操作系統(tǒng)可從簡(jiǎn)單到復(fù)雜,可從移動(dòng)電話的嵌入式系統(tǒng)到超級(jí)電腦的大型操作系統(tǒng),在計(jì)算機(jī)與用戶(hù)之間起接口的作用,如下圖:
許多操作系統(tǒng)制造者對(duì)它涵蓋范疇的定義也不盡一致,例如有些操作系統(tǒng)集成了圖形用戶(hù)界面,而有些僅使用命令行界面,將圖形用戶(hù)界面視為一種非必要的應(yīng)用程序。
二、核心概念
操作系統(tǒng)的核心概念都是對(duì)具體物理硬件的抽象,主要有如下:
- 進(jìn)程(線程):進(jìn)程(線程)是操作系統(tǒng)對(duì)CPU的抽象
- 虛擬內(nèi)存(地址空間):虛擬內(nèi)存是操作系統(tǒng)對(duì)物理內(nèi)存的抽象
- 文件:文件是操作系統(tǒng)對(duì)物理磁盤(pán)的抽象
- shell:它是一個(gè)程序,可從鍵盤(pán)獲取命令并將其提供給操作系統(tǒng)以執(zhí)行。
- GUI :是一種用戶(hù)界面,允許用戶(hù)通過(guò)圖形圖標(biāo)和音頻指示符與電子設(shè)備進(jìn)行交互
- 計(jì)算機(jī)架構(gòu)(computer architecture):在計(jì)算機(jī)工程中,計(jì)算機(jī)體系結(jié)構(gòu)是描述計(jì)算機(jī)系統(tǒng)功能,組織和實(shí)現(xiàn)的一組規(guī)則和方法。它主要包括指令集、內(nèi)存管理、I/O 和總線結(jié)構(gòu)
- 多處理系統(tǒng)(Computer multitasking):是指計(jì)算機(jī)同時(shí)運(yùn)行多個(gè)程序的能力
- 程序計(jì)數(shù)器(Program counter):程序計(jì)數(shù)器 是一個(gè) CPU 中的寄存器,用于指示計(jì)算機(jī)在其程序序列中的位置
- 多線程(multithreading):是指從軟件或者硬件上實(shí)現(xiàn)多個(gè)線程并發(fā)執(zhí)行的技術(shù)
- CPU 核心(core):它是 CPU 的大腦,它接收指令,并執(zhí)行計(jì)算或運(yùn)算以滿(mǎn)足這些指令。一個(gè) CPU 可以有多個(gè)內(nèi)核
- 圖形處理器(Graphics Processing Unit):又稱(chēng)顯示核心、視覺(jué)處理器、顯示芯片或繪圖芯片
- 緩存命中(cache hit):當(dāng)應(yīng)用程序或軟件請(qǐng)求數(shù)據(jù)時(shí),會(huì)首先發(fā)生緩存命中
- RAM((Random Access Memory):隨機(jī)存取存儲(chǔ)器,也叫主存,是與 CPU 直接交換數(shù)據(jù)的內(nèi)部存儲(chǔ)器
- ROM (Read Only Memory):只讀存儲(chǔ)器是一種半導(dǎo)體存儲(chǔ)器,其特性是一旦存儲(chǔ)數(shù)據(jù)就無(wú)法改變或刪除
- 虛擬地址(virtual memory):虛擬內(nèi)存是計(jì)算機(jī)系統(tǒng)內(nèi)存管理的一種機(jī)制
- 驅(qū)動(dòng)程序(device driver):設(shè)備驅(qū)動(dòng)程序,簡(jiǎn)稱(chēng)驅(qū)動(dòng)程序(driver),是一個(gè)允許高級(jí)別電腦軟件與硬件交互的程序
- USB(Universal Serial Bus):是連接計(jì)算機(jī)系統(tǒng)與外部設(shè)備的一種串口總線標(biāo)準(zhǔn),也是一種輸入輸出接口的技術(shù)規(guī)范
- 地址空間(address space):地址空間是內(nèi)存中可供程序或進(jìn)程使用的有效地址范
- 進(jìn)程間通信(interprocess communication):指至少兩個(gè)進(jìn)程或線程間傳送數(shù)據(jù)或信號(hào)的一些技術(shù)或方法
- 目錄(directory):在計(jì)算機(jī)或相關(guān)設(shè)備中,一個(gè)目錄或文件夾就是一個(gè)裝有數(shù)字文件系統(tǒng)的虛擬容器
- 路徑(path name):路徑是一種電腦文件或目錄的名稱(chēng)的通用表現(xiàn)形式,它指向文件系統(tǒng)上的一個(gè)唯一位置。
- 根目錄(root directory):根目錄指的就是計(jì)算機(jī)系統(tǒng)中的頂層目錄,比如 Windows 中的 C 盤(pán)和 D 盤(pán),Linux 中的 /
- 工作目錄(Working directory):它是一個(gè)計(jì)算機(jī)用語(yǔ)。用戶(hù)在操作系統(tǒng)內(nèi)所在的目錄,用戶(hù)可在此目錄之下,用相對(duì)文件名訪問(wèn)文件。
- 文件描述符(file descriptor):文件描述符是計(jì)算機(jī)科學(xué)中的一個(gè)術(shù)語(yǔ),是一個(gè)用于表述指向文件的引用的抽象化概念
- 客戶(hù)端(clients):客戶(hù)端是訪問(wèn)服務(wù)器提供的服務(wù)的計(jì)算機(jī)硬件或軟件。
- 服務(wù)端(servers):在計(jì)算中,服務(wù)器是為其他程序或設(shè)備提供功能的計(jì)算機(jī)程序或設(shè)備
三、總結(jié)
操作系統(tǒng)是管理計(jì)算機(jī)硬件與軟件資源的程序,是計(jì)算機(jī)的基石
操作系統(tǒng)本質(zhì)上是一個(gè)運(yùn)行在計(jì)算機(jī)上的軟件程序 ,用于管理計(jì)算機(jī)硬件和軟件資源
操作系統(tǒng)存在屏蔽了硬件層的復(fù)雜性。操作系統(tǒng)就像是硬件使用的負(fù)責(zé)人,統(tǒng)籌著各種相關(guān)事項(xiàng)
操作系統(tǒng)的內(nèi)核(Kernel)是操作系統(tǒng)的核心部分,它負(fù)責(zé)系統(tǒng)的內(nèi)存管理,硬件設(shè)備的管理,文件系統(tǒng)的管理以及應(yīng)用程序的管理。內(nèi)核是連接應(yīng)用程序和硬件的橋梁,決定著系統(tǒng)的性能和穩(wěn)定性
參考文獻(xiàn)
https://www.cnblogs.com/cxuanBlog/p/13297199.html
https://www.cnblogs.com/cxuanblog/p/12607608.html
https://www.anvilliu.com/2021/03/06/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E2%80%94%E2%80%94%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5/