計算機操作系統(七)詳細講解進程的組成與特性,狀態與轉換

計算機操作系統(七)進程的組成與特性,狀態與轉換

  • 前言
  • 一、進程的組成
    • 1. 什么是“進程”?
    • 2. 進程的三個核心組成部分
      • 2.1 PCB(進程控制塊)—— 進程的“身份證+戶口本”
      • 2.2 程序段—— 進程的“任務清單”
      • 2.3 數據段—— 進程的“材料箱”
    • 總結
  • 二、進程的特征
    • 1. 動態性
    • 2. 并發性
    • 3. 獨立性
    • 4. 異步性
    • 5. 結構性
    • 總結:
  • 三、進程的狀態
    • 1. 創建態
    • 2. 就緒態
    • 3. 運行態
    • 4. 阻塞態
    • 5. 終止態
    • 6.狀態轉換圖:
    • 總結
  • 四、進程的轉換
    • 1.創建態 → 就緒態
    • 2. 就緒態 → 運行態
    • 3. 運行態 → 就緒態
    • 4. 運行態 → 阻塞態
    • 5. 阻塞態 → 就緒態
    • 6. 運行態 → 終止態
    • 7. 為什么就緒態不能直接到阻塞態?
    • 狀態轉換圖:
  • 五、進程的組織--鏈接方式和索引
    • 1.PCB的“組織方式”:
      • 1.1 鏈表鏈接:給PCB“分組排隊
        • 1. 執行態PCB:(唯一)
        • 2. 就緒隊列:
        • 3. 阻塞隊列:
    • 2. 索引方式:給PCB“建花名冊”,快速查找
        • 1. 索引表是什么?
        • 2. **為什么需要索引?**
    • 3. 兩種方式如何配合?


前言

  • 前面的博客中,我們探討了計算機操作系統的基本概念。
  • 本節將深入解析進程的組成、特性,以及狀態與轉換機制。

我的個人主頁,歡迎來閱讀我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的操作系統博客專欄
https://blog.csdn.net/2402_83322742/category_12916780.html?spm=1001.2014.3001.5482


一、進程的組成

在這里插入圖片描述

1. 什么是“進程”?

  • 先打個比方:你打開電腦上的“計算器”程序,這個程序開始運行的過程,就是一個 “進程”

  • 進程就像一個“正在干活的工人”,而它的組成部分,就是這個工人干活時需要的“工具包”“任務清單”和“材料”。
    在這里插入圖片描述

2. 進程的三個核心組成部分

在這里插入圖片描述

2.1 PCB(進程控制塊)—— 進程的“身份證+戶口本”

  • 是什么?
    PCB是操作系統給每個進程單獨創建的一個“小檔案”,里面記錄了這個進程的所有關鍵信息,比如:

    • 進程的“名字”(PID)、當前狀態(是在運行、暫停還是排隊等著?)
    • 它的“優先級”(比如重要的進程優先干活)
    • 它占用了哪些“資源”(比如用了多少內存、有沒有占用打印機)
    • 下一步該執行哪行代碼(類似書簽,記錄進度)。
  • 作用:
    操作系統全靠這個“檔案”來管理所有進程,比如決定先讓哪個進程運行、怎么暫停/恢復進程

  • 類比: 就像老師手里的“學生檔案”,記錄了每個學生的學號、成績、座位號,老師靠檔案管理學生。

2.2 程序段—— 進程的“任務清單”

  • 是什么?
    程序段就是這個進程要執行的“代碼”,也就是程序的邏輯步驟。
    比如計算器程序的程序段,里面寫著“如何計算加法”“如何顯示數字”等具體的指令。

  • 作用:
    告訴計算機“該做什么”,是進程的“靈魂”。不管進程運行多少次,程序段的內容都是固定的(比如計算器的加法邏輯不會自己變)。
    類比: 就像工人手里的“操作手冊”,上面寫著“第一步擰螺絲,第二步插電線”等具體步驟。

2.3 數據段—— 進程的“材料箱”

  • 是什么?
    數據段是進程運行時用到的“臨時數據”,比如:

    • 計算器輸入的數字(比如你輸入的“1+2”)
    • 程序運行中的中間結果(比如計算到一半的數值)
    • 臨時存儲的用戶設置(比如計算器的“主題顏色”)。
  • 作用:
    程序段執行時需要“數據”才能干活,數據段就是存放這些數據的地方。不同進程的數據段是隔離的(比如計算器和微信的數據不會混在一起)。
    類比: 就像工人干活時用的“材料箱”,里面裝著螺絲、電線、零件等,用完就清空(進程結束后數據段就沒了)。

總結

  1. 當你打開“計算器”程序時,操作系統會創建一個 進程
  2. 同時生成一個 PCB(記錄這個進程的“身份信息”)。
  3. 把計算器的“程序代碼”(程序段)加載到內存,告訴計算機“按這個邏輯干活”。
  4. 開辟一塊內存空間作為 數據段,用來存放你輸入的數字、計算結果等臨時數據。
  5. 操作系統通過PCB管理這個進程,比如你最小化計算器時,PCB會記錄它的“暫停狀態”,等你恢復時繼續運行。

二、進程的特征

在這里插入圖片描述

1. 動態性

  • 是什么?
    進程不是“死的”,而是一個“動態變化的過程”。

    • 它會“出生”:比如你打開一個軟件(程序運行,創建進程)。
    • 會“干活”:在內存里執行代碼、處理數據。
    • 會“死亡”:關閉軟件時,進程結束,資源被回收。
    • 狀態會變:比如從“運行中”變成“暫停”(你最小化窗口時),再變回“運行”。
  • 和程序的區別:
    程序是硬盤里的“靜態文件”(比如微信安裝包),而進程是程序“運行起來的實例”(打開的微信窗口就是一個進程)。
    類比: 程序像“劇本”(靜態不變),進程像“演員演劇本”(動態表演,有開始和結束)。

2. 并發性

  • 是什么?
    多個進程可以“同時存在”于內存中,一起運行(雖然CPU同一時間只能執行一個,但操作系統讓它們“輪流快速切換”,看起來像同時進行)。
    比如你一邊用微信聊天(微信進程),一邊用瀏覽器看網頁(瀏覽器進程),一邊聽音樂(音樂進程),它們同時在內存里“活著”,只是CPU在它們之間快速切換執行。

  • 作用:
    讓電腦能“一心多用”,提高效率。
    類比: 就像老師同時管多個學生:一會兒給A講題,一會兒給B批改作業,一會兒讓C自己做題。雖然同一時間只處理一個,但快速切換,看起來像同時在做

3. 獨立性

  • 是什么?
    每個進程都是“獨立的個體”,有自己的“私人資源”,互不干擾。

    • 資源隔離:比如微信進程的內存數據、打開的文件,計算器進程絕對碰不到(操作系統保證它們互相隔離)。
    • 地位平等:每個進程都是操作系統分配資源的“基本單位”(比如分配內存、網絡權限,都是以進程為單位)。
  • 好處:
    一個進程崩潰(比如微信卡死),不會影響其他進程(瀏覽器還能正常用)
    類比: 每個進程像“獨立的房間”,房間里的東西(數據、資源)只有自己能用,別人進不來,也不會被別人的房間影響。

4. 異步性

  • 是什么?
    進程按自己的“節奏”運行,操作系統不確定它們的執行順序,但最終結果正確。

    • 比如你同時下載文件(下載進程)和寫文檔(文檔進程):
      • 下載可能時快時慢(取決于網絡),文檔編輯也隨時可能暫停/繼續。
      • 操作系統會根據規則(比如優先級)調度它們,但具體先執行誰、執行多久,進程自己不知道(“異步”就是“不同步”,沒有嚴格的順序)。
  • 為什么沒問題?
    操作系統通過PCB記錄每個進程的“進度”(比如執行到哪行代碼),隨時能暫停和恢復,保證最終結果正確。
    類比: 像排隊買奶茶,每個人點單、制作的速度不同(有人點復雜的奶茶慢,有人點簡單的快),店員按規則(比如先來后到)處理,雖然順序不確定,但最后每個人都能拿到自己的奶茶。

5. 結構性

在這里插入圖片描述

  • 是什么?
    每個進程都必須“標配”三個部分:

    1. PCB(進程控制塊):相當于進程的“身份證”,記錄它的所有信息(狀態、資源、進度等),沒有PCB的話,操作系統根本不知道這個進程存在。
    2. 程序段:進程要執行的代碼(做事的邏輯)。
    3. 數據段:進程運行時用的臨時數據(比如你輸入的內容、中間結果)。
  • 重點:PCB是進程存在的“唯一標志”!
    只要操作系統里有一個進程,就一定有對應的PCB;反之,沒有PCB的東西,就不是進程(比如普通的文件、數據)。
    類比: 每個進程像一個“完整的人”,必須有“身份證(PCB)”+“大腦(程序段,指揮做事)”+“身體(數據段,存儲臨時信息)”,缺一不可。

總結:

  • 動態性:進程是“活著的、會變的”,有出生、運行、死亡的過程。
  • 并發性:多個進程能“同時存在”,一起在電腦里干活(輪流執行)。
  • 獨立性:每個進程有自己的“私人資源”,互不干擾、互不侵犯。
  • 異步性:進程按自己的節奏運行,順序不確定,但結果正確。
  • 結構性:每個進程都必須有“PCB+程序段+數據段”三件套,PCB是它的“身份象征”。

三、進程的狀態

在這里插入圖片描述

1. 創建態

  • 發生了什么?
    當你打開一個程序(比如微信),操作系統開始“生”這個進程,分兩步:
    初始化PCB:給進程辦“臨時身份證”(記錄PID、初始狀態等基本信息),就像老師給新學生登記學號、座位號。
    分配資源:給進程分“課桌”(內存空間)、“課本”(程序段代碼)、“草稿紙”(數據段臨時存儲區),但還沒讓它“正式上課”(占用CPU)。

  • 狀態特點
    進程剛“誕生”,還沒準備好運行,就像學生剛進教室,書包還沒放好,老師還沒讓他開始做題。

2. 就緒態

  • 發生了什么?
    進程已經“萬事俱備”:PCB辦好,資源(內存、文件等)都拿到了,只差CPU“點名”讓它運行。
    就像學生坐在座位上,課本、筆都擺好了,舉手等著老師說:“你來回答問題”(分配CPU時間片)。

  • 關鍵:為什么不直接運行?
    因為CPU同一時間只能“輔導”一個學生(執行一個進程),其他準備好的進程只能在“就緒隊列”里排隊,等CPU輪到自己。

3. 運行態

  • 發生了什么?
    CPU選中了這個進程,開始執行它的程序段代碼,處理數據段里的數據。
    就像老師叫到某個學生的名字,讓他上臺做題,此時這個學生“獨占”老師的注意力(單核CPU下,同一時間只有一個進程在運行)。

  • 兩種情況會“下講臺”:
    ① 時間片用完:老師說“你先下去,下一個同學來”(CPU分配的時間到了,進程回到就緒態排隊)。
    ② 主動“請假”:比如進程需要等用戶點擊按鈕(進入阻塞態)。

4. 阻塞態

  • 為什么會阻塞?
    進程運行時遇到“等事件”的情況,比如:

    • 等用戶輸入(比如你在微信里還沒打字,進程沒法繼續發消息)。
    • 等文件讀取(比如打開一個大文件,還沒讀完數據)。
    • 等網絡響應(比如網頁還沒加載完)。
      這時進程“卡住了”,無法繼續執行,只能“暫停”,把CPU讓給其他就緒態的進程。
  • 狀態特點:
    進程就像學生做題時發現“沒草稿紙了”,舉手跟老師說:“我等你拿紙來,現在先不做了”,然后放下筆,坐在座位上干等(不占用CPU,但保留PCB和資源)。
    注意:阻塞態和就緒態的區別:就緒態是“能干活但沒輪到”,阻塞態是“想干活但干不了,得等事件發生”。

5. 終止態

  • 為什么會終止?
    兩種情況:
    正常結束:進程完成任務(比如你關閉計算器,程序正常退出)。
    異常終止:進程出錯崩潰(比如微信突然卡死,操作系統強制結束它)。

  • 操作系統在終止態做什么?
    最重要的事:回收資源

    • 歸還內存(把“課桌”讓給其他進程)。
    • 關閉打開的文件(把“課本”放回書架)。
    • 刪除PCB(注銷“學生檔案”,操作系統不再知道這個進程存在)。
      如果不回收,就像學生放學不收拾書包,占著課桌不放,時間長了教室會堆滿垃圾(內存泄漏、資源浪費)。

6.狀態轉換圖:

創建態 → 就緒態(準備好,等CPU)  
就緒態 → 運行態(CPU選中,開始干活)  
運行態 → 就緒態(時間片用完,回去排隊)  
運行態 → 阻塞態(等事件,被迫暫停)  
阻塞態 → 就緒態(事件發生了,比如用戶輸入了,重新排隊等CPU)  
運行態/阻塞態 → 終止態(干活結束或出錯,放學回家)  

總結

  • 創建態:進程剛“出生”,正在辦身份證、分資源,還沒準備好上課。
  • 就緒態:進程萬事俱備,在“就緒隊列”里舉手等CPU點名。
  • 運行態:進程正在CPU上執行,就像學生在老師面前做題。
  • 阻塞態:進程遇到“等事件”卡住了,暫時放下活,等事件好了再繼續。
  • 終止態:進程下課放學,操作系統回收它的所有資源,從此消失。

四、進程的轉換

在這里插入圖片描述

1.創建態 → 就緒態

  • 條件:系統完成創建進程的所有準備(初始化PCB、分好資源)。
  • 類比:你走進奶茶店,店員登記完你的信息(創建態),給你號碼牌(10號),你去等待區坐著(就緒態)。

2. 就緒態 → 運行態

  • 條件:CPU“調度”選中這個進程(店員喊:“10號顧客來點單!”)。
  • 關鍵:就緒態是“排隊等CPU”,運行態是“正在用CPU”,必須通過“調度”才能轉換(就像必須等店員喊號才能去點單)。

3. 運行態 → 就緒態

  • 兩種情況
    時間片用完:CPU分配給進程的“時間配額”到了(比如店員說:“你先講到這里,下一位!”),進程回到就緒隊列重新排隊。
    主動讓步:比如高優先級進程來了,當前進程被迫暫停(比如突然來了VIP顧客,店員讓你稍等,先服務VIP)。
  • 類比:你點單時,店員說:“你前面還有更急的顧客,先去后面重新排隊吧!”你回到等待區(就緒態)。

4. 運行態 → 阻塞態

  • 條件:進程需要“等待某個事件”(比如等用戶輸入、等文件讀取、等網絡響應)。
  • 類比:你點單時發現“忘記帶錢包”,只能對店員說:“我等回家拿錢包再來,現在先不買了”,然后站到旁邊(阻塞態,不占用店員時間)。

5. 阻塞態 → 就緒態

  • 條件:等待的事件發生了(比如你拿到錢包、文件讀完了、網絡通了)。
  • 類比:你拿到錢包回來,店員給你新的號碼牌(15號),你回到等待區重新排隊(就緒態)。
  • 注意不能直接從阻塞態回到運行態!必須先到就緒態排隊,等CPU再次調度(就像你拿完錢包回來,不能直接插隊,必須重新排隊等喊號)。

6. 運行態 → 終止態

  • 兩種情況
    ① 正常結束:進程跑完所有代碼(你點完單、付完款、拿到奶茶,離開店鋪)。
    ② 異常終止:進程遇到錯誤無法修復(比如點單時系統崩潰,店員說:“今天沒法幫你點了,下次再來”)。
  • 關鍵:一旦進入終止態,進程“徹底消失”,資源被回收(你的排隊記錄被刪除,座位被其他顧客占用)。

7. 為什么就緒態不能直接到阻塞態?

  • 因為阻塞態的前提是“進程正在運行時遇到了等待事件”,就緒態的進程還沒拿到CPU(沒開始點單),根本沒機會“卡住”。
  • 類比:你在等待區排隊(就緒態),還沒輪到你點單,怎么會中途因為“沒帶錢包”卡住呢?只有輪到你點單(運行態)時,才可能遇到問題進入阻塞態。

狀態轉換圖:

創建態 → 就緒態(辦手續完畢,開始排隊)  
就緒態 → 運行態(被店員喊號,開始點單)  
運行態 → 就緒態(時間到/讓步,回去重新排隊)  
運行態 → 阻塞態(等事件,暫停點單,站到旁邊)  
阻塞態 → 就緒態(事件完成,重新拿號排隊)  
運行態 → 終止態(點單結束/出錯,離開店鋪)  

五、進程的組織–鏈接方式和索引

  • 每個進程都有一個PCB(進程控制塊,相當于“學生檔案”),當電腦運行很多進程時,操作系統需要把這些“檔案”有條理地管起來,不然就會亂成一鍋粥。
  • 主要有兩種“管理方法”:鏈表鏈接(按狀態分組排隊)和索引表查找(快速定位某個檔案)。

1.PCB的“組織方式”:

在這里插入圖片描述

1.1 鏈表鏈接:給PCB“分組排隊

就像學校把學生按“狀態”分成“上課組”“排隊組”“等待組”,每個組用“鏈表”串起來,方便按組管理:
在這里插入圖片描述

1. 執行態PCB:(唯一)
  • 特點:同一時間只有一個進程在運行(單核CPU下),操作系統用一個“指針”直接指向這個PCB(比如老師手里的“當前答題學生”牌子)。
  • 類比:全班只有一個學生在黑板上做題,老師一眼就能看到他,不需要排隊。
2. 就緒隊列:
  • 結構:所有就緒態的PCB用“指針”連成一個“鏈表”(每個PCB里有一個“下一個就緒PCB”的地址)。
  • 作用:操作系統要選下一個運行的進程時,直接從這個隊列里按規則(比如優先級)挑一個,就像老師從“排隊名單”里喊下一個學生。
  • 類比:等待區的學生每人手里拿一張紙條,上面寫著“下一個學生的學號”,連成一條“排隊鏈”,老師按順序喊人。
3. 阻塞隊列:
  • 特點:阻塞原因不同(比如等磁盤、等網絡),會分成多個阻塞隊列。
    • 比如“等待磁盤讀取”的PCB組成一個隊列,“等待用戶輸入”的組成另一個隊列。
  • 結構每個PCB里有一個“阻塞隊列指針”,指向同類型阻塞隊列的下一個PCB。
  • 類比:等待取快遞的學生,按“快遞類型”分組(比如等課本的一隊,等零食的一隊),每隊用鏈表連起來,方便快遞到了之后統一通知。

2. 索引方式:給PCB“建花名冊”,快速查找

光有排隊的鏈表還不夠,操作系統需要快速找到某個特定的PCB(比如通過進程ID找對應的檔案),這時候就需要“索引表”:

1. 索引表是什么?
  • 相當于一個“花名冊”,按進程ID(PID,類似學號)排序,每個條目記錄“PID”和“對應PCB的地址”。
  • 類比:老師手里的班級花名冊,按學號排好,每個學號對應一個學生的座位號,老師喊“學號3號”,馬上就能找到對應的學生。
2. 為什么需要索引?
  • 鏈表適合“按組管理”(比如就緒隊列按順序調度),但如果要找“某個特定PID的進程”,鏈表需要從頭開始一個個找,很慢。
  • 索引表就像“字典”,可以通過PID直接“查字典”找到PCB的位置,速度飛快(比如查學號3號,直接翻到花名冊第3頁)。

3. 兩種方式如何配合?

舉個例子:你打開了微信(進程A,PID=100)、瀏覽器(進程B,PID=200)、音樂播放器(進程C,PID=300)

  1. 鏈表分組

    • 假設當前微信在運行(執行態),瀏覽器和音樂播放器在就緒隊列里排隊(鏈表:B→C)。
    • 如果瀏覽器需要等網絡加載網頁(進入阻塞態),會被移到“等待網絡”的阻塞隊列,鏈表變成:C(就緒),B(阻塞-網絡隊列)。
  2. 索引表查找

    • 操作系統維護一個索引表,條目是:
      • PID=100 → PCB_A的地址(微信)
      • PID=200 → PCB_B的地址(瀏覽器)
      • PID=300 → PCB_C的地址(音樂播放器)
    • 當你想終止瀏覽器進程時,通過PID=200直接在索引表找到PCB_B,不管它在哪個隊列,都能快速定位并操作。

以上就是對本次關于操作系統博客內容的總結,后續我們將深入探討操作系統更多知識。

我的個人主頁,歡迎來閱讀我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的操作系統博客專欄
https://blog.csdn.net/2402_83322742/category_12916780.html?spm=1001.2014.3001.5482

非常感謝您的閱讀,喜歡的話記得三連哦

在這里插入圖片描述

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

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

相關文章

MapReduce基本介紹

核心思想 分而治之:將大規模的數據處理任務分解成多個可以并行處理的子任務,然后將這些子任務分配到不同的計算節點上進行處理,最后將各個子任務的處理結果合并起來,得到最終的結果。 工作流程 Map 階段: 輸入數據被…

Linux操作系統實戰:中斷源碼的性能分析(轉)

Linux中斷是指在Linux操作系統中,當硬件設備或軟件觸發某個事件時,CPU會中斷正在執行的任務,并立即處理這個事件。它是實現實時響應和處理外部事件的重要機制,Linux中斷可以分為兩種類型:硬件中斷和軟件中斷&#xff0…

AI Agent開發第66課-徹底消除RAG知識庫幻覺-帶推理的RAG

開篇 在第64課《AI Agent開發第64課-DIFY和企業現有系統結合實現高可配置的智能零售AI Agent(上)》中我們提到了提示詞Rewrite,同時還講到了2024年年末開始出現的新的理論,并把RAG系統推入到了3.0模式,業界出現了“3R”理念的RAG引擎,基于“3R”理念可以徹底消除RAG的幻覺…

Clion內置宏$PROJECT_DIR$等

CLion 內置宏 文章目錄 CLion 內置宏通用路徑相關宏路徑相對化宏 官方文檔地址: https://www.jetbrains.com/help/clion/built-in-macros.html 通用路徑相關宏 宏名稱含義說明示例$WORKSPACE_DIR$當前項目所屬的工作區根目錄路徑。/home/user/workspace$PROJECT_D…

機器學習基礎課程-5-課程實驗

5.1 實驗介紹 實驗背景 在這個項目中,您將使用1994年美國人口普查收集的數據,選用幾個監督學習算法以準確地建模被調查者的收入。然后,您將根據初步結果從中選擇出最佳的候選算法,并進一步優化該算法以最好地建模這些數據。你的目…

Android RecyclerView自帶的OnFlingListener,Kotlin

Android RecyclerView自帶的OnFlingListener,Kotlin Android啟動應用時屏蔽RecyclerView滑動,延時后再允許滑動,Kotlin-CSDN博客 使用了GestureDetectorRecyclerView的setOnTouchListener檢測用戶的快滑fling事件。發現RecyclerView也自帶了監…

第3.4節 調用鏈路分析服務開發

3.4.1 什么是Code Call Graph(CCG) Code Call Graph(CCG)即業務代碼中的調用關系圖,是通過靜態分析手段分析并構建出的一種描述代碼間關系的圖。根據精度不同,一般分為類級別、方法級別、控制流級別&#x…

【Liblib】基于LiblibAI自定義模型,總結一下Python開發步驟

一、前言 Liblib AI(哩布哩布 AI)是一個集成了先進人工智能技術和用戶友好設計的 AI 圖像創作繪畫平臺和模型分享社區。 強大的圖像生成能力 :以 Stable Diffusion 技術為核心,提供文生圖、圖生圖、圖像后期處理等功能&#xff…

編程日志5.5

樹的結構代碼 #include<iostream> using namespace std; //由于樹的每個結點可能有一些孩子結點,這些孩子結點的數量不確定,所以可以用一個鏈表來把所有的孩子結點給串起來 //鏈表結點定義 //這段代碼定義了一個結構體ListNode,用于表示鏈表中的一個結點。這個結構…

【消息隊列】RabbitMQ基本認識

目錄 一、基本概念 1. 生產者&#xff08;Producer&#xff09; 2. 消費者&#xff08;Consumer&#xff09; 3. 隊列&#xff08;Queue&#xff09; 4. 交換器&#xff08;Exchange&#xff09; 5. 綁定&#xff08;Binding&#xff09; 6. 路由鍵&#xff08;Routing …

uniapp -- 驗證碼倒計時按鈕組件

jia-countdown-verify 驗證碼倒計時按鈕組件 一個用于發送短信驗證碼的倒計時按鈕組件&#xff0c;支持自定義樣式、倒計時時間和文本內容。適用于各種需要驗證碼功能的表單場景。 代碼已經 發布到插件市場 可以自行下載 下載地址 特性 支持自定義按鈕樣式&#xff08;顏色、…

知識圖譜重構電商搜索:下一代AI搜索引擎的底層邏輯

1. 搜索引擎的進化論 從雅虎目錄式搜索到Google的PageRank算法&#xff0c;搜索引擎經歷了三次技術躍遷。而AI搜索引擎正在掀起第四次革命&#xff1a;在電商場景中&#xff0c;傳統的「關鍵詞匹配」已無法滿足個性化購物需求&#xff0c;MOE搜索等新一代架構開始融合知識圖譜…

深度學習 自然語言處理(RNN) day_02

1. 感知機與神經網絡 1.1 感知機 生物神經元&#xff1a; 1.1.1 感知機的概念 感知機&#xff08;Perceptron&#xff09;&#xff0c;又稱神經元&#xff08;Neuron&#xff0c;對生物神經元進行了模仿&#xff09;是神 經網絡&#xff08;深度學習&#xff09;的起源算法&am…

PYTHON訓練營DAY25

BUG與報錯 一、try else try:# 可能會引發異常的代碼 except ExceptionType: # 最好指定具體的異常類型&#xff0c;例如 ZeroDivisionError, FileNotFoundError# 當 try 塊中發生 ExceptionType 類型的異常時執行的代碼 except: # 不推薦&#xff1a;捕獲所有類型的異常&…

LU分解求解線性方程組

L U LU LU分解 前言 L U LU LU分解 由以下定理得以保證&#xff1a; 設 A \boldsymbol{A} A為 n n n階方陣&#xff0c;若其各界階順序主子式都不為 0 0 0&#xff0c;那么它可以 被唯一的上下三角矩陣積分解。 步驟 確定各矩陣形式 A L U \mathbf{A}\mathbf{LU} ALU ( a 1…

Linux——數據庫備份與恢復

一&#xff0c;Mysql數據庫備份概述 1&#xff0c;數據庫備份的重要性 數據災難恢復&#xff1a;數據庫可能會因為各種原因出現故障&#xff0c;如硬件故障、軟件錯誤、誤操作、病毒攻擊、自然災害等。這些情況都可能導致數據丟失或損壞。如果有定期的備份&#xff0c;就可以…

SVM在醫療設備故障維修服務決策中的應用:策略、技術與實踐

SVM在醫療設備故障維修服務決策中的應用&#xff1a;策略、技術與實踐 醫療設備的高可靠性、安全性及嚴格合規性要求&#xff0c;使其故障維修決策具有顯著的特殊性。支持向量機&#xff08;SVM&#xff09;憑借小樣本學習、非線性建模及高精度分類能力&#xff0c;可有效解決…

WEB安全--Java安全--CC1利用鏈

一、梳理基本邏輯 WEB后端JVM通過readObject()的反序列化方式接收用戶輸入的數據 用戶編寫惡意代碼并將其序列化為原始數據流 WEB后端JVM接收到序列化后惡意的原始數據并進行反序列化 當調用&#xff1a; ObjectInputStream.readObject() JVM 內部邏輯&#xff1a; → 反…

FlashInfer - 介紹 LLM服務加速庫 地基的一塊石頭

FlashInfer - 介紹 LLM服務加速庫 地基的一塊石頭 flyfish 大型語言模型服務中的注意力機制 大型語言模型服務&#xff08;LLM Serving&#xff09;迅速成為重要的工作負載。Transformer中的算子效率——尤其是矩陣乘法&#xff08;GEMM&#xff09;、自注意力&#xff08;S…

反向操作:如何用AI檢測工具優化自己的論文“人味”?

大家好&#xff0c;這里是論文寫手的一線自救指南&#x1f624; 在AIGC橫行的今天&#xff0c;誰還沒偷偷用過AI寫幾段論文內容&#xff1f;但問題來了&#xff1a;學校越來越會“識AI”了&#xff01; 有的學校甚至不看重復率&#xff0c;只盯AIGC率報告&#xff0c;一句“AI…