操作系統面試知識點(1):操作系統基礎

目錄

1.什么是操作系統:

2.操作系統有哪些功能?

3.常見的操作系統有哪些

4.用戶態和內核態

5.內核態權限這么高,為什么不還要用戶態?

6.用戶態和內核態是如何切換的?

7.系統調用

8,系統調用的過程


???????1.什么是操作系統:

(1)操作系統(OS)是管理計算機軟硬件資源程序,運行在你計算機上的所有軟件都通過操作系統調用內存和磁盤等硬件

(2)操作系統是硬件管理員,屏蔽了硬件的復雜性

(3)操作系統的核心是內核(Kernel),負責內存,硬件,文件系統,以及應用程序管理.

區分內核和CPU:

1.內核屬于操作系統層面,CPU屬于硬件

2.CPU提供運算和處理指令的能力,內核負責系統管理

2.操作系統有哪些功能?

(1)進程和線程的管理:進程的創建,撤銷,阻塞,喚醒,進程間的通信等

在Window系統直觀的表現是任務資源管理器,可以看到同一個軟件,卻分出了多個不同的線程

Java的JUC包和操作系統線程之間的關系:

JUC構建在Java線程模型之上,而Java線程最終依賴操作系統

(2).存儲管理:內存的分配和管理,外存(磁盤)的分配和管理

(3).文件管理:文件的創建,讀寫,及刪除等

最直接的體現是Window資源管理器,新建,打開,編輯,刪除文件

(4)設備管理

完成設備(輸入輸出設備和外部存儲設備等)的請求或釋放,以及設備啟動等功能

這里的輸入輸出設備有鍵盤,顯示器等,外部存儲設備有U哦按,磁帶等

設備啟動過程:(以U盤為例)

設備檢測,設備驅動加載,設備初始化和設備就緒

(5)網絡管理

操作系統提供計算機網絡的使用

(6)安全管理

用戶的身份認證,訪問控制,文件加密等

3.常見的操作系統有哪些

window(打游戲好用),linux(編程),macos(編程體驗和linux相當,還有自己的蘋果生態)

4.用戶態和內核態

進程在系統上的運行分為兩個級別

(1).用戶態:讀取用戶程序的數據,較低權限

(2).內核態:幾乎可以訪問計算機的任何資源.當操作系統接收到系統調用請求時,就會從用戶態切換到內核態,執行相應的系統調用并將結果返回給進程后,切換回用戶態

開銷大,需要進行一系列上下文切換和權限檢查,不利于系統的性能和穩定性,因此盡量少的使用內核態

5.內核態權限這么高,為什么不還要用戶態?

(1).一些指令比較危險,比如內存分配,設置時鐘,IO處理等,這些指令需要被限制在內核中運行,也叫特權指令

(2).只有內核態,所有的程序必須共享系統資源,資源的競爭和沖突會影響系統性能和效率

6.用戶態和內核態是如何切換的?

1.系統調用,為了實現功能主動切換到內核態

2.中斷:當外圍設備完成用戶請求的操作后,會向CPU發送相應的中斷信號,這時CPU會暫停執行下一條即將執行的指令轉而去執行與中斷程序相對應的處理程序

3異常:CPU在執行用戶態下的程序時,發生了某些不可預知的異常,會切換到處理次異常的內核相關程序中去

7.系統調用

我們運行的程序基本都是用戶態,當需要訪問系統資源時需要通過系統調用向操作系統提出服務請求并讓其代為完成,包括內存管理,存儲管理,進程管理,文件管理,網絡管理等

8,系統調用的過程

1用戶態因為權限不足發起系統調用

2,發生中斷后,CPU停止執行當前程序跳轉到中斷處理程序開始執行內核程勛

3.系統調用完成后操作系統使用特權指令切換回用戶態,回復用戶態的上下文,繼續執行用戶程序包

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86409.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86409.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86409.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 和 Windows 服務器:哪一個更適合您的業務需求?

在選擇服務器操作系統時,Linux 和 Windows 服務器是最常見的兩種選擇。它們各有特點,適合不同的業務需求和使用環境。本文將詳細分析 Linux 和 Windows 服務器的主要差異,包括成本、安全性、性能、定制化能力和用戶界面等方面,幫助…

CertiK聯創顧榮輝將于港大活動發表演講,分享Web3安全與發展新視角

CertiK聯合創始人、哥倫比亞大學教授顧榮輝,將于6月30日出席香港大學經管學院主辦的“Web3革新與商業機遇”活動,并發表主題演講《規模化Web3:面向全球受眾的創新與安全平衡之道》。 本次活動由港大經管學院高層管理教育主辦,Met…

SpringAI系列---【SpringAI如何接入阿里云百煉大模型?】

1.導言 阿里云百煉的通義千問模型支持 OpenAI 兼容接口,您只需調整 API Key、BASE_URL 和模型名稱,即可將原有 OpenAI 代碼遷移至阿里云百煉服務使用。 如果是要接入阿里云百煉模型,首先推薦使用Spring AI Alibaba,而不是使用Spri…

電子電氣架構 --- 實時系統評價的概述

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

Flink SQL執行流程深度剖析:從SQL語句到分布式執行

在大數據處理領域,Flink SQL憑借其強大的處理能力和易用性,成為眾多開發者的選擇。與其他OLAP引擎類似,Flink SQL的SQL執行流程大致都需要經過詞法解析、語法解析、生成抽象語法樹(AST)、校驗以及生成邏輯執行計劃等步…

什么是redis

Redis是一個開源的、基于內存的高性能鍵值存儲數據庫,廣泛用于緩存、消息隊列、會話存儲等場景。 - 核心特點: - 內存存儲:數據存儲在內存中,讀寫速度極快。 - 鍵值對:以鍵值對形式存儲數據,鍵通常是字…

《從0到1:C/C++音視頻開發自學指南》

開啟自學之旅:為何選擇 C/C 音視頻開發 在當今數字化時代,音視頻開發的應用場景極為廣泛,深刻融入了我們生活與工作的方方面面。從火爆的直播行業,無論是電商直播中主播與觀眾的實時互動,還是游戲直播里精彩賽事的實時…

學習日記-spring-day37-6.25

知識點: 1.使用utillist進行配置 知識點 核心內容 重點 Spring框架中utl名稱空間創建List 通過utl名稱空間創建并管理集合對象,實現數據復用 utl list與普通list賦值的區別; 名稱空間引入方法 無參構造器使用規則 當類中沒有其他構造器時&#x…

【Python練習】012. 使用字符串的upper()方法將字符串轉換為大寫

012. 使用字符串的upper方法將字符串轉換為大寫 012. 使用字符串的upper()方法將字符串轉換為大寫示例代碼運行結果代碼解釋 擴展:動態輸入字符串示例運行 何時使用upper方法基本用法示例忽略大小寫的字符串比較數據清洗標準化 注意事項 012. 使用字符串的upper()方…

Python Polars庫詳解:高性能數據處理的新標桿

在數據驅動的時代,高效的數據處理能力已成為開發者和數據科學家的核心競爭力。作為Pandas的強勁挑戰者,Polars庫憑借其基于Rust的底層架構和創新的表達式引擎,在性能測試中展現出驚人的速度優勢。本文將深入解析Polars的核心特性、使用技巧及…

Go語言- 單元測試

實際開發中,需要保證單元功能正確。 傳統方式:在main函數中直接調用,查看結合是否和預期一致。 缺點:1. 不方便 2. 不利于管理 因此,單元測試具有必要性 testing測試框架 Go語言中自帶testing輕量級測試框架和go…

Vue移動端開發的適配方案與性能優化技巧

文章目錄 1. 移動端適配方案1.1. 視口適配1.2. 基于rem/em的適配方案1.3. vw/vh視口單位適配1.4. 移動端UI組件庫適配 2. 移動端性能優化技巧2.1. 虛擬列表實現長列表優化2.2. 圖片懶加載與優化2.3. 減少首屏加載時間2.4. 事件節流與防抖 3. 移動端常見問題解決方案3.1. 移動端…

如何微調和部署OpenVLA在機器人平臺上

這個教程來自這個英偉達網址 教程的目標是提供用于部署 VLA 模型的優化量化和推理方法,以及針對新機器人、任務和環境的參考微調流程。在一個自包含的仿真環境中,結合場景生成和領域隨機化(MimicGen)對性能和準確性進行嚴格驗證。…

深入剖析Flink內存管理:架構、調優與實戰指南

在大數據處理領域,Apache Flink憑借強大的流處理和批處理能力備受青睞。而Flink內存管理機制,作為保障作業高效穩定運行的關鍵支柱,深刻影響著任務執行性能、資源利用率以及系統容錯能力。理解并掌握Flink內存管理原理與優化策略,…

【力扣 C】動態規劃專題目錄

【力扣 簡單 C】509. 斐波那契數https://blog.csdn.net/2503_92320911/article/details/148810148 【力扣 中等 C】983. 最低票價https://blog.csdn.net/2503_92320911/article/details/148833421 【力扣 中等 C】91. 解碼方法https://blog.csdn.net/2503_92320911/article/d…

Linux 中如果網絡連接丟失或無法找到網絡設備

如下步驟 1. 檢查網絡服務狀態 sudo systemctl status NetworkManager 如果服務未運行,啟動并啟用它: sudo systemctl start NetworkManager sudo systemctl enable NetworkManager ______ 2. 檢查網絡接口 ip add 確認網卡(如 eth0、en…

【Linux 平臺總線驅動開發實戰】

Linux 平臺總線驅動開發實戰 一、平臺總線驅動基礎概念二、核心數據結構解析2.1 設備結構體 struct platform_device2.2 驅動結構體 struct platform_driver2.3 資源結構體 struct resource 三、驅動開發完整流程3.1 設備注冊3.2 驅動注冊3.3 設備與驅動匹配 四、編譯與測試4.1…

LabVIEW液位上升圖像識別 附件有源碼

源程序在這里https://www.bjcyck.com/nd.jsp?fromColId101&id2675#_np101_331 本LabVIEW 程序實現基于圖像灰度特征的液位上升監測與控制,通過讀取序列液位上升圖像,分析指定區域灰度變化獲取液位斜率,依據設定標記位置實現液位上升到目…

git安裝使用詳細教程

git高速下載 macOS 系統 # 方法1:Homebrew(推薦) brew install git# 方法2:官方安裝包 下載地址:https://sourceforge.net/projects/git-osx-installer/Linux 系統 # Debian/Ubuntu sudo apt update && sudo…

瑪哈特機械矯平機:精密制造的“應力消除師”與“平整度雕刻家”

機械矯平機,作為金屬板材加工鏈中的關鍵一環,其價值遠不止于“壓平”那么簡單。它是材料科學、精密機械與控制技術的結晶,是確保高端制造品質的幕后功臣。本文將深入探討其核心機理、進階應用及未來方向。 一、 矯平機理再探:超越…