Linux課堂筆記 程序2 命名空間

2021-08-17 16:37:03 字數 1026 閱讀 1135

linux 作業系統上提供的一種作業系統級虛擬化 (operating-system-level virtualization)技術

允許在同一 linux 核心的基礎上對不同程序族的環 境進行劃分和隔離。

容器技術使用 linux 核心提供的namespace 機制隔離應用環境,同時使用 cgroups 機制限制程序資源

docker 是 docker.inc 發布的一款開源 linux 容器引 擎,與2023年3月首次發布

cgroups 最早在2023年開始由 google 的工程師發起, 並在2023年1月首次合併到 linux 主線核心版本 2.6.14

目的:為加入控制組的程序提供資源的限制和審計

- 這裡的」資源」包括程序所使用的 cpu,記憶體,磁碟 i/o 和網路

linux 將 cgroup 實現為乙個檔案系統,通常位於 /sys/fs/cgroup 下

在編譯時啟用

-逐一指定需要支援的命名空間

-一般性支援總是會編譯到核心中

預設命名空間

-沒有顯式指定的話,則每個程序關聯到乙個默 認的命名空間

建立新程序

- flag:與父程序共享命名空間 or 建立新命名空間

unshare系統呼叫

- 分離程序上下文中與其他程序共享的部分,包 括命名空間

命名空間的實現需要兩個部分

- 核心子系統命名空間 :將此前所有的全域性元件包裝到命名空間中

- 關聯 : 將給定程序關聯到所屬各個命名空間

struct nsproxy

用於匯集指向特定於子系統的命名空間包裝器的指標

通過pid 和task_struct互推

課堂筆記2

一 makefile make命令執行時,需要乙個makefile檔案,以告訴make命令需要怎樣去編譯和鏈結程式。格式 target 目標 dependency 依賴 tab字元 command 命令 例 hello hello.c gcc hello.c o hello 通過hello.o和pr...

linux課堂筆記

rw r r 第一位有 d,l 表示普通檔案,d表示目錄,l表示連線檔案 快捷方式 接下來三位為一組,分別表示u所有者,g所屬組,o其他人。r讀,w寫,x執行 代表acl許可權 數字代表引用計數 開頭的檔案代表隱藏檔案 系統檔案 ls l簡稱ll就是ls的詳細資訊 建立目錄 mkdir make d...

課堂筆記2(亂)

select it.iname 商品名稱,itc.cname 商品類別名稱 from item it join itemcategory itc on it.cid itc.id it 為item的別名 提高執行速度,itc為itcategory的別名。商品名稱為iname的別名,列的別名,影響執行...