linux基础知识——CPU相关知识
1.CPU處理程序過程
\qquad在存儲介質中,從下至上是進程的時間加載的先后順序,也是存儲空間大小的順序。
2.MMU(內存管理單元)
\qquadMMU是位于CPU內部的一個物理器件。在程序運行時,會產生進程,同時產生虛擬內存空間,但是虛擬內存并不存在,真實存在的是物理內存。虛擬地址:可用的地址空間有4G。MMU完成虛擬內存地址和物理內存地址之間的映射。除此之外,MMU在完成虛擬內存和物理內存之間的映射時,還會完成設置內存訪問級別。
\qquad當程序需要多少內存時,MMU就會給程序分配多少,但分配的最小單元空間大小為4K,即MMC把虛擬內存映射到物理內存的大小為4K的整數倍。兩個不同的進程,共用同一塊物理內存內核空間。
3.PCB(進程控制塊)
\qquadPCB,也叫進程控制塊,位于虛擬內存內核空間中,本質是task_struct結構體,用于維護進程相關信息。
\qquad 在/usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/linux/sched.h可以找到struct task_struct結構體,其內部成員有:
\qquad進程ID:系統中的每一個進程都有唯一的ID,在C語言中,常用pid_t類型表示,即非負整數。
\qquad進程的狀態:就緒:等待CPU分配時間片;運行:占用CPU;掛起:等待CPU之外的其它系統資源,主動放棄CPU;停止。
\qquad進程切換時,需要保存和恢復的一些CPU寄存器。
\qquad描述虛擬地址空間的信息:虛擬地址空間和物理內存空間的對應關系。
\qquad描述控制終端的關系
\qquad當前工作目錄位置。
\qquadumask掩碼
\qquad文件描述符表,包含很多指向file結構體的指針。
\qquad和信號相關的信息
\qquad用戶id和組id
\qquad會話和進程組
\qquad進程可以使用的資源上限。資源上限查詢命令 :ulimit -a
總結
以上是生活随笔為你收集整理的linux基础知识——CPU相关知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【知识图谱】一、知识表示与知识建模
- 下一篇: torchvision包的主要构成