Cấu trúc hđh linux

HomeLinux > Cơ bảnTìm hiểu về cấu trúc hệ điều hành Linux

Kiến trúc tổng quan hệ thống Linux: 

Hệ điều hành là một phần mềm máy tính phức tạp để giúp người sử dụng có thể tương tác và điều khiển những phần cứng máy tính và các phần mềm chạy trên đó. Những hệ điều hành được xây dựng trên Linux Kernel được gọi là các distro [bản phân phối] của Linux. Sau đây ta cùng tìm hiểu về cấu trúc của các distro Linux nhé. Thông thường, nó được chia làm 3 thành phần chính, đó là: Kernel, Shell, Applications.

Cấu trúc của Linux.


1] KERNEL [NHÂN]:

Đây là thành phần quan trọng của mọi hệ điều hành, và được ví như trái tim của HĐH, kernel sẽ chứa các module hay các thư viện để quản lý và giao tiếp giữa phần cứng máy tính và các ứng dụng.
Chính bản thân Kali linux cũng được phát triển trên nhân Linux, phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan. Sau 3 năm, phiên bản Linux 1.0 được ra đời vào năm 1994, nó được xây dựng trên cơ sở cải tiến một phiên bản UNIX có tên Minix do Giáo Andrew S. Tanenbaum xây dựng và phổ biến.
Vì được phát hành với bản quyền GNU - General Public License. Do đó mà bất cứ ai cũng có thể tải và xem mã nguồn của Linux, thậm chí việc chỉnh sửa và phát triển một distro riêng cho mình. Và tính tới thời điểm bài viết này, đã có hơn 300 distro được xuất bản.
Mọi thông tin khác về kernel như phiên bản, thông tin cập nhật,... bạn có thể xem tại trang www.kernel.org.

2] SHELL LÀ GÌ?

Nằm trên Kernel đó chính là Shell. Đây là một chương trình có chức năng thực thi các lệnh [command] từ người dùng hoặc từ các ứng dụng yêu cầu, chuyển đến cho Kernel xử lý. Có thể hiểu Shell chính là trung gian nằm giữa Kernel và Application, có nhiệm vụ "phiên dịch" các lệnh từ Application gửi đến Kernel để thực thi.
Các loại shell như sau:

  • sh [the Bourne Shell]: đây là shell nguyên thủy của UNIX được viết bởi Stephen Bourne vào năm 1974. Đến nay shell sh vẫn sử dụng rộng rãi.
  • bash[Bourne-again shell]: đây là shell mặc định trên linux.
  • csh [C shell]: shell được viết bằng ngôn ngữ lập trình C, được viết bởi Bill Joy vào năm 1978.
  • Ngoài ra còn có các loại shell khác như: ash [Almquist shell], tsh [TENEX C shell], zsh [Z shell].

Có thể bạn không để ý, nhưng dấu nhắc Shell thay đổi tùy thuộc vào tài khoản user đang làm việc. Ví dụ, khi làm việc với tài khoản user root, dấu nhắc shell có dạng:
[[mcode]][root@localhost root]#[[ecode]]
Còn khi làm việc với tài khoản user thường, dấu nhắc shell có dạng:
[[mcode]][linux@localhost linux]$[[ecode]]

3] APPLICATION [ỨNG DỤNG]:

Application chính là các ứng dụng, phần mềm, và tiện ích mà người dùng cài đặt trên máy và sử dụng nó hằng này. Ta không còn xa lạ gì nữa. Trên Kali, các công cụ chính là các Application, trình duyệt cũng là Application, hay chính giao diện GNOME của bạn đang sử dụng cũng là Application.

  • 1. Linux là gì?
  • 2. So sánh giữa Linux và Windows
  • 3. Các bản phân phối Linux
    • Debian
    • Ubuntu
    • CentOS/Red Hat Enterprise Linux
    • Kali Linux
  • Cấu trúc HĐH Linux
    • Cấu trúc file Linux

1. Linux là gì?

Linux là một hệ điều hành mã nguồn Mở, giống như Windows của MS hay MacOS của Apple. Điểm khác biệt là Linux có thể được phát triển ra nhiều phiên bản khác nhau như Ubuntu, CentOS, Kali linux,..

Thay vì bắt người dùng phải bỏ tiền ra mua bản quyền, thì Linux cho phép người dùng sử dụng miễn phí để tạo ra các HĐH [Hệ điều hành] khác nhau. Chính vì vậy mà Linux được sự dụng rộng rãi.

Bên cạnh đó, tính bảo mật của các phiên bản chạy bằng Linux cũng rất tốt. Tất cả những phần mềm độc hại như virus, mã độc… đều không thể hoạt động trên Linux.

Linux không đòi hỏi một máy tính có cấu hình cao để chạy, nó hoạt động rất tốt trên hầu hết các đời máy, các phiên bản nâng cấp càng ngày ngày tối ưu hơn. Đặc biệt, nó chạy rất nhanh ngay cả khi bạn mở cùng 1 một lúc nhiều cửa sổ hay chạy nhiều tác vụ.

Tuy nhiên, Linux vẫn còn một số hạn chế nhất định. Số lượng ứng dụng còn hạn chế, cách cài đặt còn nhiều khó khăn. Nhiều công ty không triển khai dirver thiết bị của họ để tương thích với hệ điều hành này.

2. So sánh giữa Linux và Windows

Chắc hẳn những ai đã và đang sử dụng nền tảng Window khi mới bắt đầu chuyển sang Linux đều gặp khó khăn và đa phần sau một thời gian sử dụng đề quay lại Window.

Vậy tại sao lại khó sử dụng như vậy? Chúng ta cùng điểm qua một vài điểm khác nhau giữa 2 HĐH này:

– Cấu trúc file: Thay vì có ổ đĩa C hay D thì Linux sử dụng cây thư mục.

– Không sử dụng Registry: Nếu trong Window, bạn có thể tìm được toàn bộ thông tin ứng dụng, mật khẩu, thiết bị,… Thì trong Linux, dữ liệu được sắp xếp dưới dạng Module dựa trên cơ sở chương trình phân cấp người sử dụng.

– Trình quản lý gói: Toàn bộ các ứng dụng chúng ta thường cài đặt có đuôi dạng .exe ở Window được tập hợp lại. Người dùng chỉ cần sử dụng cửa sổ lệnh [command terminal] để tìm phải cài đặt.

– Giao diện: Tùy từng phiên bản khác nhau của HĐH Linux, chúng không đơn giản như ở Window. Giao diện sẽ tách rời với lõi hệ thống, cho nên giao diện có thể do bạn thay đổi mà không cần phải cài lại HĐH.

– Tài khoản và quyền Users

+ Linuxcó 3 loại users: Regular, Administrator [root], service

+ Trong khi Windows có 4 loại users là: Administrator, Standard, Child và Guest.

3. Các bản phân phối Linux

Vì là HĐH mở nên có rất nhiều bản phân phối trên thị trường, trong bài viết này, chúng ta chỉ xem qua một vài bản được nhiều người sử dụng nhất hiện nay.

Debian

Debian là một hệ điều hành chứa một số lượng rất lớn các phần mềm mã nguồn mở miễn phí [hơn 29000 bản và tiếp tục tăng] và luôn được cộng đồng lập trình viên yêu thích. Mặc dù thuờng xuyên phát hành các phiên bản mới nhưng nhược điểm của Debian là cập nhật khá chậm so với các bản phân phối khác.

Ubuntu

Hệ điều hành Ubuntu là một trong những bản phân phối Linux phổ biến nhất hiện nay do Mark Shuttleworth sáng lập. Hệ điều hành này được sử dụng nhiều nhất và ưa chuộng nhất vì nó có giao diện đẹp, thân thiện, dễ sử dụng, kho phần mềm ứng dụng rất phong phú. Đây có lẽ là 1 trong những bản phân phối được các nhà phát triển nâng cấp phần mềm tương thích với HĐH này nhiều nhất. Những ai mới bắt đầu học về Linux nên tìm bắt đầu từ bản phân phối này.

[xem cách cài đặt Ubuntu ver 18.04 chi tiết tại đây!]

Giống như Windows, Ubuntu có 2 loại:

+ Ubuntu Desktop: giống như các bản Window XP, Window 7, Window 10

+ Ubuntu Server: tương tự Window Server [2002, 2012, 2019]

CentOS/Red Hat Enterprise Linux

Đây là 2 bản phân phối đều xuất phát từ RetHat giành cho thị trường thương mại. Hiện nay, đây là bản được đánh giá là an toàn nhất. Do tính ổn định cũng như độ mượt, nhanh nhậy mà các bản phân phối này thường được sử dụng trong các doanh nghiệp, cơ quan nhà nước.

Kali Linux

Đối với ai học về chuyên ngành an ninh mạng chắc hẳn đã từng nghe qua  bản phân phối này. Mục đính chính của Kali là sử dụng để kiểm tra, tấn công các lỗ hổng bảo mật của hệ thống mạng. Đây được coi là phiên bản hữu ích nhất đối với những chuyên gia bảo mật.

Ngoài ra, còn có rất nhiều các bản phân phối Linux khác nhưng không được người dùng quan tâm vì tính đặc biệt của nó chỉ dành cho những người làm việc trong môi trường nhất định. Kể đến như  OpenSUSE, Mageia, Puppy Linux,…

Cấu trúc HĐH Linux

HĐH Linux được cấu tạo từ 3 thành phần bao gồm: Kernel [nhân], Shell và Applications

Kernel là thành phần quan trọng nhất, giống như system32 của Window, tại đây chứa tất cả các module phần mềm, quản lí các giao tiếp với phần cứng.

Shell là một chương trình dùng để thực thi câu lệnh từ người dùng trong các ứng dụng rồi đưa đến Kernel để xử lí chúng. Ngoài ra, Shell còn được ví như 1 lớp bảo mật bảo vệ Kernel khỏi các yêu cầu không hợp lệ.

Applications hay được gọi là ứng dụng mà chúng ta cài trên HĐH tương tự file .exe trong Window.

Cấu trúc file Linux

Khác với Window, trong Linux toàn bộ các file được cấu trúc theo dạng cây [tree] với thư mục gốc được thể hiện bằng dấu “/”.

Các thư mục con sẽ nằm sau dấu “/”. VD: /bin, /home, /lib

Chức năng của mỗi thư mục sẽ khác nhau giúp cho HĐH này hoạt động rất nhanh chóng. Bảng dưới đây sẽ liệt kê chi tiết các chức năng của từng thư mục.

/bin Chứa các câu lệnh thực thi. Vd: ps, ls, ping,…
/sbin Tương tự /bin nhưng dùng dưới quyền Admin, giống với user root
/boot Chứa các thư viện cần thiết dùng để khởi động hệ thống
/dev Các phân vùng ổ cứng, thiết bị ngoại vi như USB, ổ đĩa cắm ngoài, card mạng,… hay bất cứ thiết bị nào gắn kèm vào hệ thống đều được lưu ở đây.
/etc Chứa file cấu hình hệ thống, đồng thời chứa cả shell script dùng để khởi chạy hoặc tắt các chương trình khác.
/lib Chứa các thư viện hỗ trợ cho các câu lệnh thực thi trong /bin/sbin. Các thư viện này thường có tên bắt đầu bằng ld* hoặc lib*, so*
/lib64 Tương tự /lib nhưng dành cho bản 64bit
/opt Thư mục chứa các chương trình được cài đặt
/media Thư mục có vai trò như là nơi lưu trữ các thiết bị gắn vào tạm thời. Thay vì tìm dữ liệu trong các thiết bị đó như kiểu mở file trong Window thì việc tìm kiếm sẽ diễn ra ở đây.
/temp Thư mục này chứa các file tạm thời được tạo bởi hệ thống và người dùng. Các file lưu trong thư mục này sẽ bị xóa khi hệ thống khởi động lại.
/home Chứa các thư mục mà người dùng tạo ra
/mnt Thư mục dùng để gắn kết các file hệ thống tạm thời
/proc Thư mục chứa các tiến trình hệ thống đang chạy
/root Thư mục home của user root, người dùng có quyền ghi, sửa. Lưu ý, /root khác với /

Bài Viết Liên Quan

Chủ Đề