Hạt nhân Linux

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Tux
Bản mới nhất 3.14
3.13.2 sửa dữ liệu
Giấy phép Giấy phép Công cộng GNU
Website www.kernel.org
The Linux kernel is ubiquitously found on various hardware and is supported by an abundance of both, free and open-source and also proprietary software

Nhân Linuxhạt nhân của Linux, được lập trình bằng ngôn ngữ C và được Linus Torvalds phát triển, mô phỏng lại hạt nhân Unix. Linux là một trong những ví dụ điển hình của phần mềm mở và miễn phí. Nó được viết bởi Linus Torvalds vào năm 1991. Rất sớm từ trước đó, MINIX đã góp phần vào code và ý tưởng cho Linux. Cùng thời gian đó, các dự án GNU đã tạo ra được rất nhiều các thành phần cần thiết cho một hệ điều hành phần mềm mở.

Biểu tượng Tux của Linux, được tạo bởi Larry Ewing

Lịch sử[sửa | sửa mã nguồn]

Xem thêm: Lịch sử Linux

Dự án được khởi tạo vào năm 1991 bằng một bài viết nổi tiếng trong nhóm tin Usenet comp.os.minix, trong đó có đoạn viết:

"I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones..." [1]
( "Tôi đang xây dựng một hệ điều hành tự do (chỉ là sở thích và sẽ không lớn và chuyên nghiệp như gnu) cho 386(486)..." )

Vào thời điểm này, dự án GNU đã hoàn thành nhiều cấu thành thiết yếu cho một hệ điều hành tự do, tuy nhiên phần hạt nhân (lõi - Linux Kernel) GNU Hurd của hệ điều hành này vẫn chưa được hoàn thành. Ngoài ra hệ điều hành BSD vẫn chưa được tự do hóa do các trở ngại về mặt pháp lý. Những điều này đã tạo ra một chỗ đứng thuận lợi cho hạt nhân Linux, nó nhanh chóng giành được sự quan tâm của các nhà phát triển cũng như người dùng. Trước đây, các hacker của Minix đã đóng góp các ý tưởng cũng như mã nguồn cho hạt nhân Linux và cho đến ngày hạt nhân Linux nhận được đóng góp của hàng ngàn lập trình viên trên khắp thế giới.

Phần hạt nhân (lõi hay kernel) của Linux có thể hiểu đơn giản là một tập hợp các chương trình thường trú trong bộ nhớ. Nó là phần chính của hệ điều hành, phụ trách hầu hết các chức năng chính của hệ điều hành như quản lý bộ nhớ, thực thi nhiệm vụ và truy nhập phần cứng...

Điều khoản của cấp giấy phép[sửa | sửa mã nguồn]

Giấy phép của Linux là GPL. Linux là tên nhãn hiệu được đăng ký của Linus Torvalds ở Mỹ và vài nước khác.

Tính năng kĩ thuật[sửa | sửa mã nguồn]

Linux hỗ trợ đa tác vụ ưu tiên (cả user mode và kernel mode), bộ nhớ ảo, thư viện chia sẻ, quản lý bộ nhớ, bộ giao thức Internet và luồng.

Kiến trúc[sửa | sửa mã nguồn]

Linux là nhân nguyên khối. Trình điều khiển thiết bị và hạt nhân chạy trong không gian hạt nhân, với khả năng truy suất đến phần cứng, tuy nhiên một vài ngoại lệ chạy ở không gian user. Hệ thống đồ hoạ mọi người sử dụng với Linux không chạy trong hạt nhân.

Hạt nhân hoảng loạn(kerner panic)[sửa | sửa mã nguồn]

Trong Linux, một "hoảng loạn" là lỗi hệ thống không khắc phục được phát hiện bởi hạt nhân. Khả năng mã hạt nhân phát xác định những điều kiện gọi hàm panic ở tệp sys/system.h.

Ngôn ngữ[sửa | sửa mã nguồn]

Linux được viết bằng một phiên bản của ngôn ngữ lập trình C hỗ trợ bởi GCC, cùng với môt số phần ngắn viết bằng hợp ngữ cho kiến trúc đích. Bởi vì sự hỗ trợ mở rộng của C mà nó được viết, GCC trong một thời gian dài là trình biên dịch có thể dịch được đúng hạt nhân Linux.
Nhiều ngôn ngữ khác được sử dụng trong nhiều cách, chủ yếu liên quan đến quá trình biên dịch. Bao gồm Perl, Python và nhiều loại shell scripting.

Khả chuyển[sửa | sửa mã nguồn]

Linux là một hạt nhân được khả chuyển rộng nhất từ các thiết bị cầm tay đến siêu máy tính. Tháng 6 2009, Linux là hệ điều hành trên 91% của danh sách Top 500 siêu máy tính. Hệ điều hành Google Android và Nokia Maemo, được phát triển cho điện thoại di động, cùng sử dụng nhân Linux.

Biên dịch hạt nhân[sửa | sửa mã nguồn]

Với máy tính tốc độ thấp, khả năng biên dịch hạt nhân là khả dĩ. Với trình biên dịch GCC và các công cụ khác như Perl,... bạn có thể biên dịch hạt nhân Linux. Thời gian biên dịch khoảng trên dưới 1 giờ đồng hồ. Sau khi biên dịch bạn có thể cấu hình lại boot loader config để khởi động vào hạt nhân mới biên dịch. Có thể biên dịch đa kiến trúc, ngoài kiến trúc bạn đang dùng.