鍍金池/ 教程/ Linux/ POSIX簡介
信號
創(chuàng)建目錄權(quán)限
示例程序
進(jìn)程的定義
Hello World進(jìn)程
創(chuàng)建進(jìn)程
進(jìn)程鎖
第四章 項目實例Run
Nohup命令
PID
前言
系統(tǒng)調(diào)用sendfile
進(jìn)程參數(shù)
參考書籍
后記
進(jìn)程狀態(tài)
本書概述
寫時復(fù)制(Copy On Write)
Docker簡介
第五章 注意事項
實現(xiàn)Run
孤兒進(jìn)程概念
共享內(nèi)存
衍生(Spawn)新進(jìn)程
PPID
第三章 進(jìn)程進(jìn)階
退出碼
簡介
進(jìn)程文件
Thanks for reading!
項目學(xué)習(xí)
第一章 進(jìn)程基礎(chǔ)
僵尸進(jìn)程
系統(tǒng)調(diào)用
POSIX簡介
執(zhí)行(Exec)外部程序
文件描述符
進(jìn)程名字
進(jìn)程輸入與輸出
Cgroups
進(jìn)程間通信
查看PID
死鎖概念
進(jìn)程越多越好?
Run項目架構(gòu)
  • 1.
復(fù)制(Fork)進(jìn)程
第二章 Go編程實例
活鎖概念
守護(hù)(Daemon)進(jìn)程
并發(fā)與并行
捕獲SIGKILL
Namespaces簡介

POSIX簡介

POSIX簡介

POSIX(Portable Operation System Interface)聽起來好高端,就是一種操作系統(tǒng)的接口標(biāo)準(zhǔn),至于誰遵循這個標(biāo)準(zhǔn)呢?就是大名鼎鼎的Unix和Linux了,有人問Mac OS是否兼容POSIX呢,答案是Yes蘋果的操作系統(tǒng)也是Unix-based的。

有了這個規(guī)范,你就可以調(diào)用通用的API了,Linux提供的POSIX系統(tǒng)調(diào)用在Unix上也能執(zhí)行,因此學(xué)習(xí)Linux的底層接口最好就是理解POSIX標(biāo)準(zhǔn)。

補(bǔ)充一句,目前很多編程語言(Go、Java、Python、Ruby等)都是天生跨平臺的,因此我們很少注意系統(tǒng)調(diào)用的兼容性。實際上POSIX提供了這些語言上跨平臺的語義,而且這是源碼級別的保證。

POSIX規(guī)范

POSIX是一些IEEE標(biāo)準(zhǔn),包括1003.0、1003.1、1003.1b和2003等,實際上連Linux也沒有完全兼容這些定義,不過只用Linux來學(xué)習(xí)POSIX足夠了。

鑒于絕大多數(shù)程序員都沒看過IEEE文檔,我們就翻一下IEEE 1003.1-2001吧。

http://wiki.jikexueyuan.com/project/linux-process/images/ieee_1003.1.png" alt="" />

篇幅跟論文差不多,大意就是修正Base標(biāo)準(zhǔn)存在的問題,這個文檔沒有增加新的接口,但是加了符號、非函數(shù)的定義和保留更多命名空間。這是非常嚴(yán)謹(jǐn)?shù)奈臋n,感興趣的同學(xué)可以讀下,對普通的程序員我們還是建議了解以下的內(nèi)容。

POSIX進(jìn)程

我們運(yùn)行Hello World程序時,操作系統(tǒng)通過POSIX定義的forkexec接口創(chuàng)建起一個POSIX進(jìn)程,這個進(jìn)程就可以使用通用的IPC、信號等機(jī)制。

POSIX線程

POSIX也定義了線程的標(biāo)準(zhǔn),包括創(chuàng)建和控制線程的API,在Pthreads庫中實現(xiàn),有關(guān)線程的知識有機(jī)會再深入學(xué)習(xí)。

上一篇:Nohup命令