MacOSX体系结构和命令行

MacOSX体系结构和命令行,c,linux,macos,unix,programming-languages,C,Linux,Macos,Unix,Programming Languages,我在大学里学计算机科学。他们使用Ubuntu教授Unix体系结构,因此他们谈论进程(父/子)、分叉、管道、线程、调度等等。我想买一台新笔记本,我正在考虑Mac OS X。我的问题是关于这个领域: 什么是Mac OS X体系结构 您能使用Unix命令(fork、pipe等)吗 Linux OSs和Mac OS X在这方面有什么不同 我可以直接使用命令行和gcc命令在Mac OS X中用C语言编写吗 什么是Mac OS X体系结构 MacOSX使用的是一种经过修改的混合内核,具有类似FreeBS

我在大学里学计算机科学。他们使用Ubuntu教授Unix体系结构,因此他们谈论进程(父/子)、分叉、管道、线程、调度等等。我想买一台新笔记本,我正在考虑Mac OS X。我的问题是关于这个领域:

  • 什么是Mac OS X体系结构
  • 您能使用Unix命令(fork、pipe等)吗
  • Linux OSs和Mac OS X在这方面有什么不同
  • 我可以直接使用命令行和
    gcc
    命令在Mac OS X中用C语言编写吗
什么是Mac OS X体系结构

MacOSX使用的是一种经过修改的混合内核,具有类似FreeBSD的系统调用接口。现代苹果电脑使用x86处理器,但早期版本的OS X也运行在PowerPC平台上,如早期的PowerMac

您能使用Unix命令(fork、pipe等)吗

Mac OS X通过IEEE 1003.1(POSIX)认证。您可以使用POSIX库函数,如
fork
pipe
open
read
、和
write
,以及POSIX命令行实用程序,如
ls
sh
cd
mkdir
、和
ed

POSIX是包含大量UNIX API的操作系统的行业标准,由包括Microsoft在内的所有主要操作系统供应商实现(但他们故意将POSIX实现搞砸,使其毫无用处)

Linux OSs和Mac OS X在这方面有什么不同

Linux和Mac OS X都是类似UNIX的操作系统。两者与“适当的”UNIX(如Solaris或OpenBSD)有很大的不同,但在为它们编写非GUI软件时,它们仍然感觉非常相似,GUI系统在两者中完全不同(Linux通常使用X窗口系统,在OS X上您将使用Cocoa,尽管X也可用)

我可以直接使用命令行和gcc命令在macosx中用C语言编写吗

对。OSX上的默认编译器是
clang
,如果我没记错的话,
gcc
也可用。在所有POSIX平台上,您都可以使用
cc
c89
c99
命令来移植调用C编译器