linux的SystemV和BSD风格的区别

本文探讨了Unix操作系统两大主流风格:SystemV和BSD的区别,包括它们的历史背景、代表系统、操作特性及对现代操作系统的贡献,如Solaris和FreeBSD。同时,文章分析了Linux作为UnixLike系统,如何融合了这两种风格的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前,Unix操作系统不管其内核如何,其操作风格上主要分为SystemV(目前一般采用其第4个版本SVR4)和BSD两种。其代表操作系统本别是Solaris和FreeBSD。当然,在SunOS4(Solaris1.x)之前,Solaris采用了BSD的风格,而2.x之后,Solaris投奔了SystemV阵营,不得不说是一个叛逆。

SystemV的鼻祖正是1969年AT&T开发的Unix,随着1993年Novell收购AT&T后开放了Unix的商标,SystemV的风格也逐渐成为Unix厂商的标准。BSD的鼻祖是加州大学伯克利分校在1975年开发的BSDUnix,后被开源组织发展为现在众多的*BSD操作系统。

它们之间的区别主要为:

 Sytem VBSD
Root脚本位置/etc/init.d/etc/rc.d
默认ShellBshellCshell
文件系统数据/etc/mnttab/etc/mtab
内核位置/UNIX/vmUnix
打印机设备lprlp
字符串函数memcopybcopy
终端初始化设置文件/etc/initab/etc/ttys
终端控制termiotermios

这里需要说明的是:Linux不能称为"标准的Unix“而只被称为"Unix Like"原因有一部分就是来自它的操作风格介乎两者之间,而且不同的厂商为了照顾不同的用户,各linux发行版本的操作风格之间也有不小的出入。

BSDBerkeleySoftware Distribution,伯克利软件套件)是Unix的衍生系统,1970年代伯克利加州大学(UniversityofCalifornia, Berkeley)开创。BSD用来代表由此派生出的各种套件集合。

BSD 常被当作工作站级别的Unix系统,这得归功于BSD 使用授权非常地宽松,许多1980年代成立的计算机公司,不少都从BSD 中获益,比较著名的例子如DECUltrix,以及Sun公司SunOS1990年代BSD 很大程度上被SystemV 4.x版以及OSF/1系统所取代,但其开源版本被采用,促进了因特网的开发。

 

 

System V, 曾经也被称为AT&T SystemV,是Unix操作系统众多版本中的一支。它最初由AT&T开发,在1983年第一次发布。一共发行了4个SystemV的主要版本:版本1、2、3和4。System V Release4,或者称为SVR4,是最成功的版本,成为一些UNIX共同特性的源头,例如”SysV 初始化脚本“(/etc/init.d),用来控制系统启动和关闭,SystemV Interface Definition (SVID)是一个SystemV如何工作的标准定义。

AT&T出售运行SystemV的专有硬件,但许多(或许是大多数)客户在其上运行一个转售的版本,这个版本基于AT&T的实现说明。流行的SysV派生版本包括DellSVR4和Bull SVR4。当今广泛使用的System V版本是SCO OpenServer,基于SystemV Release 3,以及SUN Solaris和SCO UnixWare,都基于SystemV Release 4。

SystemV是AT&T的第一个商业UNIX版本(UNIXSystem III)的加强。传统上,System V被看作是两种UNIX"风味"之一(另一个是BSD)。然而,随着一些并不基于这两者代码的UNIX实现的出现,例如LinuxQNX,这一归纳不再准确,但不论如何,像POSIX这样的标准化努力一直在试图减少各种实现之间的不同。


linux或unix有两种方式的启动模式:System V和BSD 

最大的不同就是:System V能够为不同的运行级别定义启动哪些服务,比如: 
    # 0 - 停机(千万不要把initdefault设置为0 ) 
  # 1 - 单用户模式 
  # 2 - 多用户,但是没有NFS 
  # 3 - 完全多用户模式(无界面的黑框框) 
  # 4 - 没有用到 
  # 5 - X11(图形界面) 
  # 6 - 重新启动(千万不要把initdefault设置为6 ) 
    采用System V的启动模式,可以灵活的定义在 3 的运行级别下开机启动 FTP 服务,而在 5 的运行级别下开机不启动 FTP 服务。 
    采用BSD没有运行级别的概念。 


启动脚本的不同: 

BSD启动方式:在/etc/rc.d和/usr/local/etc/rc.d中存放启动服务的脚本,在/etc/rc.conf中设置xxx_enable="YES"或xxx_enable="NO"随系统启动启动或关闭服务,该文件是/etc/defaults/rc.conf的一个子集。BSD启动方式没有运行级别,简单,但缺乏多样性。 


System V启动方式:也就是linux采用的启动方式,启动服务的脚本放在/etc/rc.d/init.d下面,你能够在/etc/rc.d目录下面看到很多类似 rc0.d或rc2.d这样的目录,这就是为每个不同的运行级别定义启动哪些服务的目录,数字0 1 2就代表运行级别,进入这些目录,能看到很多链接文件,以S或K开头的这样文件分别表示在当前运行级别下是否开启这个服务,这些文件分别链接到/etc/rc.d/init.d/下面的很多可执行文件。 

需要注意的是:在一些System V启动模式的操作系统上(如 RedHat9),除了有/etc/rc.d/init.d/这个目录,还有/etc/init.d/这个目录,其实 ls -l 一下可以看到,/etc/init.d/这个目录 本来就是链接到/etc/rc.d/init.d/的一个链接目录。 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值