【0.2 漫畫操作系統原理】

??? 漫畫操作系統原理

?? 學習目標:深入理解操作系統核心原理,為Java并發編程和性能優化打下堅實基礎


?? 第一章:操作系統初識篇

?? 什么是操作系統?

想象一下,你是一個大型圖書館的館長…

?? 沒有操作系統 vs 有操作系統沒有操作系統:
讀者1 → 直接找書架 ← 讀者2↘     ↙發生沖突!有操作系統:
讀者1 → 圖書管理系統 → 有序分配 → 書架1
讀者2 → 圖書管理系統 → 有序分配 → 書架2
讀者3 → 圖書管理系統 → 排隊等待 → 書架?操作系統的核心職責:
? 資源管理:CPU、內存、磁盤、網絡
? 進程調度:決定哪個程序先運行
? 內存管理:為程序分配和回收內存
? 文件管理:統一的文件存儲接口
? 設備管理:統一的硬件訪問接口

?? 操作系統特性:

  • 并發性:同時處理多個任務
  • 共享性:多個程序共享系統資源
  • 虛擬性:為每個程序提供獨立的虛擬空間
  • 異步性:程序執行順序不可預知

??? 操作系統架構

??? 操作系統分層架構:┌─────────────────────────────────────┐
│           用戶應用程序               │ ← 用戶態
├─────────────────────────────────────┤
│           系統調用接口               │ ← 內核態邊界
├─────────────────────────────────────┤
│  進程管理 │ 內存管理 │ 文件管理     │
├─────────────────────────────────────┤ ← 內核態
│  設備管理 │ 網絡管理 │ 安全管理     │
├─────────────────────────────────────┤
│            硬件抽象層               │
└─────────────────────────────────────┘硬件層

?? 第二章:進程與線程管理

?? 進程基礎概念

?? 進程生命周期:創建 → 就緒 → 運行 → 阻塞 → 終止↑      ↓      ↓      ↑└──────┴──────┴──────┘進程狀態轉換:
? 創建→就緒:進程創建完成,等待CPU
? 就緒→運行:獲得CPU時間片
? 運行→阻塞:等待I/O或其他資源
? 阻塞→就緒:所需資源到位
? 運行→就緒:時間片用完
? 運行→終止:進程執行完畢進程控制塊(PCB):
┌─────────────────┐
│ 進程ID(PID)     │
│ 進程狀態        │
│ CPU寄存器       │
│ 內存管理信息    │
│ 文件描述符      │
│ 調度信息        │
└─────────────────┘

?? 線程深度解析

?? 進程 vs 線程對比:進程(重量級):
┌─────────────────┐
│ 進程A           │
│ ┌─────┐ ┌─────┐ │
│ │線程1│ │線程2│ │
│ └─────┘ └─────┘ │
│ 獨立內存空間    │
└─────────────────┘線程(輕量級):
? 共享進程內存空間
? 擁有獨立的棧和寄存器
? 創建開銷小,切換快
? 通信簡單但需要同步線程實現模型:
1. 用戶級線程:內核不感知,效率高但無法利用多核
2. 內核級線程:內核管理,可利用多核但開銷大
3. 混合模型:結合兩者優勢

?? 進程調度算法

?? CPU調度算法詳解:1. 先來先服務(FCFS):進程: A(24) → B(3) → C(3)時間: 0────24──27─30平均等待時間: (0+24+27)/3 = 172. 最短作業優先(SJF):進程: B(3) → C(3) → A(24)時間: 0─3──6────30平均等待時間: (0+3+6)/3 = 33. 時間片輪轉(RR):時間片=4,進程隊列: A(24),B(3),C(3)A(4) → B(3) → C(3) → A(4) → A(4) → A(4) → A(4) → A(4)4. 優先級調度:┌─────────────────┐│ 優先級隊列      ││ 高 ┌─────┐     ││ ↑  │進程A│     ││ │  └─────┘     ││ │  ┌─────┐     ││ │  │進程B│     ││ │  └─────┘     ││ 低 ┌─────┐     ││    │進程C│     ││    └─────┘     │└─────────────────┘

?? 進程同步與通信

?? 進程同步機制:1. 互斥鎖(Mutex):```javasynchronized(lock) {// 臨界區代碼共享資源訪問}
  1. 信號量(Semaphore):

    Semaphore semaphore = new Semaphore(3); // 允許3個線程
    semaphore.acquire(); // P操作,獲取資源
    try {// 使用資源
    } finally {semaphore.release(); // V操作,釋放資源
    }
    
  2. 條件變量(Condition):

    ReentrantLock lock = new ReentrantLock();
    Condition condition = lock

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

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

相關文章

第1章 C# 和 .NET 框架 筆記

第1章 C# 和 .NET 框架 1.1 在 .NET 之前 C#為在.NET框架上開發程序而設計的編程語言。 MFC(Microsoft Foundation Class,微軟基礎類庫) 微軟公司提供的一個類庫,以 C 類的形式封裝了 Windows 的 API,并包含一個應…

Django全棧開發實戰與架構思考

一、框架選型與開發范式 作為Python生態最成熟的Web框架,Django的"電池全包"理念在2.3版本后得到更徹底的貫徹。項目初期通過django-admin startproject生成的腳手架已包含: 自動化ORM遷移系統 內置Admin后臺管理界面 基于WSGI的中間件管道…

微服務--Gateway網關

1. Gateway簡介 Gateway網關是微服務架構中不可或缺的組件,是微服務架構中的統一入口,它作為所有客戶端請求的第一道防線,負責請求的路由、過濾和聚合。 Gateway核心功能 路由(Routing) 根據請求路徑、Header、參數等將請求路由到不同微服…

區塊鏈與人工智能的融合:從信任到智能的IT新引擎

在信息技術(IT)的飛速發展中,兩大顛覆性技術的交匯正掀起一場革命——區塊鏈與人工智能(AI)的融合。2025年,隨著數據隱私需求的激增、去中心化應用的爆發以及企業對可信智能系統的追求,區塊鏈與…

Javascript什么是原型和原型鏈,八股文

原型:函數都有prototype屬性,稱之為原型,也稱為原型對象 原型可以放一些屬性和方法,共享給實例對象使用 原型可以做繼承 原型鏈:對象都有__proto__屬性,這個屬性指向它的原型對象,原型對象也是對象,也有__proto__屬性,指向原型對象的原型對象,這樣一層一…

生日悖論理論及在哈希函數碰撞中的應用

目錄 一、生日悖論(Birthday Paradox)介紹 二、生日悖論的數學解釋 (一)計算所有人生日都不同的概率 數學推導 示例計算 (二)至少有兩個人生日相同的概率 三、哈希函數碰撞與生日悖論的關系思考 &a…

探索數據的力量:Elasticsearch中指定鏈表字段的統計查詢記錄

目錄 一、基本的數據結構說明 二、基本的統計記錄 (一)統計當前索引中sellingProducts的所有類型 (二)檢索指定文檔中sellingProducts的數據總量 (三)檢索指定文檔中sellingProducts指定類型的數量統計…

細節致勝:如何重塑反向海淘用戶體驗

在反向海淘的激烈競爭中,客戶體驗已成為決定勝負的關鍵。一次流暢的購物旅程、一個貼心的服務細節,都可能讓海外消費者成為品牌的忠實傳播者。易境通代購商城系統正是以極致體驗為核心,通過精細化服務管理,助力企業贏得用戶口碑與…

Docker 分階段構建

Docker 分階段構建 Docker 分階段構建(Multi-stage Build)是一種高效的鏡像構建技術,允許在一個 Dockerfile 中使用多個構建階段,每個階段可以使用不同的基礎鏡像,最終只保留需要的文件,從而顯著減小鏡像體…

人工智能學習23-BP-圖像編碼

人工智能學習概述—快手視頻 人工智能學習23-BP-圖像編碼—快手視頻

k8s的開篇學習和安裝

k8s的開篇學習 學習網站 參考資料 1。 K8S能干什么 [概述 | Kubernetes](https://kubernetes.io/zh-cn/docs/concepts/overview/#why-you-need-kubernetes-and-what-can-it-do)需要開代理 2。docker資料 https://docs.docker.com/get-started/3.prometheus資料 https://promet…

CS144 lab0: warmup

Lab 0: networking warmup 1. 環境 依賴配置 sudo apt update && sudo apt install git cmake gdb build-essential clang \clang-tidy clang-format gcc-doc pkg-config glibc-doc tcpdump tsharkg13配置 ppa中科大源 # deb https://ppa.launchpadcontent.net/ubu…

StarRocks

StarRocks 是一個高性能的 分布式 MPP(Massively Parallel Processing)數據庫,主要用于 實時數據分析(Real-Time Analytics),是新一代的 OLAP 數據庫,對標 ClickHouse、Apache Doris 等。 ?? 一、StarRocks 是什么? StarRocks 是一個面向實時分析場景、支持高并發、高…

8088單板機8259中斷的軟件觸發測試

1.工作原理 8086和8088的中斷設計的是很巧妙的,比如給8259的IR1配置了一個中斷,中斷號為21H,那么當真個引腳出現高電平的時候,就會觸發相應上的中斷響應。但,這不是唯一能夠觸發21H中斷的方法,還可以通過軟…

TC3xx中PFLASH緩存對XCP標定常量的影響

1、TC3xx中PFLASH緩存(Cache)對XCP標定的影響 XCP的映射用到TC3XX的Overlay功能需要使用一段Pflash內存。 Pflash數據有兩個段區。分別為0x80000000和0xA0000000為起始地址的PFLASH段。 如上,兩段數據的區別是一個段8有CACHE緩存,…

代碼審計服務:如何解決誤報與漏報難題,保障軟件安全?

代碼審計服務在保障軟件質量、安全合規等方面扮演著關鍵角色,特別是在數字化浪潮席卷而來的今天,其重要性日益顯著。它能揭露代碼中的不足,進而為軟件開發提供有力的效率和安全性保障。 誤報與漏報難題 常規的代碼審查工具,其錯…

web方向第一次考核內容

一.考核內容 Web組大一下考核之HTML、CSS 1.為什么要清除浮動(4),清除浮動的方法有哪些?(6)(至少兩種) 2.怎么實現左邊左邊寬度固定右邊寬度自適應的布局?(10) 3.講講flex:1;(10) 4.怎么實現移動端適配不同…

HarmonyOS 5 Cordova有哪些熱門插件?

以下是 HarmonyOS 5 環境下 Cordova 的熱門插件及核心代碼實現(綜合實際開發場景高頻使用): 一、核心工具類插件 1. ?高性能圖片壓縮插件? ?功能?:直接調用鴻蒙 ImageSource API 實現硬件級加速壓縮 ?代碼實現?&#xff…

Cesium圓錐漸變色實現:融合頂點著色器、Canvas動態貼圖與靜態紋理的多方案整合

在Cesium中渲染圓錐體時,無論采用頂點著色器、Canvas動態貼圖還是靜態圖片貼圖,其漸變色均需滿足以下條件: 圓形結構:漸變范圍限定在圓錐底面的圓形區域內。徑向擴散:顏色從圓心向外逐步變化(如紅→黃→藍…

周末復習1

質量管理包括質量規劃,質量保證,質量控制。質量管理體系要定期執行內部審核和管理評審。二者都屬于質量保證過程。 實施質量保證的方法很多,過程分析屬于實施質量保證的常用方法。 采購管理過程包括編制采購計劃,實施采購,控制采購和結束采購…