Lịch sử, những đặc tính
ưu việt của Linux
Tổng hợp từ Internet.
Đến thời điểm hiện giờ
thì các hệ điều hành nức danh nhất cho máy tính là Microsoft Windows (C) và
UNIX. Windows bắt nguồn từ hệ điều hành MS-DOS trước đây làm việc trên các máy
tính của hãng IBM. Hệ điều hành UNIX do nhóm các nhà phát triển Bell Labs viết
ra vào năm 1969 dưới sự điều khiển của Dennis Ritchie, Ken Thompson và Brian
Kernighan. Nhưng hiện giờ khi nói đến hệ điều hành UNIX thường có ý không nói cụ
thể một hệ điều hành cụ thể nào mà là một nhóm các hệ điều hành dòng UNIX
(UNIX-liked OS). Chính bản thân từ UNIX (viết hoa tất tật các chữ cái) trở nên
nhãn thương mại của tổng công ty AT&T.
Vào cuối những năm 70 của
thế kỷ trước (thế kỷ XX) các nhà phát triển của trường đại học California ở
Berkeley đã thêm vào mã nguồn của UNIX rất nhiều sự cải tiến trong đó có hỗ trợ
giao thức TCP/IP (giao thức mạng chính hiện). Sản phẩm này nổi tiếng dưới tên
BSD ("Berkeley Systems Distribution"). Điều đặc biệt ở chỗ bản quyền
của sản phẩm cho phép người khác phát triển và cải tiến và chuyển kết quả thu
được đến người thứ ba (cùng với mã nguồn hoặc không) với điều kiện là phải chỉ
ra phần nào của mã được phát triển ở Berkeley. Hệ điều hành dòng UNIX, trong đó
có BSD, lúc đầu được phát triển để làm việc với các máy tính nhiều người dùng –
các mainframe. Nhưng dần dần cấu hình trang thiết bị của máy tính cá nhân cũng
mạnh lên và hiện có khả năng cao hơn so với những mainframe của những năm 70 thế
kỷ trước.
Năm 1991, Linus
Torvarlds đang là sinh viên lập trình máy tính tại đại học Hensinky, Phần Lan.
Linus dùng hệ điều hành UNIX tại trường đại học mỗi ngày. Anh ta cảm thấy nhàm
chán chiếc máy PC cũ chạy hệ điều hành MS-DOS, và quyết định bắt đầu viết 1
phiên bản nhân hệ điều hành của riêng mình, phần trọng tâm của mọi hệ điều hành
có chức năng giao tiếp với phần cứng. Anh ấy muốn phân phối phần mềm tự do, đó
là vì thị hiếu, chứ không phải là một sản phẩm thương nghiệp, và cũng cho thấy
người khác nghĩ gì về nó. Anh ấy hoàn thành nhân Linux trước nhất vào cuối năm
1991. Không chỉ là một nhân 32 bit, ông đã nạm làm cho nó trông có vẻ giống
UNIX, nhưng không có chương trình nào chạy trên nó cả.
Đây là những dòng giới
thiệu trước tiên về hệ điều hành mang tên mình của Linus
May mắn thay, một cựu
sinh viên ở Mĩ là Richard Stallman đã lập ra nhóm những lập trình viên cống hiến
cho phần mềm tự do, gọi là Tổ chức Phần mềm tự do (Free Software Foundation),
người tin rằng tạo ra phần mềm miễn phí là để phân phối, sự miễn phí kèm theo
mã nguồn là điều kiện để mọi người trên Internet cải tiến phần mềm. Giấy phép
công cộng GNU (GNU General Public License) do FSF lập ra, cũng nêu rằng: tác giả
của phần mềm có thể lấy phí bản quyền phầm mềm của mình, miễn sao họ sẵn sàng để
nó được tự do phân phối. Bằng cách tạo ra phần mềm dựa vào cộng đồng, có tiêu
chuẩn mở và có thể được coi xét ngang nhau, chất lượng phần mềm sẽ được nâng lên. Lợi nhuận sẽ đến từ những con đường
khác phê chuẩn hỗ trợ và tư vấn dùng sản phẩm.
Stallman đã rất bận rộn
cho việc làm phần mềm, như trình soạn thảo emacs rất phổ quát hiện tại, và cả
bash nữa (Bourne Again Shell), một giao diện dòng lệnh dựa trên Bourne Again
Shell, đi kèm với BSD, một biến thể của UNIX. Phần mềm của FSF hoàn toàn dựa
trên UNIX, và được cải tiến trên đó. Năm 1991, điều duy nhất mà tổ chức FSF đã
bỏ quên là phần cốt lõi của hệ điều hành: nhân hệ điều hành (kernel). Linus đổi
thay mã nguồn trên nền tảng của mình (nhân Linux) để mã nguồn của tổ chức FSF
có thể làm việc trên nhân mới.
Đặc điểm chính của HĐH
Linux
Do mã nguồn Linux phân
phối tự do và miễn phí, nên ngay từ đầu đã có rất nhiều nhà lập trình tham dự
vào quá trình phát triển hệ thống. Nhờ đó đến thời khắc hiện Linux là hệ điều
hành hiện đại, bền vững và phát triển nhanh nhất, tương trợ các công nghệ mới gần
như ngay thức thì. Linux có cả thảy các khả năng, đặc trưng cho các hệ điều
hành đầy đủ tính năng dòng UNIX. Xin đưa ra đây danh sách ngắn gọn những khả
năng này.
1. Đa nhiệm
Vơ các tiến trình là độc
lập, không một tiến trình nào được ngăn trở công việc của tiến trình khác. Để
làm được điều này nhân thực hiện chế độ phân chia thời gian của bộ xử lý trọng
điểm, lần lượt chia cho mỗi tiến trình một khoảng thời gian thực hiện. Cách này
hoàn toàn khác với chế độ “nhiều tiến trình đẩy nhau” được thực hành trong
Windows 95, khi một tiến trình phải nhường bộ xử lý cho các tiến trình khác (và
có thể làm chậm trễ rất lâu việc thực hành).
2. Đa người dùng
Linux không chỉ là HĐH
nhiều tiến trình, Linux cho phép nhiều người làm việc cùng lúc. Lúc ấy Linux có
thể cung cấp bít tất các tài nguyên hệ thống cho người dùng làm việc qua các
terminal.
3. Đưa bộ nhớ swap lên
đĩa
Bộ nhớ swap cho phép
làm việc với Linux khi dung lượng bộ nhớ có hạn. Nội dung của một số phần
(trang) bộ nhớ được ghi lên vùng đĩa cứng xác định từ trước. Vùng đĩa cứng này
được coi là bộ nhớ phụ thêm vào. Việc này có làm giảm tốc độ làm việc, nhưng
cho phép chạy các chương trình cần bộ nhớ dung lượng lớn mà thực tế không có
trên máy tính.
4. Tổ chức bộ nhớ theo
trang
Hệ thống bộ nhớ Linux
được tổ chức ở dạng các trang với dung lượng 4K. Nếu bộ nhớ đầy, thì HĐH sẽ tìm
những trang bộ nhớ đã lâu không được dùng để chuyển chúng từ bộ nhớ lên đĩa cứng.
Nếu có trang nào đó trong số những trang này lại trở nên cấp thiết, thì Linux sẽ
hồi phục chúng từ đĩa cứng (vào bộ nhớ). Một số hệ thống Unix cũ và một số hệ
thống hiện đại (bao gồm cả Microsoft Windows) chuyển lên đĩa cả thảy nội dung của
bộ nhớ thuộc về những vận dụng không làm việc tại thời điểm hiện giờ (tức là tuốt
tuột các trang bộ nhớ thuộc về ứng dụng sẽ được lưu lên đĩa khi không đủ bộ nhớ)
và như vậy kém hiệu quả hơn.
5. Nạp mô-đun thực hiện
“theo yêu cầu”
Nhân Linux hỗ trợ việc
cung cấp các trang bộ nhớ theo yêu cầu, khi này chỉ phần mã cấp thiết của
chương trình mới nằm trong bộ nhớ, còn những phần mã không dùng tại thời điểm
hiện tại thì nằm lại trên đĩa.
6. Cùng dùng chương
trình
Nếu cần chạy một lúc
nhiều bản sao của cùng một vận dụng nào đó, thì Linux chỉ nạp vào bộ nhớ một bản
sao của mã chương trình và quờ quạng các tiến trình giống nhau cùng sử dụng một
mã này.
7. Thư viện chung
Thư viện – bộ các quá
trình (thao tác) được chương trình dùng để làm việc với dữ liệu. Có một số thư
viện tiêu chuẩn được dùng cùng lúc cho vài tiến trình. Trên các hệ thống cũ những
thư viện đó nằm trong mỗi tập tin chương trình, và thực hành cùng lúc những
chương trình này dẫn đến hao hụt bộ nhớ không đáng có. Trên các hệ thống mới
(bao gồm Linux) có tương trợ làm việc với các thư viện động (dynamic) và tĩnh
(static) được chia ra, và như vậy cho phép giảm kích tấc bộ nhớ bị vận dụng chiếm.
8. Bộ đệm động của đĩa
Bộ đệm của đĩa đó là một
phần bộ nhớ của hệ thống dùng làm nơi lưu những dữ liệu thường dùng của đĩa, nhờ
đó nâng cao rất nhiều tốc độ truy cập tới những chương trình và tiến trình thường
dùng. Người dùng MS-DOS sẽnhớ đến chương trình SmartDrive, chương trình này dự
trữ một phần bộ nhớ có kích thước xác định để ra cái điều đệm cho đĩa. Linux sử
dụng hệ thống đệm linh động hơn: bộ nhớ
được dự trữ cho đệm được tăng lên khi bộ nhớ không được dùng, và sẽ giảm xuống
khi hệ thống hay tiến trình cần nhiều bộ nhớ hơn.
9. 100% tương ứng với
tiêu chuẩn POSIX 1003.1.
Hỗ trợ một phần các khả
năng của System V và BSD POSIX 1003.1 (Portable Operating System Interface –
giao diện của hệ điều hành lưu động) đưa ra giao diện tiêu chuẩn cho các hệ thống
Unix, đó là một bộ các thủ tục ngôn ngữ C. Hiện tại giao diện này được tuốt các
hệ điều hành mới tương trợ. Microsoft Windows NT cũng tương trợ POSIX 1003.1.
Linux 100% tương ứng với tiêu chuẩn POSIX 1003.1. Thêm vào đó Linux còn hỗ trợ
các khả năng của System V và BSD để tăng tính xứng.
10. System V IPC
Linux sử dụng công nghệ
IPC (InterProcess Communication) để thảo luận thông báo giữa các tiến trình, để
sử dụng tín hiệu và bộ nhớ chung.
11. Khả năng chạy
chương trình của HĐH khác
Trong lịch sử Linux
không phải là hệ điều hành trước tiên. Người ta đã viết ra hàng loạt các chương
trình áp dụng, trong đó có cả những chương trình hữu ích và không đến nỗi tồi,
cho các HĐH đã phát triển trước Linux, bao gồm DOS, Windows, FreeBSD và OS/2. Để
chạy những chương trình như vậy dưới Linux đã phát triển các trình giả lập
(emulator) cho DOS, Windows 3.1, Windows 95 và Wine. Ngoại giả, còn có một loạt
các chương trình tạo máy ảo mã nguồn mở cũng như sản phẩm thương mại:
qemu,bochs, pearpc, vmware,. . . HĐH Linux còn có khả năng chạy chương trình
dành cho bộ xử lý Intel của các hệ thống Unix khác, nếu hệ thống đáp ứng tiêu
chuẩn iBCS2 (intel Binary Compatibility).
12. Hỗ trợ các định dạng
hệ thống tập tin khác nhau
Linux tương trợ một số
lượng lớn các định dạng hệ thống tập tin, bao gồm các hệ thống tập tin DOS và
OS/2, và cả các hệ thống tập tin mới, như reiserfs, HFS,. . . . Trong khi đó hệ
thống tập tin chính của Linux, được gọi là Second Extended File System (ext2fs)
và Third Extended File System (ext3fs) cho phép sử dụng không gian đĩa một cách
có hiệu quả.
13. Khả năng tương trợ
mạng
Linux có thể gắn vào bất
kỳ mạng nội bộ nào. Hỗ trợ tuốt các dịch vụ Unix, bao gồm Networked File System
(NFS), kết nối từ xa (telnet, rlogin, ssh), làm việc trong các mạng TCP/IP,
truy cập dial-up qua các giao thức SLIP và PPP,v.V. . . Đồng thời có hỗ trợ
dùng Linux là máy chủ hoặc máy khách cho mạng khác, trong đó có san sớt (dùng
chung, sharing) các tập tin và in từ xa trong các mạng Macintosh, Netware và
Windows.
14. Làm việc trên các
phần cứng khác nhau.
Mặc dầu HĐH Linux trước
nhất được phát triển cho máy tính cá nhân chủ nghĩa (PC) trên nền tảng Intel
386/486, nhưng hiện thì nó có thể làm việc trên vơ các bộ vi xử lý Intel bắt đầu
từ 386 và chấm dứt là các hệ thống nhiều bộ xử lý Pentium IV, bao gồm cả các bộ
xử lý 64bit. Song song Linux còn làm việc trên rất nhiều bộ xử lý tương thích với
Intel của các nhà sản xuất khác, như AMD. Trên Internet còn có những thông tin
nói rằng trên các bộ xử lý Athlon và Duron của AMD Linux còn làm việc tốt hơn
so với trên Intel. Ngoại giả còn có phiên bản Linux cho các bộ xử lý khác bao gồm
ARM, DEC Alpha, SUN Sparc, M68000 (Atari và Amiga), MIPS, PowerPC và những bộ xử
lý khác.
Lợi thế:
Linux là một bước tiến
xa hơn nữa của UNIX, nó là một hệ thống mã nguồn mở thật sự:
- Theo giấy
phép GNU, dùng Linux bạn có được những phần mềm miễn phí, bạn có thể thay đổi
mã nguồn của phần mềm nếu muốn. Sau đó bạn có thể phân phối lại phần mềm nếu
thích, miễn là bạn cung cấp kèm mã nguồn và ghi chú sự thay đổi.
&Bull; Phần mềm chuẩn
mở ít gây lỗi vì nó dựa trên nhiều nhà phát trển trên toàn thế giới (Open
standards provoke less buggy software because it is worked on by a potentially
global team of developers from many far reaching backgrounds. )
- Chuẩn mở có
khả năng cân xứng trên bất kì nền móng mở khác. Tỉ dụ: bạ có thể vững chắc rằng
tập tin âm thanh OGG của mình có thể mở được trên bất kì máy nghe nhạc hỗ trợ
OGG nào, vì các tiêu chuẩn mở được áp dụng chung.
- Tính đáng
tin tưởng, cũng như ắt các mã nguồn phần mềm phân phối miễn phí và thẳng tính.
- Linux không
thương nghiệp hoá, vì nó không thuộc bất kì một công ty nào.
- Chúng ta đã
đề cập đến phần mềm nguồn mở nói chung (nhưng không phải lúc nào) cũng miễn
phí. Tức là phần mềm có chất lượng cao cho mọi người, chỉ trả phí cho việc
tương trợ, phân phối sản phẩm, hay đào tạo.
- Đó là phương
thức mới mang tính cách mạng trong kinh doanh, đã có những tăm tiếng đồ sộ như
IBM, HP, Novell, Sun, Intel và ngay cả các hãng không trong ngành IT như
Boeing, Glaxo Smithkline và hàng ngàn người sử dụng nó vào công việc của mình.
Một nền móng đáng tin
cho bất kì công việc quan trọng nào:
- So với các nền
tản khác, Linux giao dịch tốt với phần mềm , rất khó để một hệ thống Linux bị sụp
đổ.
- Không có
dòng virus chính nào trên Linux cả, vì mỗi bản phân phối Linux khác nhau được
xây dựng trên những chuẩn khác nhau.
- Khả năng làm
việc trên các máy tính cũ kĩ hoặc máy tía chế lại.
- Giã biệt với
Spyware, Adware và những phần mềm độc hại khác.
- Hệ thống bảo
mật định sẵn, không cần phải cài thêm chương trình an ninh cho hệ thống.Đặc tính ưu việt của
Linux