2011-05-31 23 views
3

我正在學習一門名爲「操作系統」的課程,我們正在瞭解這些功能。我有一臺Mac,我想知道這些功能是否可以在Mac上使用,或者我必須安裝Linux。如果我無法在Mac上執行此操作,我應該安裝哪些Linux發行版? (有這麼多,我不知道哪一個得到)。Mac OS X中的fork(),sleep()和管道(int * fd)

回答

4

您的原型pipe()是錯誤的,但所有這三個函數都是POSIX的一部分。由於OS X是POSIX操作系統,它支持所有三種操作系統。請注意,您需要安裝Apple的開發人員工具才能訪問編譯器和相應的標題等,以便構建使用它們的軟件。

+0

OP的'pipe()'原型非常強大。 – caf 2011-06-01 05:30:13

+0

它可能具有相同的最終結果,但許多參考文獻[Apple included](http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/pipe.2.html),使用稍微不同的一個。 – 2011-06-01 05:31:55

+0

聲明'int pipe(int * fd);'和'int pipe(int filedes [2]);'具有相同的語義(從int [2]到'int *從'filedes'更改爲'fd',甚至完全忽略參數名稱)。他們都沒有任何意義上的錯誤。你可以指責OPs存在的最壞情況是非常規的。 – caf 2011-06-01 05:40:03

0

我剛剛參加了操作系統課程,由於該課程圍繞UNIX進行,因此如果您使用的是Windows操作系統,我建議您只是爲了課程而安裝Linux。既然你是在Mac上,它應該不會太差。順便說一下,大多數發行版都有實時版本,所以如果需要的話,您可以啓動Linux進行任務或其他任務。任何流行的發行版都可以。