1.1 歴史と思想
History and Philosophy
LinuxはUNIXの思想を継承したオープンソースOSである。1991年、Linus Torvaldsがカーネルを公開し、GNU Projectのツール群と結合して発展した。
UNIXからLinuxへ
@startuml
!theme plain
skinparam backgroundColor #FEFEFE
rectangle "1969: UNIX誕生\n(AT&T Bell Labs)" as UNIX #f0f0f0
rectangle "商用UNIX" as Commercial #DBEAFE {
rectangle "System V" as SysV
rectangle "HP-UX, AIX, Solaris" as Vendor
}
rectangle "BSD系" as BSD #D1FAE5 {
rectangle "BSD" as BSDoriginal
rectangle "FreeBSD, OpenBSD" as FreeBSD
}
rectangle "GNU Project\n(1983, Stallman)" as GNU #FEF3C7
rectangle "Linux Kernel\n(1991, Torvalds)" as Kernel #FCE7F3
rectangle "GNU/Linux" as GNULinux #E0E7FF {
rectangle "Debian, Ubuntu" as Debian
rectangle "Red Hat, Fedora" as RedHat
}
UNIX --> Commercial
UNIX --> BSD
GNU --> GNULinux
Kernel --> GNULinux
@enduml
図1: UNIXファミリーの系譜とLinuxの位置づけ
1969年、AT&T Bell研究所でKen ThompsonとDennis RitchieがUNIXを開発した。UNIXは「一つのことをうまくやるツールを組み合わせる」という思想を持つ [1]。
1983年、Richard StallmanはGNU Projectを開始。1991年、Linus TorvaldsがLinuxカーネルを公開し、GNUツール群と結合してGNU/Linuxが誕生した [2]。
UNIX哲学
| 原則 | 内容 |
|---|---|
| 単一責任 | 一つのことをうまくやるプログラムを書け |
| 組み合わせ | プログラムが協調して動くようにせよ |
| テキスト | テキストストリームを共通インターフェースとせよ |
出典
[1] Ritchie, D. M. & Thompson, K. (1974). The UNIX Time-Sharing System. CACM, 17(7).
[2] Torvalds, L. (1991). Free minix-like kernel sources for 386-AT. comp.os.minix.
[2] Torvalds, L. (1991). Free minix-like kernel sources for 386-AT. comp.os.minix.
発展学習
→ Raymond, E. S. (2003). The Art of UNIX Programming.
→ man 7 hier(ファイルシステム階層の説明)
→ Raymond, E. S. (2003). The Art of UNIX Programming.
→ man 7 hier(ファイルシステム階層の説明)