Linux là hệ điều hành 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 hoặc các
thế hệ sau đó, hay các bộ vi xử lý trung tâm tương thích như AMD, Cyrix. Linux ngàyy nay còn có thể chạy trên các máy Macsintosh hoặc Sun Sparc. linux thoả mãn chuẩn POSIX.1.
Linux được viết lại toàn bộ như 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 Linux, 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 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ì Unix và Linux.
Năm 1991 Linus Tovalds, 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 80368.
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ề chương trình của mình.
1/1992, Linus cho ra version 0.12 với Shell và C compilre. Linus không cần Minix nữa để biên dịch lại hệ điều hành của mình. Linus đặt tên hệ điều hành
của mình là Linux.
Năm 1991 Linus Tovalds, 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 80368.
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ề chương trình của mình.
1/1992, Linus cho ra version 0.12 với Shell và C compilre. Linus không cần Minix nữa để biên dịch lại hệ điều hành của mình. Linus đặt tên hệ điều hành
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.2-2, có khả năng điều khiển các máy đa bộ vi xử lý và rất nhiều các tính năng khác.
Nó hổ trợ nhiều phầm mềm:
* Xử lý văn bản:WYSWYG (What you see what you get ).
* Ngôn ngữ lập trình: Linux cung cấp một môi trường lập trình đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình biên dịch debuggers.
* X-windows là giao diện người dùng đồ hoạ chuẩn với nhiều ứng dụng (nhiều của sổ terminal, trên cùng một màn hình với mỗi phiên làm việc riêng ).
* Mạng và truyền thông: Linux hổ trợ giao thức TCP/IP, cùng nhiều driver cho các card mạng phổ biến, ngoài ra nó còn hổ trợ SLIP, PPP để kết nối Internet qua Modem, NFS, FTP, sendmailm
Ngoài ra, còn hổ trợ kết nối chia sẽ file với windowns thông qua Samba và
kết nối với máy chạy Macintosh với các giao thức Apple Talk và Local Talk, cả giao thức IPX và Novell.
Nó hổ trợ nhiều phầm mềm:
* Xử lý văn bản:WYSWYG (What you see what you get ).
* Ngôn ngữ lập trình: Linux cung cấp một môi trường lập trình đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình biên dịch debuggers.
* X-windows là giao diện người dùng đồ hoạ chuẩn với nhiều ứng dụng (nhiều của sổ terminal, trên cùng một màn hình với mỗi phiên làm việc riêng ).
* Mạng và truyền thông: Linux hổ trợ giao thức TCP/IP, cùng nhiều driver cho các card mạng phổ biến, ngoài ra nó còn hổ trợ SLIP, PPP để kết nối Internet qua Modem, NFS, FTP, sendmailm
Ngoài ra, còn hổ trợ kết nối chia sẽ file với windowns thông qua Samba và
kết nối với máy chạy Macintosh với các giao thức Apple Talk và Local Talk, cả giao thức IPX và Novell.
* Và các ứng dụng khác:Cơ sở dữ liệu quan hệ như Postgres. MySQL, ingress Mbase… Các ứng +dụng tinh toán khoa học: FEELT, Gnuplet, Octave (gần giống như Matlab),xspred (bảng tính),.. Các chươnbg trình hổ trợ Media như Cdplaper,…
* Các khuyết điểm: thiếu trợ giúp kỹ thhuật, và các vấn đề về phần cứng.
II. Kiến Trúc Về Hệ Điều Hành Linux
1. Hat Nhân (Kernel)
Là trung tâm điều khiển của hệ điều hành Linux chứa các mã nguồn điều khiển hoạt động toàn bộ của hệ thống. Hạt nhân được phát triển không ngừng, thường có hai phiên bản mới nhất, một bản để phát triển và một bản ổn định. Kernel thiết kế theo dạng module, do vậy kích thước thật sự của Kernel rất nhỏ. Chúng chỉ tải được những bộ phận cần thiết lên bộ nhớ, các bộ phận khác sẽ được tải lên nếu có yêu cầu sử dụng. Do đó không sử dụng lãng phí bộ nhớ.
Kernel Linux có thể truy xuất tới toàn bộ tính năng phần cứng của máy tính. Ngoài ra, do yêu cầu của các chương trình cần nhiều bộ nhớ, trong khi hệ thống có ít bộ nhớ, hệ điều hành sử dụng không gian hoán đổi đĩa (Swap pace) để lưu trữ các dữ liệu xử lý của chương trình. bên cạnh đó Linux còn hổ trợ các đặc tính sau:
* Bảo vệ vùng nhớ giữa các tiến trình, điều này không cho phép một tiến trình làm tắt toàn bộ hệ thống.
* Chi tải các chương trình khi có yêu cầu.
2. Shell
Shell cung cấp các tập lệnh cho người dùng thao tác với kernel để thực hiện công việc.Shell đọc các lệnh từ người dùng và xử lý.
Ngoài ra Shell còn cung cấp các đặc tính như: chuyển hướng xuất nhập, ngôn ngữ lệnh để tạo các file lệnh tương tự như file.bat trong đó.
Có nhiều loại Shell được dùng trong Linux. Điểm quan trọng để phân biệt các shell với nhau là bộ lệnh của mỗi shell. Ví dụ C shell sử dụng các lệnh tương tự như ngôn ngữ C, Bourne shell thì dùng ngôn ngữ lệnh khác.
Shell sử dụng chính trong Linux là GNU Bourne Again Shell. Shell này là shell phát triển từ Bourne shell. Là shell sử dụng chính trong hệ thống Unix, với nhiều tính năng như: điều khiển các tiến trình, các lệnh history, tên file dài …
* Các khuyết điểm: thiếu trợ giúp kỹ thhuật, và các vấn đề về phần cứng.
II. Kiến Trúc Về Hệ Điều Hành Linux
1. Hat Nhân (Kernel)
Là trung tâm điều khiển của hệ điều hành Linux chứa các mã nguồn điều khiển hoạt động toàn bộ của hệ thống. Hạt nhân được phát triển không ngừng, thường có hai phiên bản mới nhất, một bản để phát triển và một bản ổn định. Kernel thiết kế theo dạng module, do vậy kích thước thật sự của Kernel rất nhỏ. Chúng chỉ tải được những bộ phận cần thiết lên bộ nhớ, các bộ phận khác sẽ được tải lên nếu có yêu cầu sử dụng. Do đó không sử dụng lãng phí bộ nhớ.
Kernel Linux có thể truy xuất tới toàn bộ tính năng phần cứng của máy tính. Ngoài ra, do yêu cầu của các chương trình cần nhiều bộ nhớ, trong khi hệ thống có ít bộ nhớ, hệ điều hành sử dụng không gian hoán đổi đĩa (Swap pace) để lưu trữ các dữ liệu xử lý của chương trình. bên cạnh đó Linux còn hổ trợ các đặc tính sau:
* Bảo vệ vùng nhớ giữa các tiến trình, điều này không cho phép một tiến trình làm tắt toàn bộ hệ thống.
* Chi tải các chương trình khi có yêu cầu.
2. Shell
Shell cung cấp các tập lệnh cho người dùng thao tác với kernel để thực hiện công việc.Shell đọc các lệnh từ người dùng và xử lý.
Ngoài ra Shell còn cung cấp các đặc tính như: chuyển hướng xuất nhập, ngôn ngữ lệnh để tạo các file lệnh tương tự như file.bat trong đó.
Có nhiều loại Shell được dùng trong Linux. Điểm quan trọng để phân biệt các shell với nhau là bộ lệnh của mỗi shell. Ví dụ C shell sử dụng các lệnh tương tự như ngôn ngữ C, Bourne shell thì dùng ngôn ngữ lệnh khác.
Shell sử dụng chính trong Linux là GNU Bourne Again Shell. Shell này là shell phát triển từ Bourne shell. Là shell sử dụng chính trong hệ thống Unix, với nhiều tính năng như: điều khiển các tiến trình, các lệnh history, tên file dài …
III. Các Tiện Ích
1. Các tiện ích:
Được sử dụng thường xuyên. Dùng cho nhiều thứ như: thao tác file, đĩa, nén, sao lưu file …Tiện ích trong Linux có thể là các lệnh thao tác hay các chương trình giao diện đồ hoạ. Hầu hết là sản phẩm của GNU. Linux có nhiều tiện ích như: trình biên dịch, trình gỡ lỗi soạn văn bản… Tiện ích có thể được người dùng hay hệ thống.
2. Chương trình ứng dụng:
Khác với tiện ích, các chương trình word, hệ quản trị cơ sở dữ liệu.. là các chương trình ứng dụng có độ phức tạp lớn và do các nhà sản xuất viết ra.
IV. So sánh Dos/Windows và Linux
1. Giống nhau:
* Chế độ hiển thị: Dos và Linux Console có chế độ hiển thị là ký tự.Windows và X-Windows có chế độ đồ hoạ.
* Lưu trữ dữ liệu theo thư mục cấu trúc cây: thư mục có thể chứa file hoặc các thư mục con khác. Cả hai đều có khả năng xử lý các thao tác như liệt kê, tìm kiếm, tạo, xoá, đổi tên, di chuyển file và thư mục.
* Khởi động chương trình bằng dòng lệnh hoặc kích chuột vào biểu tượng.
* Trong môi trường đồ hoạ: có khả năg phóng to, thu nhỏ, di chuyển và đóng của sổ. Tạo các thành phần giao diện đồ hoạ thân thiện như nút nhấn, menu…
2. Khác biệt
Linux phân biệt chữ hoa và chữ thường.
Linux thường im lặng: trong Unix và đối với một số shell diễn dịch lệnh của Linux, sau khi thực hiện xong lệnh, trình biên dịch thường trở về ngay dấu nhắc lệnh và không đưa ra thông báo gì.
Dấu phân cách đường dẫn và thư mục: Linux sử dụng dấu / trong khi Dos sử dụng \ .Linux sử dụng dấu – hoặc – làm dấu chuyển tham số trên dòng lệnh, trong khi Dos sử dụng khoá chuyển /.
Đường dẫn tìm kiếm: với hầu hết các lệnh, Dos thường tìm thông tin về đường dẫn của file trong biến môi trường PATH hoặc trong thư mục hiện hành. Linux thì chỉ tìm trong biến môi trường PATH.
Chương trình thực thi: với Dos/ Windows thường sử dụng tên mở rộng của file như .exe, .com, .bat để nhận dạng chương trình thực thi trong khi Linux thì không. Mọi file trong Linux đều được xem là chương trình thực thi trong khi Linux thi không. Mọi file trong Linux đều được xem là chương trình thực thi nếu có thuộc tính x (execute) cho file.
V. Sử Dụng Giúp Đỡ
1. Sử dụng giúp đỡ trong môi trường X-Windows:
Tương tự như trong hệ điều hành Windows.
2. Sử dụng giúp đỡ từ hàng lệnh:
Lệnh man.
Lệnh which.
Lệnh whereis.
3. Những lệnh thường dùng:
+ Lệnh về thư mục:
Lệnh ls.
Lệnh mkdir.
Lệnh rmdir.
Lệnh cd.
Lệnh pwd.
+ Lệnh về file:
Lệnh cat.
Lệnh more.
Lệnh cp.
Lệnh mv.
Lệnh rm.
Lệnh find.
+ Lệnh hệ thống:
Lệnh dmessg.
Lệnh free.
Lệnh shutdown.
Lệnh uptime.
VI. Mô Tả Những Ký Tự Đặt Biệt.
* Dùng thay cho một nhóm các ký tự.
* ? dùng thay thế cho một ký tự.
* < chuyển hướng nhập
* >,>> chuyển hướng xuất ra file.
* 1 dùng truyền thẳng ống dẫn (pipe). Nó là cách truyền dữ liệu sử dụng kết hợp 2 chuyển tiếp. Pipe sử dụng kết xuất của một chương trình làm dữ liệu nhập cho chương trình khác.
Ví dụ: ls -ll more. kết quả lệnh ls không xuất ra màn hình mà chuyển cho lệnh more xử lý như dữ liệu đầu vào
1. Các tiện ích:
Được sử dụng thường xuyên. Dùng cho nhiều thứ như: thao tác file, đĩa, nén, sao lưu file …Tiện ích trong Linux có thể là các lệnh thao tác hay các chương trình giao diện đồ hoạ. Hầu hết là sản phẩm của GNU. Linux có nhiều tiện ích như: trình biên dịch, trình gỡ lỗi soạn văn bản… Tiện ích có thể được người dùng hay hệ thống.
2. Chương trình ứng dụng:
Khác với tiện ích, các chương trình word, hệ quản trị cơ sở dữ liệu.. là các chương trình ứng dụng có độ phức tạp lớn và do các nhà sản xuất viết ra.
IV. So sánh Dos/Windows và Linux
1. Giống nhau:
* Chế độ hiển thị: Dos và Linux Console có chế độ hiển thị là ký tự.Windows và X-Windows có chế độ đồ hoạ.
* Lưu trữ dữ liệu theo thư mục cấu trúc cây: thư mục có thể chứa file hoặc các thư mục con khác. Cả hai đều có khả năng xử lý các thao tác như liệt kê, tìm kiếm, tạo, xoá, đổi tên, di chuyển file và thư mục.
* Khởi động chương trình bằng dòng lệnh hoặc kích chuột vào biểu tượng.
* Trong môi trường đồ hoạ: có khả năg phóng to, thu nhỏ, di chuyển và đóng của sổ. Tạo các thành phần giao diện đồ hoạ thân thiện như nút nhấn, menu…
2. Khác biệt
Linux phân biệt chữ hoa và chữ thường.
Linux thường im lặng: trong Unix và đối với một số shell diễn dịch lệnh của Linux, sau khi thực hiện xong lệnh, trình biên dịch thường trở về ngay dấu nhắc lệnh và không đưa ra thông báo gì.
Dấu phân cách đường dẫn và thư mục: Linux sử dụng dấu / trong khi Dos sử dụng \ .Linux sử dụng dấu – hoặc – làm dấu chuyển tham số trên dòng lệnh, trong khi Dos sử dụng khoá chuyển /.
Đường dẫn tìm kiếm: với hầu hết các lệnh, Dos thường tìm thông tin về đường dẫn của file trong biến môi trường PATH hoặc trong thư mục hiện hành. Linux thì chỉ tìm trong biến môi trường PATH.
Chương trình thực thi: với Dos/ Windows thường sử dụng tên mở rộng của file như .exe, .com, .bat để nhận dạng chương trình thực thi trong khi Linux thì không. Mọi file trong Linux đều được xem là chương trình thực thi trong khi Linux thi không. Mọi file trong Linux đều được xem là chương trình thực thi nếu có thuộc tính x (execute) cho file.
V. Sử Dụng Giúp Đỡ
1. Sử dụng giúp đỡ trong môi trường X-Windows:
Tương tự như trong hệ điều hành Windows.
2. Sử dụng giúp đỡ từ hàng lệnh:
Lệnh man.
Lệnh which.
Lệnh whereis.
3. Những lệnh thường dùng:
+ Lệnh về thư mục:
Lệnh ls.
Lệnh mkdir.
Lệnh rmdir.
Lệnh cd.
Lệnh pwd.
+ Lệnh về file:
Lệnh cat.
Lệnh more.
Lệnh cp.
Lệnh mv.
Lệnh rm.
Lệnh find.
+ Lệnh hệ thống:
Lệnh dmessg.
Lệnh free.
Lệnh shutdown.
Lệnh uptime.
VI. Mô Tả Những Ký Tự Đặt Biệt.
* Dùng thay cho một nhóm các ký tự.
* ? dùng thay thế cho một ký tự.
* < chuyển hướng nhập
* >,>> chuyển hướng xuất ra file.
* 1 dùng truyền thẳng ống dẫn (pipe). Nó là cách truyền dữ liệu sử dụng kết hợp 2 chuyển tiếp. Pipe sử dụng kết xuất của một chương trình làm dữ liệu nhập cho chương trình khác.
Ví dụ: ls -ll more. kết quả lệnh ls không xuất ra màn hình mà chuyển cho lệnh more xử lý như dữ liệu đầu vào