Lịch sử phát triển Unix và Linux
UNIX ra đời từ một đề án nghiên cứu Bell Labs của AT&T (Ken Thompson, Dennis Ritchie) vào năm 1969. Ban đầu hệ điều hành Unix đã được phát triển như một hệ điều hành đa nhiệm cho các máy mini và các máy lớn (mainframe) trong những năm 70. Cho đến nay, Unix đã được phát triển trở thành một hệ điều hành phổ thông trên toàn thế giới, mặc dù với giao diện chưa thân thiện và chưa được chuẩn hóa hoàn toàn. Xem thêm: https://vi.wikipedia.org/wiki/Unix
Linus Torvalds (Nguồn wikipedia.org)
Năm 1991, nhà Khoa học máy tính Linus Torvalds cho ra đời hệ điều hành Linux dựa trên nền tảng của Unix trong dự án Linux kernel tại Đại học Helsinki. Xem thêm: https://vi.wikipedia.org/wiki/Linux
Biểu đồ lịch sử phát triển của các hệ thống tương tự Unix (Nguồn wikipedia.org)
–> Bên cạnh các hệ điều hành được phát triển dựa trên Windows NT của Microsoft, gần như mọi hệ điều hành khác đều là những “hậu duệ” của Unix.
Các bản phân phối (distro) của Linux
Các nhà phát triển sẽ kết hợp giữa Kernel của Linux và các phần mềm miễn phí khác để tạo ra các hệ điều hành hoàn chỉnh. Theo thống kê của DistroWatch thì đến hiện tại (năm 2020) có đến 274 bản phân phối Linux khác nhau đang được sử dụng trên thế giới. Tham khảo thêm tại website: https://distrowatch.com/
Những thành phần được xây dựng xung quanh một bản phân phối Linux (Nguồn wikipedia.org)
Kiến trúc của Linux
-
Nhân (Kernel): là thành phần cốt lõi chính yếu của hệ điều hành chịu trách nhiệm cho tất cả các thao tác quan trọng của hệ điều hành Linux.
-
Lớp phần cứng (Hardware Layer): các thiết bị ngoại vi như HDD, RAM, CPU…
-
Lớp vỏ (Shell Layer): một giao diện (interface) giữa người dùng và nhân (Kernel).Nó thường sử dụng dòng lệnh người dùng và thực các chức năng của nhân. Việc thao tác trực tiếp tới kernel là rất phức tạp và đòi hỏi kỹ thuật cao, để trách sự phức tạp cho người sử dụng và để bảo vệ kernel từ những sai sót của người sử dụng ,shell đã được xây dựng thành lớp bao quanh kernel. Người sử dụng gửi yêu cầu tới shell, shell biên dịch chúng và sau đó gửi tới kernel. Các loại Shell thông thường:
- Shell Bourne (sh): Shell nguyên thuỷ có trên hầu hết các hệ thống;
- Unix/Linux…Nó rất hữu dụng cho việc lập trình Shell;
- Bourne Again Shell (bash): phần mở rộng của sh, có giao diện lập trình rất tốt và dễ dùng. Đây là Shell được cài đặt mặc định trên các hệ thống Linux;
- Shell C (csh): Đáp ứng tương thích cho người dùng,hỗ trợ rất mạnh cho nhữngngười dùng giỏi ngôn ngữ C;
- Shell Korn (ksh): Shell kết hợp tính năng ưu việt của sh và csh;
- Zsh :Là shell được đánh giá là mạnh nhất trong thời gian gần đây.
Kiến trúc Linux (Nguồn tutorialspoint.com)
-
Các tiện ích: được người dùng thường xuyên sử dụng. Nó dùng cho nhiều thứ như thao tác tập tin, đĩa, nén, sao lưu tập tin, … 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 đồ họa. Hầu hết các tiện ích dùng trong Linux là sản phẩm của chương trình GNU. Linux có sẵn rất 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 sử dụng bởi người dùng hoặc hệ thống. Một số tiện ích được xem là chuẩn trong hệ thống Linux như passwd, ls, pa, vi;
-
Chương trình ứng dụng: Khác với các tiện ích, các ứng dụng như chương trình word, hệ quản trị cơ sở dữ liệu,… là các chương trình có độ phức tạp lớn và được các nhà sản xuất viết ra:
- Văn phòng (open office);
- Giải trí (movie player, xmms, totem player kaffeine, …);
- Xử lý ảnh (GIMP);
- Dịch vụ mạng (Telnet, SSH, FTP, Postfix, Apache, Bind, CUPS, OpenLDAP, Iptable, Squid, Mozilla-Firefox, SAMBA, NFS);
- Cơ sở dữ liệu (MySQL, PostgreSQL);
- Lập trình (Emacs, C/C++, QT Trolltech, Fortran, Java, R, octave, Lapack, Blas, Python, Perl, AWK, TCL/TK, PHP, …);
- Quản trị hệ thống(Webmin, VNC, …).
Một số ưu điểm và nhược điểm của Linux
-
ƯU ĐIỂM
-
-
Miễn phí cho người dùng: Linux được phát triển miễn phí cho người sử dụng và dựa trên nền tảng mã nguồn mở;
-
Linh hoạt: Đối với Linux, nếu người dùng có hiểu biết sâu về Linux thì có thể tự thực hiện các tùy biến theo ý mình. Tuy nhiên, điều này không xảy ra với Windows, người dùng cần phải được Windows cho phép mỗi lần muốn tùy biến. Nền tảng này cũng tương thích với rất nhiều các môi trường khác nhau, do đó, rất lý tưởng cho các lập trình viên và developer.
-
Bảo mật:
-
Linux có cơ chế phần quyền chặt chẽ trên các tài khoản, tập tin (tập tin thường, tập tin đặc biệt và thư mục), dữ liệu;
-
-
-
-
-
Linux là hệ điều hành mã nguồn mở có cộng đồng lập trình viên hỗ trợ rất nhanh trong việc vá lỗ hổng;
-
Tường lửa Iptables được đánh giá cao so với các tường lửa của hệ điều hành khác.
-
-
Phần lớn đối tượng người dùng Linux có ý thức và kiến thức rất tốt về an toàn mạng;
-
Linux chỉ chiếm số lượng rất nhỏ thị phần người dùng nên không phải là mục tiêu được các tin tặc quan tâm đến;
-
-
-
Hiệu năng: Nói về các khả năng cốt lõi của HĐH như lập lịch xử lý luồng, quản lý bộ nhớ, xử lý i/o, quản lý hệ thống tệp và các công cụ cốt lõi, nói chung Linux vượt trội hơn Windows. Linux có thể cho hiệu năng tốt, độ ổn định cao trên các máy có cấu hình thấp.
-
-
NHƯỢC ĐIỂM
-
-
Số lượng ứng dụng hỗ trợ vẫn còn rất hạn chế;
-
Một số nhà sản xuất không phát triển driver hỗ trợ nền tảng Linux;
-
Mất thời gian để làm quen, đặc biệt là khi chuyển từ Windows sang sử dụng Linux thì sẽ cần nhiều thời gian để tương tác và thích nghi.
-
Hệ thống chứng chỉ quốc tế Linux của LPI
Linux Professional Institute (LPI) là một tổ chức phi lợi nhuận tọa lạc ở Toronto, Canada, chuyên nghiên cứu, phát triển hệ điều hành Linux. Hệ thống chứng chỉ của LPI cung cấp một số chứng chỉ Linux trung lập được thiết kế dành cho các chuyên gia từ cấp độ nhập môn đến cấp cao và đã trở thành một trong những hệ thống chứng chỉ tiêu chuẩn được công nhận tại rất nhiều quốc gia trên thế giới.
Chương trình đào tạo chứng chỉ LPI gồm có 3 cấp độ sau:
-
LPIC-1: Linux Administrator– Cấp độ nhập môn dành cho các cá nhân có khả năng cài đặt & cấu hình hệ điều hành Linux, duy trì hệ thông từ dòng lệnh và cấu hình mạng cơ bản
-
LPIC-2: Linux Engineer – Cấp độ trung cấp được thiết kế cho các chuyên gia có thể quản trị hệ thống mạng hỗn hợp từ nhỏ đến vừa
-
LPIC-3: Linux Enterprise Professional Certification – Cấp độ cấp cao cho các chuyên gia Linux có thể lập kế hoạch, khái niệm hóa, thiết kế, triển khai và xử lý sự cố cài đặt Linux cho môi trường doanh nghiệp
Các bạn có thể truy cập trang chủ LPI: https://www.lpi.org/ để tham khảo thêm.
Hệ điều hành CentOS
CentOS (Community Enterprise Operating System) là một bản phân phối dựa trên Red Hat Enterprise Linux thích hợp để phát triển và xây dựng ứng dụng dành cho máy chủ. Các nhà cung cấp dịch vụ hosting từ nhỏ đến lớn trên toàn thế giới và Việt Nam đều đang sử dụng CentOS là hệ điều hành chính thức để cung cấp cho khách hàng. Các bạn có thể download hệ điều hành CentOS tại trang chủ: https://www.centos.org/download/
Philipp Bui Do
Xin các bạn vui lòng trích dẫn rõ: PhilippBuiDo – sinhvientot.net để tôn trọng đóng góp của tác giả. Chân thành cám ơn!
Bài viết được tham khảo từ các nguồn:
lpi.org
centos.org
wikipedia.org
tutorialspoint.com
sinhvientot.net