CH K6
-
2011
Quá trình hình thành
và phát trin ca
GNU/Linux
4/14/2012
c: Phương pháp nghiên c
u khoa h
c trong tin h
c
Hướng dn: GS. TSKH. Hoàng Kiếm
Thc hin: Nguyn Hu Vit Long CH1101101
Quá trình hình thành và phát tri
n c
a GNU/Linux
1
Mục lục
I. S ra đời ca Unix ...................................................................................................................... 2
II. Lch s hình thành ca GNU ..................................................................................................... 3
1. Richard Stallman và cộng đồng chia s phn mềm đầu tiên.................................................. 3
2. S sụp đổ ca cộng đồng ......................................................................................................... 4
3. D án GNU .............................................................................................................................. 5
a. Những chương trình đầu tiên .............................................................................................. 5
b. Giy phép GPL ................................................................................................................... 7
c. Qu tài tr phn mm t do FSF ............................................................................................ 8
d. Nhng mc tiêu v công ngh ............................................................................................. 9
e. Danh sách các công vic ca GNU ...................................................................................... 10
f. GNU Library GPL ............................................................................................................... 10
III. H điều hành GNU/Linux ...................................................................................................... 11
1. H điều hành GNU ................................................................................................................. 11
2. Linux và GNU/Linux .............................................................................................................. 11
3. Biến đổi theo hướng chuyên nghip ...................................................................................... 14
a. Vòng quay liên tc ............................................................................................................ 14
b. Linux và nhng thách thc không nh .............................................................................. 16
4. Một vài điều v GNU/Linux .................................................................................................. 16
a. Linux là gì? ...................................................................................................................... 16
b. Linux - cơn ác mộng ca Microsoft ................................................................................... 17
IV. Kết lun.................................................................................................................................. 18
V. Tài liu tham kho .................................................................................................................... 20
Quá trình hình thành và phát tri
n c
a GNU/Linux
2
I. S ra đời ca Unix
Giữa năm 1960, AT&T Bell Laboratories một s trung tâm khác tham gia vào mt d
án nhm to ra mt h điu hành mới được đặt tên là Multics (Multiplexed Information and
Computing Service). Đến năm 1969, chương trình Multics b bãi b đó là mt d án quá
nhiu tham vọng do đó không khả thi. Thm trí nhiu yêu cầu đối vi Multics thời đó đến
nay vẫn chưa có được trên các Unix mi nht.
Nhưng Ken Thompson, Dennis Ritchie, một s đồng nghip của Bell Labs đã không
b cuc. Thay vì xây dng mt h điều hành làm nhiu vic một lúc như Multics, họ quyết định
phát trin mt h điều hành đơn gin ch làm tt mt vic là chạy chương trình (run program).
H điều hành s rt nhiu các công c (tool) nhỏ, đơn gin, gn nh (compact) và ch làm tt
mt công vic. Bng cách kết hp nhiu ng c li vi nhau, h s một chương trình thc
hin mt công vic phc tạp. Đó cũng là cách thức người lp trình viết ra chương trình. Peter
Neumann đặt tên Unix cho h điều hành "đơn giản" này. Vào năm 1973, sử dng ngôn ng C
của Ritchie, Thompson đã viết li toàn b h điều hành Unix đây một thay đi quan trng
ca Unix, nh đó Unix t ch là h điu hành cho mt máy PDP-xx tr thành h điều hành
ca các máy khác vi mt c gng ti thiểu để chuyển đổi. Khong 1977 bn quyn ca UNIX
được gii phóng và h điều hành UNIX tr thành một thương phẩm.
Kiến trúc ca Unix
Quá trình hình thành và phát tri
n c
a GNU/Linux
3
Các lp trình viên ca Bell Labs: Ken Thompson (trái) và Dennis Ritchie (phi)
* Nhn xét: đây ta thấy Ken Thompson, Dennis Ritchie đồng nghiệp đã áp dng mt s
nguyên tc sáng to sau:
Nguyên tc tách khi: tách phn duy nht cn thiết ra khỏi đối tượng. H đã xác định nhng
cái cn thiết phát trin mt h điu hành đơn gin ch làm tt mt công vic là chy
chương trình thay cho d án ban đầu quá nhiu tham vng h đã tạo ra đưc h điu
hành Unix đầu tiên.
Nguyên tc phân nh: Chia đối tượng thành các phần độc lập, làm cho đối tượng tr nên
tháo lắp được. H điều hành ca h s rt nhiu công c nh, đơn gin, gn nh ch
làm tt mt công vic.
Nguyên tc kết hp: Bng cách kết hp nhng công c độc lp vi nhau, h một chương
tnh thc hin mt công vic phc tp.
II. Lch s hình thành ca GNU
1. Richard Stallman và cng đồng chia s phn mm đầu tiên
Trong quyn sách biên kho "Hacker: Những ngườing ca cuc cách mng máy tính"
(1984), nhà báo k cu Steven Levy gi Richard Stallman "người cui ng ca cng đồng
hacker chân chính". Gp lại Stallman đầu năm 2010, Levy nhn thấy Stallman ngày càng cô độc
hơn trong thế gii hiện đại xa l vi lý tưởng sng ca ông.
Nhng hacker mà Levy nhắc đến thuc v cộng đồng nhng chuyên viên máy tính
thi k hình thành mng Internet và h điều hành Unix trong hai thp niên 1960 và 1970, nhng
Quá trình hình thành và phát tri
n c
a GNU/Linux
4
người đam phân giải h thng máy tính phc tp to ra nhng chức năng mới, biến điu
không th thành th. Hacker rất ghét hành động "giu ngh", xem s chia s ngun phn
mềm để hc hi ln nhau nguyên tắc đạo đức cơ bản ca cng đồng. Hacker rt ghét s phân
biệt đối s da vào bng cp hoc chc v, chng li vic ban quyền ưu tiên sử dng h thng
máy tính cho mt s người "b trên", xem s bình đng trong vic s dng h thng máy tính là
mt phn ca nhân quyền. Điu này th khó hiểu đối vi thế h ln lên sau thi k bùng n
máy tínhnhân.
Trong thp niên 1980, gii truyn thông tùy tin dùng t hacker để ch nhng k "b
khóa" (cracker), xâm nhp bt hp pháp các h thống máy tính để đánh cắp thông tin hoc ch
đơn thuần tha mãn s thích bnh hon. Hacker chân chính luôn ng tên tht, k c khi
hiu hóa nhng biện pháp an ninh để chứng minh nhược đim ca h thng hoặc để khẳng đnh
quyn t do ca nh. Hacker luôn khinh mit cracker. Thế nhưng ngày nay nghĩa gốc ca t
hacker đã tr thành nghĩa hiếm.
Khi Stallman bắt đầu làm vic ti phòng t nghim Trí tu nhân to (AI Lab) ca hc
viện MIT năm 1971, ông bắt đầu tr thành mt thành viên ca cng đồng chia s phn mềm đã
tn ti mấy năm trước đó. Sự chia s phn mm không ch gii hn trong cng đồng đặc bit
ca h, bt c khi nào người một trường đại hc hoc mt công ty khác mun chuyn
hoc s dng một chương trình, h đều vui v cho phép. Nếu bn thấy ai đó sử dng mt
chương trình l hay tv, bạn đều th hi xem ngun ca nó, thế bn th đọc
nó, thay đổi nó, hoc m x mt phn của nó đ làm n mt chương trình mi.
* Nhn xét: Nhng lp trình viên đầu tiên cùng cng đồng đã áp dng các nguyên tc
chia s, nguyên tc sao chép đ chia s nhng phn mm do h làm ra để cùng nhau h hi,
trao đi kinh nghiệm đ cùng nhau phát trin.
2. S sụp đ ca cộng đng
Tình hình thay đổi mt cách mnh m vào những năm đầu thp k 80, khi ngành ng
nghip máy tính hình thành phát trin mnh m. Các ng ty ng ngh ra đời hàng lot,
cùng với đó là những lut l v s bn quyn hu trí tu ra đời.
Nhng chiếc máy tính ca thời đại mi, như VAX hoặc 68020, đu h điu hành
cho chính, nhưng không cái nào là phần mm t do c: bn buc phi kí mt hp đồng để
mt bn copy s dụng đưc. Ch ca nhng phn mềm đăng kí độc quyền đã to ra lut l
là: "Nếu bn chia s nó cho ng m, bn người vi phm bn quyn. Nếu bn mun bt kì
một thay đổi nào, hãyi vi chúng tôi."
Cộng đồng hacker ca phòng thí nghim Trí tu nhân to cũng sụp đổ, trước đó không
lâu. Vào năm 1981, the spin_off company Symbolics đã thuê gn hết các hacker ca phòng thí
nghim, và cng đồng thưa thớt dần đã không th tn tại lâu hơn. Trong hoàn cảnh đó, Stallman
đặt ra 3 la chn cho mình:
- La chn d dàng tham gia vào thế gii phn mềm độc quyn, kí nhng hợp đồng
ông cho không ràng ha s không giúp đ chiến hu ca ông. Rt kh năng
ông s phát trin nhng phn mm bán theo nhng hp đồng và kiếm đưc nhiu tin.
- Mt s la chn khác ri b lĩnh vực máy tính. Theo cách đó tài năng ca ông s