Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
3,6 MB
Nội dung
CH K6 - 2011 Quá trình hình thành phát triển GNU/Linux Môn học: Phương pháp nghiên cứu khoa học tin học Hướng dẫn: GS TSKH Hoàng Kiếm Thực hiện: Nguyễn Hữu Việt Long CH1101101 4/14/2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Mục lục I Sự đời Unix II Lịch sử hình thành GNU Richard Stallman cộng đồng chia sẻ phần mềm Sự sụp đổ cộng đồng Dự án GNU a Những chương trình b Giấy phép GPL c Quỹ tài trợ phần mềm tự FSF d Những mục tiêu công nghệ e Danh sách công việc GNU 10 f GNU Library GPL 10 III Hệ điều hành GNU/Linux 11 Hệ điều hành GNU 11 Linux GNU/Linux 11 Biến đổi theo hướng chuyên nghiệp 14 a Vòng quay liên tục 14 b Linux thách thức không nhỏ 16 Một vài điều GNU/Linux 16 a Linux gì? 16 b Linux - ác mộng Microsoft 17 IV Kết luận 18 V Tài liệu tham khảo 20 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux I Sự đời Unix Giữa năm 1960, AT&T Bell Laboratories số trung tâm khác tham gia vào dự án nhằm tạo hệ điều hành đặt tên Multics (Multiplexed Information and Computing Service) Đến năm 1969, chương trình Multics bị bãi bỏ dự án q nhiều tham vọng khơng khả thi Thậm trí nhiều yêu cầu Multics thời đến chưa có Unix Nhưng Ken Thompson, Dennis Ritchie, số đồng nghiệp Bell Labs không bỏ Thay xây dựng hệ điều hành làm nhiều việc lúc Multics, họ định phát triển hệ điều hành đơn giản làm tốt việc chạy chương trình (run program) Hệ điều hành có nhiều cơng cụ (tool) nhỏ, đơn giản, gọn nhẹ (compact) làm tốt công việc Bằng cách kết hợp nhiều công cụ lại với nhau, họ có chương trình thực cơng việc phức tạp Đó cách thức người lập trình viết chương trình Peter Neumann đặt tên Unix cho hệ điều hành "đơn giản" Vào năm 1973, sử dụng ngôn ngữ C Ritchie, Thompson viết lại toàn hệ điều hành Unix thay đổi quan trọng Unix, nhờ Unix từ chỗ hệ điều hành cho máy PDP-xx trở thành hệ điều hành máy khác với cố gắng tối thiểu để chuyển đổi Khoảng 1977 quyền UNIX giải phóng hệ điều hành UNIX trở thành thương phẩm Kiến trúc Unix LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Các lập trình viên Bell Labs: Ken Thompson (trái) Dennis Ritchie (phải) * Nhận xét: Ở ta thấy Ken Thompson, Dennis Ritchie đồng nghiệp áp dụng số nguyên tắc sáng tạo sau: Nguyên tắc tách khỏi: tách phần cần thiết khỏi đối tượng Họ xác định cần thiết phát triển hệ điều hành đơn giản làm tốt cơng việc chạy chương trình thay cho dự án ban đầu nhiều tham vọng họ tạo hệ điều hành Unix Nguyên tắc phân nhỏ: Chia đối tượng thành phần độc lập, làm cho đối tượng trở nên tháo lắp Hệ điều hành họ có nhiều cơng cụ nhỏ, đơn giản, gọn nhẹ làm tốt công việc Nguyên tắc kết hợp: Bằng cách kết hợp công cụ độc lập với nhau, họ có chương trình thực cơng việc phức tạp II Lịch sử hình thành GNU Richard Stallman cộng đồng chia sẻ phần mềm Trong sách biên khảo "Hacker: Những người hùng cách mạng máy tính" (1984), nhà báo kỳ cựu Steven Levy gọi Richard Stallman "người cuối cộng đồng hacker chân chính" Gặp lại Stallman đầu năm 2010, Levy nhận thấy Stallman ngày cô độc giới đại xa lạ với lý tưởng sống ông Những hacker mà Levy nhắc đến thuộc cộng đồng chuyên viên máy tính thời kỳ hình thành mạng Internet hệ điều hành Unix hai thập niên 1960 1970, LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux người đam mê phân giải hệ thống máy tính phức tạp tạo chức mới, biến điều khơng thể thành Hacker ghét hành động "giấu nghề", xem chia sẻ mã nguồn phần mềm để học hỏi lẫn nguyên tắc đạo đức cộng đồng Hacker ghét phân biệt đối sử dựa vào cấp chức vụ, chống lại việc ban quyền ưu tiên sử dụng hệ thống máy tính cho số người "bề trên", xem bình đẳng việc sử dụng hệ thống máy tính phần nhân quyền Điều khó hiểu hệ lớn lên sau thời kỳ bùng nổ máy tính cá nhân Trong thập niên 1980, giới truyền thông tùy tiện dùng từ hacker để kẻ "bẻ khóa" (cracker), xâm nhập bất hợp pháp hệ thống máy tính để đánh cắp thơng tin đơn thỏa mãn sở thích bệnh hoạn Hacker chân ln dùng tên thật, kể vơ hiệu hóa biện pháp an ninh để chứng minh nhược điểm hệ thống để khẳng định quyền tự Hacker ln khinh miệt cracker Thế ngày nghĩa gốc từ hacker trở thành nghĩa Khi Stallman bắt đầu làm việc phịng thí nghiệm Trí tuệ nhân tạo (AI Lab) học viện MIT năm 1971, ông bắt đầu trở thành thành viên cộng đồng chia sẻ phần mềm tồn năm trước Sự chia sẻ phần mềm không giới hạn cộng đồng đặc biệt họ, có người trường đại học công ty khác muốn chuyển sử dụng chương trình, họ vui vẻ cho phép Nếu bạn thấy sử dụng chương trình lạ hay thú vị, bạn hỏi xem mã nguồn nó, bạn đọc nó, thay đổi nó, mổ xẻ phần để làm nên chương trình * Nhận xét: Những lập trình viên cộng đồng áp dụng nguyên tắc chia sẻ, nguyên tắc chép để chia sẻ phần mềm họ làm để họ hỏi, trao đổi kinh nghiệm để phát triển Sự sụp đổ cộng đồng Tình hình thay đổi cách mạnh mẽ vào năm đầu thập kỉ 80, ngành công nghiệp máy tính hình thành phát triển mạnh mẽ Các công ty công nghệ đời hàng loạt, với luật lệ sở quyền hữu trí tuệ đời Những máy tính thời đại mới, VAX 68020, có hệ điều hành cho nó, khơng phần mềm tự cả: bạn buộc phải kí hợp đồng để có copy sử dụng Chủ phần mềm có đăng kí độc quyền tạo luật lệ là: "Nếu bạn chia sẻ cho hàng xóm, bạn người vi phạm quyền Nếu bạn muốn thay đổi nào, nói với chúng tơi." Cộng đồng hacker phịng thí nghiệm Trí tuệ nhân tạo sụp đổ, trước khơng lâu Vào năm 1981, the spin_off company Symbolics th gần hết hacker phịng thí nghiệm, cộng đồng thưa thớt dần tồn lâu Trong hồn cảnh đó, Stallman đặt lựa chọn cho mình: - Lựa chọn dễ dàng tham gia vào giới phần mềm độc quyền, kí hợp đồng mà ơng cho khơng rõ ràng hứa không giúp đỡ chiến hữu ông Rất có khả ông phát triển phần mềm bán theo hợp đồng kiếm nhiều tiền - Một lựa chọn khác rời bỏ lĩnh vực máy tính Theo cách tài ông LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux không bị lạm dụng bị lãng phí - Lựa chọn thứ ơng viết hay vài chương trình để làm cho cộng đồng chia sẻ phần mềm sống lại lần Và lựa chọn Stallman, lựa chọn theo lương tâm ông * Nhận xét: Stallman áp dụng nguyên tắc linh động: thay đổi đặc trưng mơi trường bên ngồi cho tối ưu giai đoạn làm việc Ông thay đổi mơi trường làm việc mình, bỏ việc MIT sáng lập dự án GNU để thực mong ước làm cho cộng đồng chia sẻ phần mềm sống lại lần Dự án GNU Vào tháng năm 1984, Stallman định bỏ việc MIT sáng lập dự án GNU vào năm 1984, với mục đích phát triển hệ điều hành máy tính miễn phí GNU, tên GNU chọn theo truyền thống hacker, viết tắt đệ qui "GNU's Not Unix" (GNU không Unix) Bằng cách ông tặng cho người dùng máy tính tự mà họ chưa có trước a Những chương trình Stallman bắt đầu làm GNU Emacs vào tháng năm 1984, vào đầu năm 1985 bắt đầu sử dụng Điều cho phép ông sử dụng hệ điều hành Unix để soạn thảo, không hứng thú với việc dùng Vi hay Ed, ông tự soạn thảo loại máy khác Kiến trúc Emacs Không lâu trước bắt đầu dự án GNU, Stallman có nghe dịch tự cho trường đại học (Free University Compiler Kit), gọi VUCK (từ "tự do" tiếng Hà Lan LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux bắt đầu chữ V) Đây trình biên dịch thiết kế để xử lí nhiều ngơn ngữ, gồm C Pascal, để cung cấp cho máy đa mục đích Stallman đề nghị tác giả cho GNU sử dụng ơng ta đáp lại cách chế giễu, tuyên bố trường đại học tự GNU khơng Vì Stallman định chương trình cho dự án GNU trình biên dịch đa tầng đa ngôn ngữ Hi vọng tránh việc tự viết tồn chương trình dịch, Stallman sử dụng mã nguồn cho trình dịch Pastel, trình dịch đa tầng phát triển phòng nghiên cứu Lawrence Livermore Nó cung cấp, viết bằng, phiên mở rộng Pascal, thiết kế để trở thành ngơn ngữ lập trình hệ thống Stallman định thêm vào phần giao diện ngơn ngữ C, bắt đầu lập trình cho máy tính Motorola 68000 Nhưng ơng phải từ bỏ tơi nhận trình biên dịchđó cần nhiều MB khơng gian ngăn xếp, hệ điều hành Unix 68000 chấp nhận 64K Sau Stallman thấy trình dịch Pastel hoạt động cách phân tích tồn đầu vào thành cú pháp, chuyển toàn cú pháp vào mắt xích dẫn, sau tổng hợp tồn đầu ra, khơng giải phóng nhớ Từ đó, ơng định viết trình biên dịch từ đống hỗn tạp Trình biên dịch biết đến với tên gọi GCC, khơng sử dụng tẹo từ trình dịch Pastel cả, ơng cố gắng để tương thích sử dụng giao diện C mà ơng viết Kiến trúc GCC * Nhận xét: Trong trình viết chương trình đầu tiên, Stallman sử dụng nguyên tắc sáng tạo sau: Nguyên tắc thực sơ bộ: Thực trước thay đổi, tác động cần có, hồn tồn phần đối tượng Stallman chọn viết Emacs trình biên dịch GCC cơng cụ lập trình thiết yếu, làm tiền đề xây dựng nên phần mềm GNU sau Nguyên tắc sử dụng trung gian: Tạm thời gắn đối tượng cho trước với đối tượng khác, LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux dễ tách rời sau Để tránh việc tự viết tồn chương trình dịch, Stallman sử dụng mã nguồn cho trình biện dịch Pastel, thêm phần giao diện ngôn ngữ C Sau nhận thấy Pastel khơng thích hợp, ơng tự viết lại trình biên dịch khác tận dụng lại phần giao diện viết trước Nguyên tắc tự phục vụ: đối tượng phải tự phục vụ cách thực thao tác (hoạt động) phụ trợ, sửa chữa Khi bị từ chối cho sử dụng VUCK, Stallman tìm đến Pastel chưa hồn chỉnh viết thêm vài bổ sung để sử dụng Sau thấy Pastel khơng thích hợp, ơng tự viết lại trình biên dịch thỏa mãn yêu cầu mình, GCC b Giấy phép GPL Mục tiêu cuối GNU mang lại quyền tự cho người dùng, để tiếng, cần sử dụng điều khoản phân phối ngăn chặn phần mềm GNU bị biến thành phần mềm độc quyền, giấy phép GPL (GNU Public Lisence) đời Vào năm 1984 hay 1985, Don Hopkins (một anh chàng giàu sức tưởng tượng) gửi cho Stallman thư Trên phong bì, viết vài câu thú vi, bao gồm câu này: "Copyleft all rights reversed" Stallman sử dụng từ copyleft để đặt tên cho phạm trù phân phối mà ơng phát triển vào thời gian Copyleft dùng luật quyền (Copyright), đảo lại để phục vụ cho mục đích đối lập với mục đích thơng thường nó: Thay nghĩa cá nhân hóa phần mềm, mang nghĩa giữ cho phần mềm tự Ý tưởng trung tâm luật copyleft cho người quyền chạy, copy, sửa chữa chương trình phân phối phiên sửa đổi - khơng cho phép thêm hạn chế Vì thế, quyền tự chủ yếu phần mềm tự đảm bảo cho tất có copy, chúng trở thành quyền lợi chuyển nhượng Định nghĩa phần mềm tự theo quan điểm Stallman: Bạn có quyền chạy chương trình với mục đích Bạn có quyền sửa chữa chương trình cho phù hợp với nhu cầu bạn (Để làm cho chương trình hữu ích thực tế, bạn phải truy cập mã nguồn, việc thay đổi chương trình mà khơng có mã nguồn khó khăn) Bạn có quyền tự phân phối lại copy, dù miễn phí hay phải trả tiền Bạn có quyền phân phối sửa chữa chương trình, để cộng đồng lợi từ nâng cấp bạn * Nhận xét: Ở ta thấy Stallman soạn thảo giấy phép GPL dựa theo nguyên tắc đảo ngược: Lật ngược đối tượng, lộn trái đối tượng Các luật GPL dựa luật quyền truyền thống tất bị đảo ngược copyright all rights reserved > < copyleft all rights reversed LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux c Quỹ tài trợ phần mềm tự FSF Khi nhu cầu dùng Emacs tăng lên, người trở nên quan tâm đến dự án khác GNU, Stallman định đến lúc phải tìm kiếm tài trợ Vì vào năm 1985 họ xây dựng nên quỹ tài trợ phần mềm tự (FSF - Free Software Foundation), tổ chức miễn thuế hỗ trợ phát triển phần mềm tự Quỹ FSF tiếp quản việc kinh doanh phân phối băng từ Emacs, sau mở rộng cách thêm phần mềm tự khác (cả GNU GNU) vào băng từ, bán sách hướng dẫn sử dụng tự Quỹ FSF chấp nhận quà tặng, hầu hết thu nhập từ việc bán copy phần mềm tự do, dịch vụ liên quan Ngày bán đĩa CD mã nguồn, đĩa CD dạng nhị phân, sách in hướng dẫn xinh xinh (tất có quyền tự phân phối sửa lại), phân phối hạng sang (nơi họ xây dựng tập hợp phần mềm để bạn lựa chọn công nghệ sở cho máy tính) Nhân viên FSF viết bảo trì số lượng lớn chương trình phần mềm GNU Hai phần mềm trứ danh thư viện C trình tiện ích Thư viện C GNU thư viện mà chương trình chạy hệ điều hành GNU/Linux dùng để truyền thông với Linux Nó phát triển cán FSF, Ronald McGrath Trình tiện ích dùng hầu hết hệ điều hành GNU/Linux Bash (Bourne Again Shell), thiết kế nhân viên FSF Brian Fox Stallman nhân viên FSF Bán copy Emacs loại hình kinh doanh phần mềm tự Khi FSF tiếp quản công việc này, Stallman cần cách khác để kiếm sống Ơng tìm thấy việc bán dịch vụ liên quan đến phần mềm phát triển Việc bao gồm dạy LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux chủ đề sử dụng GNU Emacs hay tùy chỉnh GCC sao, phát triển phần mềm, tương thích GCC với tầng Ngày loại kinh doanh phần mềm tự nhiều tập đoàn thực Một số phân phối tập hợp phần mềm tự đĩa CD, số khác bán phần hỗ trợ theo yêu cầu khách hàng, sửa lỗi, hay thêm chức quan trọng Thậm chí họ bắt đầu thấy số công ty chuyên giới thiệu sản phẩm Mạng lưới hoạt động FSF * Nhận xét: Các nguyên tắc sáng tạo áp dụng là: Nguyên tắc quan hệ phản hồi: Thiết lập quan hệ phản hồi Khi người dùng có nhu cầu sử dụng phần mềm GNU mà điều kiện truy cập internet muốn muốn tập hợp đầy đủ chương trình kem hướng dẫn đóng gói sẵn FSF cung cấp lấy tiền cơng vận chuyển đóng gói phần mềm Từ tạo mơ hình kinh doanh phần mềm tự Nguyên tắc “rẻ” thay cho “đắt”: Thay đối tượng đắt tiền sản phẩm rẻ Đối tượng phần mềm tự do, khơng có nghĩa chất lượng mà thua thiệt phần mềm thương mại chỗ đời sau thường có giao diện khơng hào nhống (tuy nhiên chấp nhận được) Rẻ phần mềm khơng tính phí quyền mà tính phí dịch vụ Bằng cách đó, phần mềm tự đến vơi nhiều người sử dụng d Những mục tiêu công nghệ Mục tiêu GNU trở thành phần mềm tự Cho dù GNU khơng ưu việt cơng nghệ Unix, có lợi ích mặt xã hội, cho phép người dùng hợp tác, lợi ích mặt đạo đức, tôn trọng quyền tự người dùng Nhưng việc áp dụng tiêu chuẩn phổ biến thực tiễn vào sản phẩm tự nhiên, ví dụ như, phân loại cấu trúc liệu để tránh hạn chế kích cỡ định sẵn phát sinh bất ngờ, xử lí tất mã bit LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux chỗ dễ hiểu Thêm vào đó, họ chống lại mục tiêu thu nhỏ kích cỡ nhớ Unix, định ngừng cung cấp máy tính 16 bit (hiển nhiên máy tính 32 bit tiêu chuẩn hệ điều hành GNU hồn thành), khơng cố giảm khơng gian dùng nhớ trừ vượt MB Trong chương trình khơng địi hỏi xử lí file cực lớn, họ khuyến khích lập trình viên đọc tồn đầu vào vào lõi, sau quét nội dung mà khơng cần lo lắng vấn đề vào/ra Những định làm cho chương trình GNU vượt trội hẳn chương trình tương đương Unix mặt tin cậy tốc độ e Danh sách công việc GNU Khi dự án tiến hành, số lượng thành phần hệ điều hành phát minh hay phát triển ngày tăng, cuối đến lúc làm danh sách thiếu hụt cịn lại việc có ý nghĩa GNU sử dụng để tuyển chuyên viên thiết kế viết phần thiếu Danh sách biết với tên Danh sách công việc GNU Để bổ sung phần mà GNU thiếu, họ liệt kê thêm nhiều phần mềm hữu dụng dự án tham khảo khác, mà họ nghĩ rằng, hệ điều hành thứ thiệt nên có Ngày nay, có phần Unix cịn sót lại danh sach công việc GNU, việc hồn thành xong, trừ số thứ khơng cần thiết Nhưng danh sách đầy dự án mà người ta gọi trình ứng dụng Bất kì chương trình hấp dẫn lớp người dùng hạn hẹp thứ hữu ích để thêm vào hệ điều hành Thậm chí game liệt vào danh sách liệt vào từ bắt đầu Unix có game, nên đương nhiên GNU nên có Nhưng tương thích khơng phải vấn đề game, GNU khơng theo danh sách game Unix Thay vào đó, họ liệt kê dãy loại game khác mà người dùng thích f GNU Library GPL Thư viện C GNU dùng loại copyleft đặc biệt gọi GNU Library General Public License, cho phép liên kết phần mềm độc quyền với thư viện Sử dụng LGPL cho thư viện C, hay cho thư viện khác, vấn đề chiến lược GNU * Nhận xét: Các nguyên tắc sáng tạo áp dụng chung phần là: Nguyên tắc vạn năng: Đối tượng thực chức khác nhau, khơng cần tham gia đối tượng khác Các dự án GNU tạo nhiều phần mềm với chức khác nhau, bổ sung khiếm khuyết so với phần mềm thương mại có trước, ta hồn tồn sử dụng phần mềm tự mà khơng cần đến phần mềm thương mại Thư viện C GNU cho phép liên kết phần mềm độc quyền với thư viện này, nhờ làm cho đa Nguyên tắc liên tục tác động có ích: Thực cơng việc cách liên tục (các phần đối tượng làm việc chế độ đủ tải) GNU hoạt động liên tục không ngừng bỏ qua xu hướng không cần thiết (thu nhỏ kích thước nhớ Unix) 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux nên chương trình GNU vượt trội chương trình tương đương Unix mặt tin cậy tốc độ III Hệ điều hành GNU/Linux Hệ điều hành GNU Vào năm 1990, hệ điều hành GNU gần hồn thành, thành phần thiếu nhân Những người thiết kế định thực nhân tập hợp trình server chạy Mach Mach nhân siêu nhỏ phát triển đại học Carnegie Mellon sau trường đại học Utah GNU Hurd tập hợp server (hay "herb of gnus") chạy Mach, làm nhiều việc nhân Unix Thời gian bắt đầu dự án bị hỗn lại họ chờ Mach phát hành phần mềm tự do, giống hứa Nhưng Hurd chưa sẵn sàng cho việc đem sử dụng Kiến trúc hệ thống gnu hurd mach Linux GNU/Linux Năm 1985, vị giáo sư tên Andy Tanenbaum viết hệ điều hành tựa Unix dựa System V standards POSIX IEEE cho tảng Intel i386 Ông ta đặt tên cho Minix Minix sử dụng để phục vụ công việc giảng dạy môn hệ điều hành 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Năm 1990, Linus Torvalds, chàng sinh viên năm trường đại học Helsinki, Phần Lan cảm thấy thất vọng với hệ điều hành MS-DOS, tiếp xúc với nhân Minix Linus muốn nâng cấp Minix cách thêm vào nhiều chức cải tiến anh bị ngăn cấm giáo sư Tanenbaum Sau Linus định tự viết lại từ đầu nhân dựa Minix khơng dùng mã nguồn Torvalds dành trọn mùa xuân mùa hè năm 1991 để thực ý tưởng Gần tự lập mình, chí chẳng buồn mở cửa phòng riêng Theo tự thuật Torvalds, anh “bị” khỏi “ổ” vào tối thứ tư hàng tuần để tới quán bả gần nhà, vừa uống bia, vừa tán chuyện lập trình với thành viên câu lạc máy tính đại học Ngày 17-9-1991, Torvalds gửi email thơng báo với người đưa lên mạng đại học Helsinki phiên nhân có tên Linux anh tự viết mời người tải dùng thử mà khỏi cần bận tâm phí Và vậy, hàng ngàn đóng góp, phát lỗi từ cộng đồng giới gửi tới để hoàn thiện hệ điều hành Sau Linux tương đối hoàn chỉnh với version đầu tiên, Stallman thuyết phục Torvalds đặt sản phẩm điều khoản GPL để đảm bảo sản phẩm free cho tất người Khoảng năm 1992, cách phối hợp Linux với hệ điều hành GNU (lúc chưa hồn chỉnh) tạo nên hệ điều hành tự hoàn thiện Tất nhiên, thân việc phối hợp chúng việc đáng kể Nhờ Linux mà ngày thực chạy phiên hệ điều hành GNU Họ gọi phiên GNU/Linux, để nói cấu tạo tổ hợp hệ điều hành GNU với nhân Linux 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Linus Torvalds Torvalds nói: “Tơi tặng Linux ích kỷ Khơng muốn phải nhức đầu phần khác hệ điều hành Tôi cần giúp đỡ” Anh nghĩ đến chuyện thu tiền sản phẩm mà anh xem dang dở, Linux cần giúp sức người khác Vài tháng sau giới thiệu Linux, Torvalds nhận email hỏi thăm anh thêm tính nén để Linux chạy máy tính có nhớ nhỏ khơng Tuy khơng cần tính anh giành trọn ngày Giáng sinh năm để “bóp” Linux lại đưa lên mạng Phiên hàng trăm người tải dùng thử Torvalds liên tục nhận vô số email từ nhiều người không quen biết đề nghị sửa lỗi hay bổ sung tính để tăng giá trị sử dụng Linux Thành công khiến Torvalds thay đổi ý định bắt Linux phải cho khơng Thay vào đó, người có quyền bán sản phẩm dựa Linux, miễn tiếp tục chia sẻ mã nguồn tính thêm vào Điều dẫn đến đời công ty Red Hat (1993) tạo thêm động lực kinh doanh cộng đồng nhà lập trình góp sức hồn thiện Linux Ngày nay, sau trải qua thời gian dài phát triển hoàn thiện cộng đồng khắp giới, Linux trở nên mạnh mẽ, ổn định độ tin cậy cao, tin dùng quan phủ nước, quốc gia Trung Quốc, Nhật Bản Nga có kế hoạch phát triển riêng Linux cho nước họ Đi với Linux cịn có nhiều phần mềm tự bổ sung để Linux đáp ứng tất nhu cầu lĩnh vực, với cương lĩnh: “Làm điều bạn muốn để cải tiến sản phẩm, bán hay không tùy bạn, chia sẻ dòng mã nguồn” 13 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Các phiên unix linux Biến đổi theo hướng chuyên nghiệp Ngày nay, câu chuyện hoàn toàn mang tính chất lịch sử Từ nhóm giới biết đến, vài năm gần đây, cộng đồng lập trình viên Linux trở nên phát triển, tổ chức tốt hiệu nhiều Torvalds có đội ngũ chuyên gia, đa phần công ty công nghệ trọng dụng cho việc giám sát phát triển dự án có mức độ ưu tiên hàng đầu Các tập đoàn khổng lồ IBM, HP Intel ủng hộ Torvalds với tập trung công nghệ, chế marketing hiệu hàng ngàn lập trình viên chuyên nghiệp Riêng IBM có 600 lập trình viên dành riêng cho Linux, chí cịn lập hẳn ban lãnh đạo cho mục đích ưu tiên phát triển Linux Tất điều tạo Linux mạnh a Vịng quay liên tục Q trình phát triển Linux bắt đầu kết thúc với lập trình viên Một số người viết đoạn mã, số người khác gọi “bảo dưỡng viên” có trách nhiệm hồn thiện đoạn mã Đó vong quay liên tục Các cá nhân đưa đoạn mã, bảo dưỡng viên chỉnh sửa chúng Sau đoạn mã gửi tới Torvalds Morton, người có nhiệm vụ duyệt chúng, yêu cầu cải tiến cuối nâng cấp nhân Cứ hàng 4-6 tuần, Torvalds công bố phiên thử nghiệm dành cho hàng ngàn người khắp giwois dùng thử, nhận xét tìm kiếm lỗi Và Torvalds tung cập nhật tổng thể ba năm lần Khơng có giới hạn cho việc phát triển này, nhân Linux hoàn thành Torvalds định hồn thiện 14 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Linux Inc mơ hình gồm vòng tròn đồng tâm xoay quanh Torvalds Vòng phong thí nghiệm mã nguồn mở OSDL, cơng ty cơng nghệ liên quan đến Linux, có HP, IBM Intel có người tham gia ban giám đốc Ban lãnh đạo đưa định hướng ưu tiên, xây dựng quỹ ngân sách 10 triêu USD để bảo vệ khách hàng trước vấn đề nảy sinh Các lập trình viên OSDL Vịng tròn thứ hàng chục nhà phân phối Linux Đi đầu Red Hat, Novell, Canonical, Gàng năm, công ty chọn phiên nhân đóng gói với 1000 ứng dụng mã nguồn mở bao gồm giao diện đồ họa người dùng Gnome, KDE, trình duyệt Firefox ứng dụng văn phòng OpenOffice Các nhà cung cấp chay đua để đưa sản phẩm tốt nhất, kỹ sư họ lại dành phần lớn thời gian cho dự án mà họ phối hợp với người khác 15 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Các phân phối Linux tiếng Trên thực tế, Linux Inc lên mơ hình mới, cách thức phối hợp theo cách tạo nên hệ sinh thái phát triển phần mềm Điểm mấu chốt nằm hiệu cộng đồng mã nguồn mở: “Cho ít, anh nhận lại nhiều” Khi thành trào lưu, thực đe dọa thống trị công ty Microsoft b Linux thách thức không nhỏ Linux trở thành hiểm họa lớn Microsoft cơng ty đổ xơ tích hợp sản phẩm họ với tảng Tuy nhiên Linux đứng trước thách thức lớn mình: Đó vụ kiện quyền sở hữu trí tuệ SCO, công ty phần mềm giữ quyền Unix buộc tội IBM việc sử dụng hàng ngàn dòng lệnh Unix vào Linux, họ đề nghị xem xét quy trình phát triển Linux Xây dựng từ mã nguồn tằng, Torvalds đồng nghiệp anh khơng thể đame bảo chúng có quyền hay không Torvalds phát biểu rằng: “Về ngun tắc, tơi khơng xem sáng chế vì: (a) cơng việc lãng phí giờ, (b) tơi khơng muốn biết”; “Đã có luật sư lo chuyện đó, kỹ sư khơng cần phải xem xét sáng chế” Đó đánh giá người đàn ông với suy nghĩ quyền sở hữu trí tuệ làm tiêu tốn quý báu mà lẽ anh dành cho Linux Điều đáng ngạc nhiên việc vụ công mặt pháp lý nhằm vào Linux năm qua góp phần làm cho cộng đồng ngày trở nên thống Khơng thế, người ủng hộ có quan điểm khác tập hợp lại bảo vệ Linux tạm quên bất đồng Một vài điều GNU/Linux a Linux gì? Linux phần lõi (kernel) hệ điều hành Phần lõi phàn yếu để: 16 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Quản lý nhớ, chương trình chạy cần cung cấp nhớ để thực thi quản lý nhớ nhằm tránh chương trình tranh giành nhớ lẫn thực có trật tự Quản lý files, lưu trữ công việc quan trọng phần nhân đơn giản hóa phần việc tổ chức thành file khác Linux kernel b Linux - ác mộng Microsoft Nhiều năm qua, Microsoft hạ gục vô số địch thủ, từ Novell, Borland, Lotus đến Netscape, Linux đối thủ khiến Microsoft ăn ngủ Sự bùng nổ tượng Linux thể rõ đến mức báo trực tuyến chun ngành cơng nghiệp vi tính đăng thơng tin liên quan đến Linux Từ vạch xuất phát zero, Linux chiếm 13,7% thị trường máy chủ trị giá 50,9 tỷ USD năm 2003, năm 2007 25,2% số tiếp tục tăng, đưa Linux lên vị trí thứ nhì giới sau Unix Người ta so sánh việc Torvalds cho không mã nguồn Linux việc Coca-Cola công bố công thức sẳn xuất Coke hay Lầu Năm Góc tung bí mật phóng tên lửa Nhưng Torvalds làm chuyện “dại dột” Bất có điều kiện truy cập vào Internet tải cho 17 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux mã nguồn mà Torvalds viết để biến thành hệ điều hành riêng Linux - hệ điều hành thành công tạo địa phận Mỹ trở thành tượng giới Còn Linus Torvalds trở thành thần tượng nhiều niên giới Danh tiếng Linux đến tai hãng công nghệ lớn, từ IBM, Intel, HP, Sun, Oracle, có kế hoạch sử dụng, hỗ trợ phát triển Linux Các quốc gia, tổ chức lớn bắt đầu chuyển sang sử dụng Linux giá thành, tính ổn định, bảo mật minh bạch Với Microsoft, trễ để chặn đứng phát triển Linux Microsoft hạ gục nhiều công ty họ ngăn cản xu hướng Và Linux thực ác mộng khủng khiếp Microsoft Linux trở nên tiếng khắp giới IV Kết luận * Trong trình xây dựng phát triển hệ điều hành GNU/Linux nhiều phương pháp sáng tạo áp dụng Những nguyên tắc kể đến là: Nguyên tắc phân nhỏ: + Chia đối tượng thành thành phần độc lập: Hệ điều hành GNU/Linux xây dựng từ module nhỏ độc lập + Làm đối tượng thành thành phần tháo ráp: Các thành phần hệ điều hành Linux khả tháo lắp cao Ta dễ dàng thay thế, nâng thành phần mà không ảnh hưởng đến phần khác nhân, giao diện, Nguyên tắc tách khỏi: Tách thành phần gây phiền phất khỏi đôi tượng ngược lại, tách lấy phần cần thiết Linus Torvalds áp dụng ngun tắc để “bóp” nhân Linux lại cịn nhỏ để chạy máy có cấu hình yếu Thậm chí có phiên hệ điều hành Linux khoảng 30mb 18 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux Nguyên tắc phẩm chất cục bộ: Các phần khác đối tượng phải có chức khác Các thành phần khác hệ điều hành làm công việc khác Nguyên tắc kết hợp: + Kết hợp đối tượng đồng đối tượng dùng cho hoạt động kế cận Hệ điều hành Linux tạo cách kết hợp nhiều thành phần lại với Rất nhiều lập trình viên giới kết hợp với để phát triển Linux + Kết hợp mặt thời gian hoạt động đồng kế cận gian rỗi CPU, tận dụng tài nguyên hệ điều hành đa nhiệm, nhiều người dùng: GNU/Linux từ đầu thiết kế hệ điều hành đa nhiệm Nguyên tắc thực sơ bộ: Trước có nhân Linux GNU thực sơ phần hệ điều hành Nguyên tắc liên tục tác động có ích: Thực cơng việc cách liên tục Linus Torvalds làm việc miệt mài không nghỉ suốt mùa xuân mùa hè năm 1991 đời nhân Linux Những lập trình viên GNU nỗ lực không ngừng để tạo hệ điều hành GNU Rất nhiều lập trình viên khơng ngừng đóng góp mã nguồn, phát lỗi để giúp Linux phát triển không ngừng Nguyên tắc biến hại thành lợi: Thay đổi tác nhân có hại đến mức khơng cịn có hại Ban đầu Torvalds định cải tiến Minix, bị giáo sư Tanenbaum ngăn cấm Do Torvalds nảy sinh ý định tự viết nên nhân sau đó, anh khơng bị phụ thuộc vào Nguyên tắc quan hệ phản hồi: Thiết lập quan hệ phản hồi: Nguyên tắc sử dụng trung gian: Sử dụng đối tượng trung gian, chuyển tiếp để mang, truyền tác động Nguyên tắc tự phục vụ: Nguyên tắc dễ dàng thấy GNU/Linux khơng lệ thuộc vào công ty nào, phần mềm thương mại hay giấy phép độc quyền Các lập trình viên tình nguyện tự xây dựng nên hệ điều hành hoàn chỉnh, tuyệt vời Nguyên tắc chép: Thay sử dụng khơng phép, phức tạp, đắt tiền, không tiện lợi, ta sử dụng Nguyên tắc “rẻ” thay cho “đắt”: Thay đối tượng đắt tiền đối tượng rẻ có phẩm chất 19 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/Linux V Tài liệu tham khảo GS.TSKH Hoàng Kiếm - PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC Research Methodology in Computer Science – ĐH CNTT Phan Dũng – Các thủ thuật (nguyên tắc) sáng tạo – Trung tâm sáng tạo khoa học - kỹ thuật (TSK) Phan Thị Hạnh Lê – Dự án GNU – ĐHQG Hà Nội Richard Stallman – The Philosophy of Freedom - http://www.stallman.org Nguyễn Đình Nhơn – Thế giới @ thiên tài lập trình – Nhà xuất niên The Complete Concise History of GNU/Linux http://linuxhelp.blogspot.com/2005/11/complete-concise-history-of-gnulinux.html History of Linux https://netfiles.uiuc.edu/rhasan/linux/ 20 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... luanvanchat@agmail.com Quá trình hình thành phát triển GNU/ Linux nên chương trình GNU vượt trội chương trình tương đương Unix mặt tin cậy tốc độ III Hệ điều hành GNU/ Linux Hệ điều hành GNU Vào năm 1990,... phần mềm phát triển Việc bao gồm dạy LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Quá trình hình thành phát triển GNU/ Linux chủ đề sử dụng GNU Emacs hay tùy chỉnh GCC sao, phát triển. .. luanvanchat@agmail.com Quá trình hình thành phát triển GNU/ Linux Các phân phối Linux tiếng Trên thực tế, Linux Inc lên mơ hình mới, cách thức phối hợp theo cách tạo nên hệ sinh thái phát triển phần mềm