Tổng hợp từ Internet.
Đến thời điểm hiện nay
thì các hệ điều hành nổi tiếng 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 bây 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 cả các chữ cái) trở thành
nhãn hiệu 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 nay). 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 nay 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 sử 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 trung 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ì sở thích, chứ không phải là một sản phẩm thương mại, và cũng cho
thấy người khác nghĩ gì về nó. Anh ấy hoàn thành nhân Linux đầu tiên vào cuối
năm 1991. Không chỉ là một nhân 32 bit, ông đã cố gắng 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 đầu 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 là 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 xem 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 thông qua hỗ trợ và tư vấn sử 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ổ biến ngày nay, 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
thay đổi 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 gia
vào quá trình phát triển hệ thống. Nhờ đó đến thời điểm hiện nay Linux là hệ điều
hành hiện đại, bền vững và phát triển nhanh nhất, hỗ trợ các công nghệ mới gần
như ngay lập tức. Linux có tất cả 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
Tất cả các tiến trình
là độc lập, không một tiến trình nào được cả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ý trung tâ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 hiện
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 hiện).
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 tất cả 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 sử 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ở thành cần thiết, thì
Linux sẽ phục hồi 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 tất cả nội
dung của bộ nhớ thuộc về những ứng dụng không làm việc tại thời điểm hiện thời
(tức là TẤt CẢ 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ần thiết của
chương trình mới nằm trong bộ nhớ, còn những phần mã không sử dụng tại thời điểm
hiện tại thì nằm lại trên đĩa.
6. Cùng sử 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 ứng 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à tất cả 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 hiện 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ó hỗ 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 thước bộ nhớ bị ứng 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 để làm bộ đệ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 sử dụng, và sẽ giảm xuống
khi hệ thống hay tiến trình cầnnhiề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. Ngày nay giao diện này được tất cả
các hệ điều hành mới hỗ trợ. Microsoft Windows NT cũng hỗ 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 tương thích.
10. System V IPC
Linux sử dụng công nghệ
IPC (InterProcess Communication) để trao đổi thông tin 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 đầu tiên. Người ta đã viết ra hàng loạt các chương
trình ứng dụng, trong đó có cả những chương trình có í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 ra, 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 hỗ 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 hỗ trợ mạng
Linux có thể gắn vào bất
kỳ mạng nội bộ nào. Hỗ trợ tất cả 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ó chia sẻ
(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ù HĐH Linux đầu
tiên được phát triển cho máy tính cá nhân (PC) trên nền tảng Intel 386/486,
nhưng bây giờ thì nó có thể làm việc trên tất cả các bộ vi xử lý Intel bắt đầu
từ 386 và kết thúc là các hệ thống nhiều bộ xử lý Pentium IV, bao gồm cả các bộ
xử lý 64bit. Đồng thời 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 báo
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 ra 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, sử
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.
• 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
tương thích trên bất kì nền tảng mở khác. Ví dụ: bạ có thể chắc chắn 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 toán đáng tin cậy,
cũng như tất cả các mã nguồn phần mềm phân phối miễn phí và thường xuyên.
• Linux không thương mại
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í. Nghĩa là
phần mềm có chất lượng cao cho mọi người, chỉ trả phí cho việc hỗ 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ên tuổi khổng lồ 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 tảng đáng tin cậy
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 tiếp 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.
• Tạm 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.
0 nhận xét:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.