Linux 核心知識點整理(高頻考點版)

一、編譯與工具鏈

GCC 編譯流程

  • 四階段:預處理(-E,處理頭文件 / 宏)→ 編譯(-S,生成匯編)→ 匯編(-c,生成目標文件)→ 鏈接(生成可執行程序),順序必須嚴格
  • 常用選項-Wall(開啟大部分警告)、-Werror(警告視為錯誤),-w?是關閉警告(少用)。

交叉編譯

  • 必需組件:gcc(編譯器)、glibc(標準庫)、binutils(匯編 / 鏈接工具),tmake?不是必需(是 Qt 構建工具)。

二、進程與線程

進程基礎

  • 核心概念:進程是程序的動態執行實例(不是靜態的),是資源管理最小單位,包含 PCB(進程控制塊,動態維護進程狀態)。
  • 標識:PID 唯一標識進程,PPID 是父進程 ID(可為 0,如?init?進程)。
  • 狀態:基本狀態是運行、就緒、阻塞,僵死態是特殊狀態(非基本)。
  • 創建與控制
    • fork:調用一次返回兩次(父進程返回子進程 PID,子進程返回 0),用于創建子進程。
    • wait/waitpid:父進程阻塞等待子進程結束,waitpid?更靈活(可指定子進程、支持選項)。

線程(pthread 庫)

  • 關鍵函數
    • pthread_create:創建線程,arg?傳參給線程函數。
    • pthread_join:等待線程結束,獲取返回值。
    • pthread_exit:主動退出當前線程
    • pthread_cancel:向目標線程發取消請求(不是退出當前線程)。
  • 同步:條件變量必須配合互斥鎖使用,解決線程競爭。

三、內存管理

堆棧核心區別

特性棧(Stack)堆(Heap)
分配方式系統自動分配 / 釋放(函數調用驅動)用戶手動?malloc/free?管理
內存連續性連續不連續(動態分配,易產生碎片)
存儲內容局部變量、返回地址、函數參數動態分配的大數據、復雜結構
增長方向向低地址增長向高地址擴展
大小限制固定(默認 8MB 左右,可調整)動態擴展(受物理內存 / 交換空間限制)

易錯點

  • 棧參數入棧順序:從右往左(如?func(a,b,c)c?先入棧)。
  • 靜態變量:存儲在全局 / 靜態區,不入棧。
  • 堆分配:找 “足夠大” 的空閑塊(非嚴格匹配申請大小),頭部用多字節(如 4/8 字節)存元數據。

四、文件與權限

文件權限(10 位格式)

  • 結構:[文件類型][所有者權限][組權限][其他用戶權限],例:-rwxr-xr--
  • 第三段(5-7 位):文件所有者所在組的權限

文件操作

  • open?標志:O_RDWR(讀寫)、O_RDONLY(只讀)、O_WRONLY(只寫),操作完需?close?釋放描述符。

五、系統服務與運行級別

服務管理

  • 啟動腳本:傳統存?/etc/rc.d/init.d/,運行級別腳本存?/etc/rc.d/rcN.dN?是級別)。
  • 腳本前綴:S(啟動)、K(停止),無?C?開頭
  • 命令:service 服務名 操作(如?service sshd restart)。

六、網絡與通信

協議核心區別(TCP/UDP)

特性TCP(傳輸控制協議)UDP(用戶數據報協議)
連接性面向連接(三次握手建連)無連接
可靠性可靠(確認、重傳、排序)不可靠(無確認,丟包不重傳)
適用場景文件傳輸、網頁訪問(需可靠)視頻通話、廣播(追求效率)
端口復用單連接(需 TIME_WAIT 釋放端口)支持多應用同時用(如 DNS 服務)

Socket 關鍵

  • 類型:SOCK_STREAM(TCP)、SOCK_DGRAM(UDP)、SOCK_RAW(原始套接字),無?SOCK DTRAN
  • 函數原型:socket(int family, int type, int protocol)(創建套接字)。

七、其他高頻考點

設備文件

  • 串口設備:Linux 下是?ttyS0(Windows 是?COM1)。

進程通信(IPC)

  • 常用方式:管道、消息隊列、共享內存(填這三個必對)。

中斷服務程序

  • 設計原則:短小、避免復雜操作,不能返回計算結果給主程序

一句話總結:記住編譯流程、進程線程核心函數、堆棧區別、權限結構、TCP/UDP 差異,這些是 Linux 筆試 / 面試高頻考點!

?

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

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

相關文章

輕量化社交管理方案:Skout與云手機的巧妙搭配

在移動社交時代,許多用戶開始嘗試通過多賬號管理來拓展社交圈層。近期測試了Skout社交平臺與亞矩陣云手機的搭配使用,發現這個組合為輕量級社交賬號管理提供了一個值得關注的解決方案。 基礎功能介紹 這套組合的核心優勢在于: 通過云手機實…

ETL連接器好用嗎?如何實現ETL連接?

目錄 一、ETL連接器的功能和優勢 1. 數據抽取能力 2. 數據轉換功能 3. 數據加載功能 4. 優勢總結 二、實現ETL連接的步驟 1. 需求分析 2. 選擇合適的ETL連接器 3. 配置數據源和目標系統 4. 設計ETL流程 5. 開發和測試ETL任務 6. 部署和監控ETL任務 三、ETL連接器在…

uniapp實現聊天中的接發消息自動滾動、消息定位和回到底部

前言 前言無需多言&#xff0c;想必大家對聊天軟件的功能已經很熟悉&#xff0c; 這里不做過多贅述&#xff0c;筆者通過uniapp實現聊天中的接發消息自動滾動、消息定位和回到底部。 代碼實現 <template><view class"chat-container"><!-- 消息列表…

MyBatisMyBatis plus

整合 MyBatis 到 Spring 或 Spring Boot 項目中&#xff0c;可以極大地簡化開發流程&#xff0c;尤其是當使用 Spring Boot 時&#xff0c;它提供了自動配置功能&#xff0c;使得集成更加簡便。 在 Spring Boot 中整合 MyBatis 1. 添加依賴 首先&#xff0c;在 pom.xml 文件中…

Stable Diffusion 實戰-手機壁紙制作 第二篇:優化那些“崩臉”和“馬賽克”問題,讓圖像更加完美!

歡迎回來!在《StableDiffusion實戰-手機壁紙制作》系列的第一篇中,我們成功完成了基礎操作,制作出了令人炫目的手機壁紙。 今天,我們將進入一個更高階的領域——優化處理。因為誰不想讓生成的藝術品更完美呢?尤其是避免“崩臉”和“馬賽克”這種讓人抓狂的問題! 創作的路…

408第一季 - 數據結構 - B樹與B+樹

B樹 性質 可以看見一個節點可以有多個數字了 然后也滿足左小右大的特征 然后所有的葉子節點都在同一層&#xff0c;然后2個數字的節點就可以有3個分支 然后呢&#xff0c;每個節點里面到底有幾個數字是有規定的公式的 就這個公式&#xff0c;m是5階的&#xff0c;算出來是2和…

SSRF5 Gopher 協議對內網 Web 服務進行 sql 注入 GET 類型和POST類型

實驗環境&#xff1b; Centos7.6上同時安裝sqli-lib和pikachu 一.Gopher 協議對內網 Web 服務進行 sql 注入 GET 類型 我們先訪問sqli-lib第1關 然后我們構造URL&#xff1a; http://192.168.112.12/pikachu-master/vul/ssrf/ssrf_curl.php?urlhttp://192.168.112.12/sql…

Python打卡DAY31

DAY31&#xff1a;文件的規范拆分和寫法 恩師浙大疏錦行 知識點&#xff1a; 規范的文件命名規范的文件夾管理機器學習項目的拆分編碼格式和類型注解 一、機器學習項目流程&#xff1a; 1、數據加載&#xff1a;從文件、數據庫、API 等獲取原始數據。 - 命名參考&#xff1a;…

字符串大數 -減法

描述 以字符串的形式讀入兩個數字&#xff0c;編寫一個函數計算它們的和&#xff0c;以字符串形式返回。 代碼實現 大小判斷&#xff1a;a - b 與 b - a 的絕對值相等將大的數放前面&#xff0c;抽離出結果的符號 import random s, t str(random.randint(1000, 9999)), s…

android google tts如何不聯網內部預置多國語音包

在內置Google GMS服務的設備中&#xff0c;可以正常使用TTS&#xff0c;并且可以聯網下載多國的語音包。然而&#xff0c;對于未通過GMS認證&#xff0c;只能使用基礎的TTS英語播報&#xff0c;而且聯網后是無法下載語音包的&#xff0c;會提示需要google service。本文基于以上…

Java 全棧開發學習:從后端基石到前端靈動的成長之路

目錄 一、開篇&#xff1a;與 Java 全棧的初遇 二、后端學習&#xff1a;SpringBoot 構建穩健基石 &#xff08;一&#xff09;SpringBoot3 入門&#xff1a;簡約而不簡單的啟程 &#xff08;二&#xff09;Spring Boot Web 應用開發&#xff1a;構建交互橋梁 &#xff08;…

AquaCrop模型源代碼分析、模型優化與敏感性分析、未來氣候變化影響分析

AquaCrop是由世界糧食及農業組織&#xff08;FAO&#xff09;開發的一個先進模型&#xff0c;旨在研究和優化農作物的水分生產效率。這個模型在全球范圍內被廣泛應用于農業水管理&#xff0c;特別是在制定農作物灌溉計劃和應對水資源限制方面顯示出其強大的實用性。AquaCrop 不…

開源模型應用落地-讓AI更懂你的每一次交互-mem0-QDrant-Streamlit(一)

一、前言 在人工智能迅猛發展的今天,大型語言模型(LLM)已經成為各行各業的重要工具。然而,盡管這些模型在生成文本、理解語義等方面表現出色,但它們仍然面臨一個關鍵挑戰——缺乏持久的記憶能力。傳統的對話系統往往只能基于當前對話輪次進行回應,無法有效保留和利用歷史…

RPC - Response模塊

Requestor 類是一個請求-響應管理器&#xff0c;負責發送請求并處理響應&#xff0c;支持三種交互模式&#xff1a;同步、異步和回調。它跟蹤所有發出的請求&#xff0c;當響應到達時將其匹配到對應的請求并進行處理。 newDescribe 函數解析 newDescribe 函數負責創建和注冊一…

超高速10G采集卡

超高速10G采集卡是一款高端14位數據采集平臺&#xff0c;旨在滿足最具挑戰性的測量環境。 特性: 單通道和雙通道操作 單通道10GSPS或雙通道5GSPS 7 GByte/s持續數據傳輸速率開放式FPGA支持實時DSP 脈沖檢測固件選項波形平均固件選項 特征 單通道和雙通道工作模式雙通道5G…

One-Hot、BOW、TF-IDF、N-Gram區別

1. One-Hot Encoding (獨熱編碼) 核心思想&#xff1a; 為語料庫&#xff08;所有文檔的集合&#xff09;中的每個唯一單詞創建一個維度。對于一個特定的單詞&#xff0c;在其對應的維度上標記為1&#xff0c;在所有其他維度上標記為0。 表示&#xff1a; 一個非常長的二進制向…

產品經理如何做用戶調研和訪談

用戶調研和訪談是產品經理挖掘用戶需求、優化產品設計的核心環節。在一個完整的產品流程里面&#xff0c;用戶調研和訪談是非常重要的。 當年史玉柱推出腦白金時&#xff0c;就曾帶領團隊在江蘇很多城市進行了大量的走訪&#xff08;用戶調研&#xff09;&#xff0c;和一幫老…

【python 讀取抖音/小紅書/微博今日頭條/百度熱點等平臺的熱點新聞】

輕松獲取全網熱點&#xff0c;Python助你掌握實時輿情 在信息爆炸的時代&#xff0c;抖音、小紅書、微博、今日頭條和百度熱點等平臺每天都會產生海量熱門內容。無論是品牌營銷、競品分析還是輿情監控&#xff0c;掌握這些熱點新聞至關重要。利用Python的強大爬蟲技術&#xff…

【1.3 MySQL知識庫 - 輕松理解版】

&#x1f680; MySQL知識庫 - 輕松理解版 一、MySQL核心知識順口溜 &#x1f3b5; &#x1f3a4; 經典記憶口訣 MySQL數據庫&#xff0c;InnoDB引擎強 ACID事務特性&#xff0c;隔離級別四檔 索引加速查詢&#xff0c;B樹是主梁 主從復制備份&#xff0c;讀寫分離扛 鎖機制防…

計算機網絡期末速成 網絡層 判斷及單選題

判斷題 路由器和鏈路層交換機都被稱為分組交換機。路由器與鏈路層交換機間的根本區別是:路由器在網絡層存儲轉發IP數據報&#xff0c;鏈路層交換機在鏈路層存儲轉發幀。 A. 對 B. 錯 答案: 對 解析: 路由器和鏈路層交換機確實都是分組交換機&#xff0c;但工作層次不同。路由器…