Linux進程概念總結

這里總結下Linux進程概念總結??

馮諾依曼:

  • CPU???運算器與控制器
  • RAM 內存(存儲器)
  • Cache 緩存(一種技術)不屬于馮諾依曼體系結構。
  • ROM 磁盤(輸入輸出設備)
  • 磁盤?既可以從硬盤讀取數據也可以向硬盤寫入數據。
  • 馮諾依曼體系結構中數據輸入設備的有鍵盤/磁盤。
  • 馮諾依曼體系結構計算機的基本原理 存儲程序和程序控制。

操作系統:

  • 計算機就是為了完成指定的數據處理,而通過指令按指定流程完成指定功能,指令的合集就是一段程序。說白了計算機就是按照指定的指令執行流程完成對指定數據的處理。

  • 操作系統:操作系統的定位就是控制和管理計算機上軟硬件資源讓計算機更加好用

  • 編譯器:對匯編語言,高級語言和甚高級語言程序進行翻譯,將高級語言解釋為機器指令能夠被機器識別執行。這不是操作系統的主要功能,而是一個外部應用的主要功能。

  • 源程序以及數據庫文件都是存儲在磁盤上的,這是操作系統中文件系統管理部分的主要功能。

系統調用:

  • 應用程序通過系統調用將自己需要完成的功能傳遞給內核,進行執行完成。

  • 系統調用的運行過程是在內核態完成的,操作系統并不允許用戶直接訪問內核,也就是說用戶運行態并不滿足訪問內核的權限。(系統調用函數的執行過程應該是不在用戶態)

  • 系統調用就是想上層提供用于完成特定內核服務或功能的。利用系統調用能夠得到操作系統提供的多種服務。

  • 是操作系統提供給編程人員的接口。

  • 系統調用給用戶屏蔽了設備訪問的細節,用戶只需要將自己的請求以及數據通過系統調用接口傳遞給內核,內核中完成對應的設備訪問過程,最終返回結果正確。

  • 系統調用保護了一些只能在內核模式執行的操作指令,系統向上層提供系統調用接口用于訪問內核服務或功能的很大原因也是因為這樣可以最大限度的保護內核的穩定運行。

  • 庫函數是用戶對系統調用接口的進一步封裝接口
  • printf函數是glibc中封裝的用于實現格式化輸出的接口
  • scanf函數是glibc中封裝的用于實現格式化輸入的接口
  • fgetc函數是glibc中封裝的用于實現從輸入流中獲取字符的接口
  • read是系統提供的用于從輸入設備獲取數據的接口
  • print_s以及scan_s這兩個函數不存在,至少在C語言的常見典型的跨平臺移植代碼庫中不存在。
  • fgetc是系統調用而不是庫函數

?Linux的進程:

  • 僵尸進程指的是進程退出后不會完全釋放資源,會造成系統資源泄漏。
  • 孤兒進程的父進程在它之前退出,會被 init 進程接管,不會造成資源浪費。
  • 孤兒進程在父進程退出后,父進程成為init進程,進程退出,孤兒進程的資源將被init進程釋放。
  • 操作系統通過pcb實現對程序運行調度控制。
  • fork系統調用通過復制父進程創建一個子進程,父子進程數據獨有,代碼共享(在數據不發生改變的情況下父子進程資源指向同一塊物理內存空間(調研寫時拷貝技術))
  • 子進程如果對資源只是進行讀操作,那么完全和父進程共享物理地址空間。
  • 進程是資源管理的最小單位,而線程是程序執行的最小單位。Linux 下的線程本質上用進程實現。

在搶占式多任務處理中,進程被搶占時,哪些運行環境需要被保存下來?

  • ?所有cpu寄存器的內容/全局變量/程序計數器
  • 所有cpu寄存器的內容 cpu上正在處理的數據
  • 全局變量??程序內的數據(并不一定正在被處理)
  • 頁表指針 程序切換時會將頁表起始地址加載到寄存器中
  • 程序計數器?下一步程序要執行的指令地址

  • 一個程序可以同時運行多次,也就有了多個進程。?進程與程序是一一對應的。
  • 因為一個作業任務的完成可由多個進程組成,且必須至少由一個進程組成。?進程與作業是一一對應的。
  • 進程是靜態的。因為程序是靜態的,而進程是動態的。
  • 進程是動態的過程。?

進程PCB

  • 進程是操作系統對于程序運行過程的描述,而這個描述學名叫做進程控制塊-PCB,它是操作系統操作系統管理以及調度控制程序運行的唯一實體。
  • 進程ID只是進程的標識符,是系統能夠找到特定進程的標識而已。
  • 進程管理器只是對大量PCB進行管理的一個程序而已。
  • 進程本質上來說沒有名字,它有所調度管理運行的程序的名稱,它的標識是進程ID,可以理解進程ID是它的名字。
  • 在系統角度看來,進程就是對于程序運行的描述,就是PCB進程控制塊。

?考察fork創建子進程的過程, 同時理解fork函數的返回值

?要求: 通過父子進程的返回值, 區分父子進程執行的邏輯, 重點:理解子進程為什么從fork函數調用之后開始執行

?🙂感謝大家的閱讀,若有錯誤和不足,歡迎指正。

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

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

相關文章

3-3 基于RYU的流量風暴事件原理與響應策略

在傳統網絡中,存在著一定的廣播流量,占據了一部分的網絡帶寬。同時,在有環的拓撲中,如果不運行某些協議,廣播數據還會引起網絡風暴,使網絡癱瘓。 如有以下的一個網絡拓撲結構(3_2_topoplus.py) …

零基礎學Java第十四天之枚舉

枚舉 1、理解 枚舉(Enumeration,通常簡寫為enum)在編程語言中是一種特殊的數據類型,它允許你為變量定義一組命名的常量。這些常量通常表示一組有限的值,比如一周的七天、顏色的集合或者狀態的集合等。枚舉類型的主要目…

es 分詞器(五)之elasticsearch-analysis-jieba 8.7.0

es 分詞器(五)之elasticsearch-analysis-jieba 8.7.0 今天咱們就來講一下es jieba 8.7.0 分詞器的實現,以及8.x其它版本的實現方式,如果想直接使用es 結巴8.x版本,請直接修改pom文件的elasticsearch.version版本號即可…

再談畢業論文設計投機取巧之IVR自動語音服務系統設計(信息與通信工程專業A+其實不難)

目錄 舉個IVR例子格局打開,萬物皆能IVR - 把《民法典》搬上IVR IVR系統其實可鹽可甜。還能可圈可點。 戎馬一生,歸來依然IVR。 舉個IVR例子 以下是IVR系統的一個例子。 當您撥打電話進入IVR系統。 首先檢驗是否為工作時間。 如是,您將被送入…

基于51單片機的自動澆花器電路

一、系統概述 自動澆水灌溉系統設計方案,以AT89C51單片機為控制核心,采用模塊化的設計方法。 組成部分為:5V供電模塊、土壤濕度傳感器模塊、ADC0832模數轉換模塊、水泵控制模塊、按鍵輸入模塊、LCD顯示模塊和聲光報警模塊,結構如…

垃圾分類管理系統java項目

文章目錄 垃圾分類管理系統一、項目演示二、項目介紹三、系統部分功能截圖四、部分代碼展示五、底部獲取項目(9.9¥帶走) 垃圾分類管理系統 一、項目演示 垃圾分類管理系統 二、項目介紹 系統角色:管理員、用戶 1、登錄、注冊功能…

機器人非線性系統反饋線性化與解耦

機器人非線性系統的反饋線性化和解耦是控制理論中的兩個重要概念,它們分別用于簡化系統分析和設計過程,提高控制系統的性能。 首先,反饋線性化是一種將非線性系統轉化為線性系統的技術。在機器人控制中,由于機器人本身是一個強耦…

?python使用selenium進行Web自動化測試?

什么是selenium Selenium 是 ThoughtWorks 提供的一個強大的基于瀏覽器的 Selenium 是一個用于 Web 應用程序測試的工具,測試直接自動運行在瀏覽器中,就像真正的用戶在手工操作一樣。支持的瀏覽器包括 IE、Chrome 和 Firefox 等。這個工具的主要功能包…

2024042001-計算機網絡 - 物理層

計算機網絡 - 物理層 計算機網絡 - 物理層 通信方式帶通調制 通信方式 根據信息在傳輸線上的傳送方向,分為以下三種通信方式: 單工通信:單向傳輸半雙工通信:雙向交替傳輸全雙工通信:雙向同時傳輸 帶通調制 模擬信號…

C++基礎——繼承(下)

一、繼承與靜態成員 基類定義了static 靜態成員,則整個繼承體系里面只有一個這樣的成員。無論派生出多少個子 類,都只有一個 static 成員實例 。 class person { public:person(const char* name "lisi"):_name(name){} public:string _name;…

那些年我與c++的叫板(一)--string類自實現

引子:我們學習了c中的string類,那我們能不能像以前數據結構一樣自己實現string類呢?以下是cplusplus下的string類,我們參考參考! 廢話不多說,直接代碼實現:(注意函數之間的復用&…

Nacos+GateWay 搭建微服務架構

文章目錄 1.當前項目架構分析1.請求多個模塊的方式1.請求renren-fast模塊開發環境生產環境 2.請求sunliving-commodity模塊1.使用環境變量資源路徑的方式2.開發環境 dev.env.js3.生產環境 prod.env.js 3.文件上傳請求 sunliving-service模塊1.請求后端接口(開發環境…

當服務實例出現故障時,Nacos如何處理?

當服務實例出現故障時,Nacos的應對策略 在微服務架構日益盛行的今天,服務之間的穩定性與可靠性成為了我們架構師們不得不面對的重要課題。尤其是在面對服務實例出現故障時,如何確保整個系統的穩定運行,成為了我們首要考慮的問題。…

匯聚榮科技:拼多多上架商品后需要做頁面推廣嗎?

在電商平臺上,商品的曝光率和銷量往往成正比。那么,當您在拼多多上架了新品,是不是就意味著坐等訂單呢?答案顯然是否定的。商品一旦上架,接下來需要做的就是通過有效的頁面推廣來增加商品的可見度,吸引潛在買家的注意…

在亞馬遜上賣燈具需要什么認證,亞馬遜燈飾產品需要審核與認證嗎

LED燈具在亞馬遜美國站銷售,需要有UL認證或者UL報告、FCC,如果是帶消毒滅菌的燈,需要做EPA,歐洲站,日本站,認證只需要CE和ROHSR認證。 UL認證:本認證主要針對充電器、移動電源、手機電池、燈具…

Rust的NLL特性:讓生命周期管理更靈活

Rust的NLL特性:讓生命周期管理更靈活 Rust語言以其獨特的內存安全和并發性能受到開發者的青睞。而在Rust中,一個關鍵的概念就是“生命周期”。為了進一步優化生命周期的管理和借用檢查,Rust引入了NLL(Non-Lexical Lifetime&#…

html基礎(全)

html簡介 目錄 什么是網頁 什么是 HTML 常用瀏覽器 WebE標準的構成 基本語法概述 第一個HTML頁面 文檔類型聲明標簽 lang 語言種類 字符集 標題標簽 段落和換行標簽 文本格式化標簽 div和span標簽 圖像標簽和路徑 超鏈接標簽 表格的主要作用 表頭單元格標簽 列…

純血鴻蒙APP實戰開發——Web獲取相機拍照圖片案例

介紹 本示例介紹如何在HTML頁面中拉起原生相機進行拍照,并獲取返回的圖片。 效果預覽圖 使用說明 點擊HTML頁面中的選擇文件按鈕,拉起原生相機進行拍照。完成拍照后,將圖片在HTML的img標簽中顯示。 實現思路 添加Web組件,設置…

【SpringBoot】SpringBoot整合jasypt進行重要數據加密

📝個人主頁:哈__ 期待您的關注 目錄 📕jasypt簡介 🔥SpringBoot使用jasypt 📂創建我需要的數據庫文件 📕引入依賴 🔓配置數據庫文件(先不進行加密) 🌙創…