Giới thiệu Linux
Giới thiệu Linux
Lịch sử Unix
Giữa năm 1960, AT&T Bell Laboratories và một số trung tâm khác tham gia vào một cố gắng nhằm tạo ra một hệ điều hành mới được đặt tên là Multics (Multiplexed Information
Giới thiệu Linux
Lịch sử Unix
Giữa năm 1960, AT&T Bell Laboratories và một số trung tâm khác tham gia vào một cố gắng nhằm tạo
ra một hệ điều 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ỏ vì đó là một dự án quá nhiều tham vọng và do đó không
khả thi. Thậm trí nhiều yêu cầu đối với Multics thời đó đến nay vẫn chưa có được trên các Unix mới
nhất. Nhưng Ken Thompson, Dennis Ritchie, và một số đồng nghiệp của Bell Labs đã không bỏ cuộc.
Thay vì xây dựng một hệ điều hành làm nhiều việc một lúc như Multics, họ quyết định phát triển một
hệ điều hành đơn giản chỉ làm tốt một việc là chạy chương trình (run program). hệ điều hành sẽ có rất
nhiều các công cụ (tool) nhỏ, đơn giản, gọn nhẹ (compact) và chỉ làm tốt một công việc. Bằng cách
kết hợp nhiều công cụ lại với nhau, họ sẽ có một chương trình thực hiện một công việc phức tạp. Đó
cũng là cách thức người lập 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ử dụng ngôn ngữ C của Ritchie, Thompson đã viết lại toàn bộ hệ điều
hành Unix và đây là một thay đổi quan trọng của Unix, vì nhờ đó Unix từ chỗ là hệ điều hành cho một
máy PDP-xx trở thành hệ điều hành của các máy khác với một cố gắng tối thiểu để chuyển đổi.
Khoảng 1977 bản quyền của UNIX được giải phóng và hệ điều hành UNIX trở thành một thương
phẩm.
Hai dòng UNIX
System V của AT&T , Novell và Berkeley Software Distribution (BSD) của Đại học Berkeley.
System V :
Các phiên bản UNIX cuối cùng do AT&T xuất bản là System III và một vài phát hành (releases) của
System V. Hai bản phát hành gần đây của System V là Release 3 (SVR3.2) và Release 4.2 (SVR4.2).
Phiên bản SYR 4.2 là phổ biến nhất cho từ máy PC cho tới máy tính lớn.
BSD :
Từ 1970 Computer Science Research Group của University of California tại Berkeley (UCB) xuất bản
nhiều phiên bản UNIX, được biết đến dưới tên Berkeley Software Distribution, hay BSD. Cải biến của
PDP-11 được gọi là 1BSD và 2BSD. Trợ giúp cho các máy tính của Digital Equipment Corporation
VAX được đưa vào trong 3BSD. Phát triển của VAX được tiếp tục với 4.0BSD, 4.1BSD, 4.2BSD, và
4.3BSD
Trước 1992, UNIX là tên thuộc sở hữu của AT&T. Từ 1992, khi AT&T bán bộ phận Unix cho Novell,
tên Unix thuộc sở hữu của X/Open foundation. Tất cả các hệ điều hành thỏa mãn một số yêu cầu đều
có thể gọi là Unix. Ngoài ra, Institute of Electrical and Electronic Engineers (IEEE) đã thiết lập chuẩn
"An Industry-Recognized Operating Systems Interface Standard based on the UNIX Operating System."
Kết quả cho ra đời POSIX.1 (cho giao diện C ) và POSIX.2 (cho hệ thống lệnh trên Unix)
Kết lại, vấn đề chuẩn hóa UNIX vẫn còn rất xa kết quả cuối cùng. Nhưng đây là quá trình cần thiết
có lợi cho sự phát triển của ngành tin học nói chung và sự sống còn của HDH UNIX nói riêng.
Các phiên bản của Unix
Giới thiệu Linux
Lịch sử phát triển của Linux và giới thiệu các phiên bản Linux
Linux là một HDH dạng UNIX (Unix-like Operating System) chạy trên máy PC với bộ điều khiển trung
tâm (CPU) Intel 80386 trở lên, hay các bộ vi xử lý trung tâm tương thích AMD, Cyrix. Linux ngày nay
còn có thể chạy trên các máy Macintosh hoặc SUN Sparc . Linux thỏa mãn chuẩn POSIX.1.
Linux được viết lại toàn bộ từ con số không, tức là không sử dụng một dòng lệnh nào của Unix để
tránh vấn đề bản quyền của Unix. Tuy nhiên hoạt động của Linux hoàn toàn dựa trên nguyên tắc của
hệ điều hành Unix. Vì vậy nếu một người nắm được Linux, thì sẽ nắm được UNIX. Nên chú ý rằng
giữa các Unix sự khác nhau cũng không kém gì giữa Unix và Linux.
Năm 1991 Linus Torvalds, sinh viên của đại học tổng hợp Helsinki, Phần lan, bắt đầu xem xét Minix,
một phiên bản của Unix làm ra với mục đích nghiên cứu cách tạo ra một hệ điều hành Unix chạy trên
máy PC với bộ vi xử lý Intel 80386.
Ngày 25/8/1991, Linus cho ra version 0.01 và thông báo trên comp.os.minix của Internet về dự định của
mình về Linux.
1/1992, Linus cho ra version 0.12 với shell và C compiler. Linus không cần Minix nữa để recompile
HDH của mình. Linus đặt tên HDH của mình là Linux.
1994, phiên bản chính thức 1.0 được phát hành.
Quá trình phát triển của Linux được tăng tốc bởi sự giúp đỡ của chương trình GNU (GNU’s Not Unix),
đó là chương trình phát triển các Unix có khả năng chạy trên nhiều platform. Đến hôm nay, cuối 2001,
phiên bản mới nhất của Linux kernel là 2.4.20, có khả năng điều khiển các máy đa bộ vi xử lý ( hiện
tại Linux hỗ trợ máy tính có tối đa 16 CPUs) và rất nhiều các tính năng khác.
Phiên bản mới nhất có thể tìm thấy tại http://www.kernel.org
Vấn đề bản quyền của GNU project
Các chương trình tuân theo GNU Copyleft or GPL (General Public License
http://www.linux.org/info/gnu.html ) có bản quyền như sau :
1. Tác giả vẫn là sở hữu của chương trình của mình.
2. Ai cũng được quyền bán copy của chương trình với giá bất kỳ mà không phải trả cho tác giả ban
đầu.
3. Người sở hữu chương trình tạo điều kiện cho người khác sao chép chương trình nguồn để phát triển
tiếp chương trình.
Why Linux ?
Linux là miễn phí (free). Đối với chúng ta hôm nay không quan trọng vì ngay WindowsNT server cũng
"free". Nhưng trong tương lai, khi chúng ta muốn hòa nhập vào thế giới, khi chúng ta muốn có một thu
nhập chính đáng cho người lập trình, hiện tượng sao chép trộm phần mềm cần phải chấm dứt. Khi đó,
"free" là một thông số rất quan trọng để chọn Linux.
Linux rất ổn định. Trái với suy nghĩ truyền thống "của rẻ là của ôi ", Linux từ những phiên bản đầu
tiên cách đây 5-6 năm đã rất ổn định. Ngay cả server Linux phục vụ những mạng lớn (hàng trăm máy
trạm) cũng hoạt động rất ổn định.
Linux đầy đủ. Tất cả những gì bạn thấy ở IBM, SCO, Sun … đều có ở Linux. C compiler, perl
interpeter, shell , TCP/IP, proxy, firewall, tài liệu hướng dẫn ... đều rất đầy đủ và có chất lượng. Hệ
thống các chương trình tiện ích cũng rất đầy đủ .
Linux là HDH hoàn toàn 32-bit. Như các Unix khác, ngay từ đầu, Linux đã là một HDH 32 bits. Hiện
nay đã có những phiên bản Linux 64 bits chạy trên máy Alpha Digital hay Ultra Sparc.
Linux rất mềm dẻo trong cấu hình. Linux cho người sử dụng cấu hình rất linh động, ví dụ như độ
phân dải màn hình Xwindow tùy ý, dễ dàng sửa đổi ngay cả kernel
Linux chạy trên nhiều máy khác nhau từ PC 386, 486 tự lắp cho đến SUN Sparc.
Linux được trợ giúp. Ngày nay, với các server Linux sử dụng dữ liệu quan trọng, người sử dụng hoàn
toàn có thể tìm được sự trợ giúp cho Linux từ các công ty lớn. IBM đã chính thức chào bán IBM server
chạy trên Linux. Tài liệu giới thiệu Linux ngày càng nhiều, không thua kém bất cứ một HDH nào khác.
Với nguồn tài liệu phong phú, chương trình từ kernel cho đến các tiện ích miễn phí và bộ mã nguồn
mở, Linux là người bạn đồng hành lý tưởng cho những ai muốn đi vào HDH chuyên nghiệp UNIX và
công cụ tốt nhất cho công tác đào tạo CNTT trong các trường đại học.
Các phiên bản của Linux. Các phiên bản của HDH Linux được xác định bởi hệ thống số dạng
X.YY.ZZ. Nếu YY là số chẵn => phiên bản ổn định. YY là số lẻ => phiên bản thử nghiệm .
Các phân phối (distribution) của Linux quen biết là RedHat, Debian, SUSE, Slakware, Caldera …
Chú ý phân biệt số phiên bản của hệ điều hành (Linux kernel) với phiên bản của các phân phối (ví dụ
RedHat 7.1 với kernel Linux 2.4.2-14).
Các ứng dụng trên linux
Các ứng dụng văn phòng & multimedia
Cùng với thời gian, hệ điều hành Linux ngày càng được hoàn thiện, nhiều hãng sản xuất cùng với các
lập trình viên đã xây dựng được một kho thư viện phần mềm khổng lồ đáp ứng phần lớn nhu cầu của
người dùng.
Nếu như trong Windows có bộ Microsoft Office thì trong Linux có những bộ Office khác như KOffice
hoặc bộ Start Office của hãng Sun Microsystem được phân phối miễn phí .
Các ứng dụng giải trí
Ngoài các ứng dụng văn phòng ra, Linux cũng có khá nhiều games phục vụ nhu cầu thư giãn và giải trí
của người dùng.
Hệ điều hành mạng và các ứng dụng mạng
Có thể nói các ứng dụng mạng là tập hợp những ứng dụng nổi bật nhất của hệ điều hành Linux.
Những khả năng mà các ứng dụng mạng trên Linux có thể thực hiện được làm cho hệ điều hành này
trở nên vượt trội hơn so với Windows.
Linux cho phép người dùng có thể cấu hình 1 server với đầy đủ các ứng dụng cơ bản nhất của Internet
:
Domain Name Service (DNS)
Web Server
Web Proxy Server
Routing
SMTP Server
Pop3 Server
Firewall
Các ứng dụng Web
Với sự bùng nổ các ứng dụng trên Internet , hệ điều hành Linux hỗ trợ một môi trường lý tưởng cho
các server ứng dụng.
Các hãng phần mềm nổi tiếng đều nghiên cứu để làm sao có thể cài các ứng dụng của họ lên Linux.
Tiêu biểu là các ứng dụng sau:
Oracle Internet Application Server 9i
IBM WebSphere
Các ứng dụng cơ sở dữ liệu
Các ứng dụng cơ sở dữ liệu là không thể thiếu trong lãnh vực CNTT cũng như các ngành khác. Một
khi đã nói đến sự tin học hoá trong mọi lãnh vực của đời sống thì dù ít, dù nhiều cũng phải liên quan
đến cơ sở dữ liệu .
Linux hỗ trợ khá mạnh các hệ quản trị cơ sở dữ liệu từ miễn phí đến các hệ chuyên nghiệp như :
Postgres SQL
MySQL
Oracle Database Server 9i
IBM DB2
Các ngôn ngữ lập trình
Hệ điều hành Linux được viết lại hoàn toàn từ đầu bằng ngôn ngữ C nhằm tránh vấn đề bản quyền
của Unix . Do đó ngôn ngữ lập trình C được hỗ trợ mạnh mẽ và khá đầy đủ cho việc phát triển các
ứng dụng mạng.
Tuy nhiên ngôn ngữ C không phải là sự lựa chọn duy nhất cho việc lập trình trên Linux. Có nhiều ngôn
ngữ lập trình khác cũng được hỗ trợ bởi Linux được liệt kê dưới đây:
Ada, C, C++, Forth, Fortran, Icon, Java, Lisp, Modular 2, Modular 3,Oberon,Objective C,
Pascal, Perl , Prolog, Python, Smalltalk, SQL, Tck/Tl, Shell