fork()系統調用是干啥的?
fork()系統調用是Unix下以自身進程創建子進程的系統調用,一次調用,兩次返回,如果返回是0,則是子進程,如果返回值>0,則是父進程(返回值是子進程的pid)。
還有一個很重要的東西是,在fork()的調用處,整個父進程空間會原模原樣地復制到子進程中,包括指令,變量值,程序調用棧,環境變量,緩沖區,等等。
為什么說UNIX系統是一個分時系統
UNIX系統是一個分時系統。最早的UNIX系統于1970年問世。此前,只有面向批處理作業的操作系統,這樣的系統對于需要立即得到響應的用戶來說是太慢了。在60年代末,Kenneth Thompson和Dennis Ritchie都曾參加過交互方式分時系統Multics的設計,而開發該系統所使用的工具是CTSS。這兩個系統在操作系統的發展過程中都產生過重大影響。在此基礎上,在對當時現有的技術進行精選提煉和發展的過程中,K.Thompson于1969年在小型計算機上開發UNIX系統,后于1970年投入運行。
1972年,DennisRitchie開發出C語言,用來改寫原來用匯編語言編寫的UNIX,由此產生了UNIX VersionV。1974年,Kenneth Thompson和Dennis Ritchie合寫的“The UNIX Time-Sharing System"在Communication of ACM上發表,正式向外界披露了UNIX系統。
關鍵詞: fork()系統調用 是干啥的 為什么說UNIX系統 是一個分時系統