Linux軟件編程:總結

一、Linux系統概述

(一)Linux系統概述

(二)Linux系統簡介

? ? ? ? 1.常見的Linux系統?

? ? ? ? 2.Linux操作系統是操作系統的核心,也成為內核,內核的主要功能?

? ? ? ? 3.shell是操作系統的外殼,主要作用?

二、shell

(一)常用的shell命令

? ? ? ? 1.基本的shell命令

? ? ? ? 2.文件查看命令

? ? ? ? 3.通配符

? ? ? ? 4.管道

? ? ? ? 5.重定向

? ? ? ? 6.文件查找命令

? ? ? ? 7.常見命令

? ? ? ? 8.壓縮和解壓命令

? ? ? ? 9.用戶管理命令

(二)shell腳本

? ? ? ? 1.編程語言的分類

? ? ? ? 2.shell腳本編譯

三、IO

(一)概念

(二)文件

(三)標準IO

? ? ? ? 1.概念:通常操作普通文件

? ? ? ? 2.普通文件類型:ASCII、二進制

? ? ? ? 3.標準IO的接口

? ? ? ? 4.文件的打開

? ? ? ? 5.標準IO的緩存

? ? ? ? ? ? ? ? ①概念

? ? ? ? ? ? ? ? ②緩存類型?

? ? ? ? 6.流的定位

(四)文件IO

? ? ? ? 1.概念:相比于標準IO(庫函數),文件IO(系統調用)沒有緩存,適合于通信、硬件設備操作

? ? ? ? 2.系統調用與庫函數

? ? ? ? 3.文件IO函數接口

(五)目錄IO

? ? ? ? 1.操作方式

? ? ? ? 2.函數接口

? ? ? ? 3.文件名和路徑

? ? ? ? 4.時間相關的函數接口

? ? ? ? ? ? ? ? ①時間類型分類

? ? ? ? ? ? ? ? ②函數接口

四、進程和線程

(一)進程

? ? ? ? 1.基本概念

? ? ? ? 2.進程創建

? ? ? ? ? ? ? ? ①進程空間分布

? ? ? ? ? ? ? ? ②虛擬地址和物理地址

? ? ? ? ? ? ? ? ③多進程存儲、存儲方式?

? ? ? ? ? ? ? ? ④多進程調度

? ? ? ? ? ? ? ? ⑤進程相關的命令

? ? ? ? ? ? ? ? ⑥進程的狀態

? ? ? ? 3.進程相關函數接口

  • 創建:fork
  • 執行:exec
  • 結束:exit/_exit /return(main)

? ? ? ? 4.進程消亡

? ? ? ? ? ? ? ? ①孤兒進程?

? ? ? ? ? ? ? ? ②僵尸進程:產生原因和如何避免?

? ? ? ? ? ? ? ? wait/waitpid

? ? ? ? 5.exec函數族:利用進程空間執行另一份代碼(父進程產生子進程,讓子進程去送人頭)

(二)線程

? ? ? ? 1.基本概念

? ? ? ? 2.進程和線程區別

? ? ? ? 3.多進程和多線程的優缺點?

? ? ? ? 4.線程的調度:宏觀并行,微觀串行?

? ? ? ? 5.線程的消亡

? ? ? ? 6.線程的函數接口

  • 創建:pthread_create
  • 執行:線程回調函數
  • 結束:pthread_exit / return / pthread_cancel/ //exit
  • 線程資源回收:pthread_detach
  • 分離屬性和結合屬性:pthread——join
  • 線程間(互斥+同步):pthread_nutex_t / pthread_sem_t

? ? ? ? 7.線程的傳參

? ? ? ? 8.線程的屬性:分離屬性和加入屬性

(三)線程間通信

? ? ? ? 1.概念

? ? ? ? 2.方式:因為有共享數據段,采用全區變量

? ? ? ? 3.互斥鎖:解決線程間資源競爭?

? ? ? ? 4.死鎖

? ? ? ? 5.信號量?

(四)進程間通信

? ? ? ? 1.概念:利用Linux內核實現多進程間通信

? ? ? ? 2.進程間通信常用的方式

? ? ? ? 3.管道:有名管道、無名管道

? ? ? ? 4.信號:進程間任務事件的通知

? ? ? ? 5.消息隊列:IPC對象?

? ? ? ? 6.共享內存:內核中開辟一段固定大小的內核空間、進程間通信的最高效形式

? ? ? ? 7.信號燈:搭配共享內存使用

五、線程vs進程

一、進程和線程都是系統執行任務

? ? ? ? 1.進程:資源分配的基本單位

? ? ? ? 2.線程:cpu執行調度的最小單位

二、進程

? ? ? ? 1.進程的創建和切換的開銷大

? ? ? ? 2.空間獨立,安全、穩定

? ? ? ? 3.進程間通信

三、線程

? ? ? ? 1.線程的創建和切換的開銷小

? ? ? ? 2.線程共享進程資源方便

? ? ? ? 3.線程間資源競爭(線程間同步互斥機制)

? ? ? ??

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

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

相關文章

【51單片機學習】直流電機驅動(PWM)、AD/DA、紅外遙控(外部中斷)

一、直流電機驅動(PWM)1.直流電機介紹步進電機的旋轉速度完全由編碼的通電時間決定的,可以用于精密控制。 舵機內部是一個直流電機加一個控制器,引出三根線,分別是正負極和編碼線,根據輸出電平的時間來控制…

ComfyUI Portrait Master肖像大師中文版

本文轉載自:ComfyUI Portrait Master肖像大師中文版 - Hello123工具導航 ** 一、產品定位與技術架構 肖像大師中文版是專為 AI 繪畫工具設計的提示詞生成插件,通過結構化參數控制實現精準人物肖像生成。它基于 ComfyUI 平臺開發,提供 193 國…

(Redis)內存淘汰策略

1. 為什么需要內存淘汰策略?Redis 是一個基于內存的高性能數據庫,所有數據都存儲在內存中。優點:讀寫速度極快。缺點:內存有限,存滿之后如果繼續寫入,就必須有一套策略來決定“刪掉誰,留下誰”。…

Eclipse 里Mybatis的xml的頭部報錯

需要進行Eclipse 配置 MyBatis 的DTD文件Window -> Preference -> Maven -> 勾選 (download artifact javadoc).

SpringBoot Web快速入門_從零搭建你的第一個Web應用

在 Java 企業級開發領域,SpringBoot 以其 “約定優于配置” 的理念徹底革新了傳統 Spring 應用的開發模式。根據 2023 年 JetBrains 開發者調查報告,超 65% 的 Java 開發者將 SpringBoot 選為 Web 開發的首選框架。其優勢顯著:快速啟動&#…

手持 Mid360 + RealSense 相機 + Jetson Orin 一體平臺

這篇博客是我們開源的一個項目介紹,包括3D結構件 STP 文件與常見 SLAM 工程在 Arm 設備上編譯手冊等,將 Livox Mid360、Realsense 相機、Nvidia Jetson Orin、定制電池放在了一個手持設備上,同時這個手持設備預留了底部螺紋孔,當你…

H7-TOOL固件2.31發布,支持250M示波器,支持IAR下載算法加載運行,上位機支持UTF-8編碼,增加多款脫機燒錄芯片支持

【PC軟件】V2.3.1 1. 脫機燒錄功能更新: - 添加芯片: - 自動填充文件名、Flash地址、Flash大小、SRAM地址和SRAM大小 - FLM算法文件不支持自動填寫文件名,當生成文件后需要手動更新 - 廠商列表欄鼠標右鍵菜單可復制廠商名 - 修復添加芯片排列次序的問題…

自然語言處理——06 遷移學習(上)

1 fasttext工具介紹 1.1 介紹 fasttext 是 Facebook AI Research(FAIR)開發的開源 NLP 工具包,專門用來解決文本相關任務,比如情感分析、文本分類(判斷新聞屬于體育/財經等)、識別“人名/地名”這類實體&a…

數據庫MVCC是什么

問題數據庫MVCC是什么我的回答MVCC,全稱是"多版本并發控制"(Multi-Version Concurrency Control),是數據庫管理系統中常用的一種并發控制技術。說白了,它就是通過維護數據的多個版本,讓讀操作不會被寫操作阻塞&#xff…

游戲廣告投放數據分析項目:拆解投放的“流量密碼”

用數據說話:1441條投放記錄拆解游戲廣告投放的“流量密碼”一、數據概況 & 處理思路 先放一張數據全家福,字段 13 個,樣本 1441 條,缺失值 0,只做了一件事:把“未知大小”“無”等臟數據清洗掉。 impor…

數據庫服務語句應用

文章目錄🌟數據庫語句應用介紹🍀數據庫語句分類介紹DDL(Data Definition Language)數據定義語言DCL(Data Control Language)數據控制語言DML(Data Manipulation Language)數據操作語…

解釋器模式與布爾表達式的C++實現

詳細探討一下解釋器模式(Interpreter Pattern)以及如何使用它來實現一個簡單的布爾表達式求值器。 第一部分:解釋器模式詳解 1. 模式定義與意圖 解釋器模式是一種行為設計模式,它給定一個語言,定義其文法的一種表示,并定義一個解釋器,該解釋器使用該表示來解釋語言中…

ELK 重難點解析以及最佳實踐

ELK 重難點解析以及最佳實踐 目錄 ELK簡介核心組件詳解使用技巧重難點解析Spring Boot集成具體場景使用最佳實踐 ELK簡介 什么是ELK ELK是一個開源的日志分析平臺,由三個核心組件組成: Elasticsearch: 分布式搜索引擎,用于存儲和檢索日…

【PyTorch】單對象分割項目

對象分割是在圖像中找到目標對象的邊界的過程。單目標分割的重點是自動勾勒出圖像中一個目標對象的邊界。對象邊界通常由二進制掩碼定義。 通過二進制掩碼,可以在圖像上覆蓋輪廓以勾勒出對象邊界。例如以下圖片描繪了胎兒的超聲圖像、胎兒頭部的二進制掩碼以及覆蓋在…

esp dl

放下了好多年 又回到了dl 該忘的也忘的差不多了 其實沒啥復雜的 只是不習慣 熟悉而已 好吧 現代的人工智能體 還是存在著很大的問題 眼睛 耳朵 思考 雖然功能是正常的 但距離"真正"()意思上的獨立意識個體 還是差別很大 再等個幾十年 看看…

基于django/python的服裝銷售系統平臺/服裝購物系統/基于django/python的服裝商城

基于django/python的服裝銷售系統平臺/服裝購物系統/基于django/python的服裝商城

詳解ThreadLocal<HttpServletRequest> requestThreadLocal

public static ThreadLocal<HttpServletRequest> requestThreadLocal ThreadLocal.withInitial(() -> null);一、代碼逐部分詳解 1. public static public&#xff1a;表示這個變量是公開的&#xff0c;其他類可以訪問。static&#xff1a;表示這是類變量&#xff0c…

Vue2 響應式系統設計原理與實現

文章目錄Vue2 響應式系統設計原理與實現Vue2 響應式系統設計原理與實現 Vue2 的響應式原理主要基于以下幾點&#xff1a; 使用 Object.defineProperty () 方法對數據對象的屬性進行劫持 當數據發生變化時&#xff0c;通知依賴該數據的視圖進行更新 實現一個發布 - 訂閱模式&a…

探索 JUC:Java 并發編程的神奇世界

探索 JUC&#xff1a;Java 并發編程的神奇世界 在 Java 編程領域&#xff0c;隨著多核處理器的普及和應用場景復雜度的提升&#xff0c;并發編程變得愈發重要。Java 并發包&#xff08;JUC&#xff0c;Java.util.concurrent&#xff09;就像是一座寶藏庫&#xff0c;為開發者提…

selenium采集數據怎么應對反爬機制?

selenium是一個非常強大的瀏覽器自動化工具&#xff0c;通過操作瀏覽器來抓取動態網頁內容&#xff0c;可以很好的處理JavaScript和AJAX加載的網頁。 它能支持像點擊按鈕、懸停元素、填寫表單等各種自動化操作&#xff0c;所以很適合自動化測試和數據采集。 selenium與各種主流…