Khác biệt giữa bản sửa đổi của “Hạt nhân (khoa học máy tính)”

Nội dung được xóa Nội dung được thêm vào
n →‎Quản lý tiến trình: clean up, replaced: chia sẽ → chia sẻ using AWB
KingPika (thảo luận | đóng góp)
nKhông có tóm lược sửa đổi
Dòng 7:
<br />
==Cơ sở cơ bản của hạt nhân==
Mục đích chính của hạt nhân là quản lý tài nguyên máy tính và cho phép những chuơngchương trình khác chạy và sử dụng những tài nguyên này. Bình thường, tài nguyên này bao gồm:
* [[Vi xử lý|Bộ vi xử lý]], đây là thành phần trung tâm của hệ thống máy tính, có trách nhiệm thực thi chương trình. Hạt nhân có trách nhiệm quyết định tại thời điểm nào, chuơngchương trình đang chạy nào được thực thi.
* [[Bộ nhớ]] máy tính. Bộ nhớ được sử dụng để lưu chương trình và dữ liệu. Hạt nhân sẽ quyết định vùng nhớ nào mà một tiến trình được phép sử dụng, và xác định điều gì phải làm khi không đủ bộ nhớ.
* Bất cứ thiết bị xuất/nhập có trong máy tính, như bàn phím, chuột, đĩa, máy in, màn hình v.v.... Hạt nhân sẽ phân bổ yêu cầu từ phần mềm đến để thực hiện xuất/nhập đến thiết bị phù hợp và cung cấp phương pháp thuận tiện sử dụng thiết bị.
=== Quản lý tiến trình ===
Tác vụ chính của hạt nhân là cho phép kích hoạt ứng dụng và hỗ trợ nó với tính năng như trừu tượng phần cứng. Để chạy một ứng dụng, hạt nhân sẽ thiết lập một không gian địa chỉ cho ứng dụng, tải tệp chứa mã ứng dụng vào bộ nhớ, thiết lập [[ngăn xếp]] cho chương trình và nhảy đến vị trí chuơngchương trình trong bộ nhớ, do đó chương trình chạy. <br />
Hạt nhân [[đa nhiệm]] cho người dùng thấy ảo giác một số tiến trình có thể chạy song song trên máy tính là cao hơn số tiến trình mà máy tính vật lý có thể thực hiện được. Thông thường, số lượng tiến trình của một hệ thống có thể chạy song song là số bộ vi xử lý được cài đặt.
<br />
Trong hệ thống đa nhiệm ưu tiên, hạt nhân sẽ đưa cho chương trình một khoảng thời gian và chuyển từ tiến trình sang tiến trình nhanh mà người dùng xem như song song. Hạt nhân sẽ sử dụng [[thuật toán lập lịch]] để xác định tiến trình nào sẽ chạy tiếp và bao nhiêu thời gian. Thuật toán này cho phép một số tiến trình có mức độ ưu tiên cao hơn những tiến trình khác. Hạt nhân cũng cung cấp cho tiến trình một cách để liên lạc với nhau; đó là [[thông tin liên tiến trình]] và cái chính là chia sẻ bộ nhớ, gửi thông điệp... <br />
Hạt nhân cũng có thể hỗ trợ [[đa xử lý]] ([[đa xử lý đối xứng]] [[SMP]] hoặc Non-Uniform Memory Access) trong trường hợp này, những chuơngchương trình khác nhau và luồng sẽ chạy trên bộ vi xử lý khác nhau.<br />
=== Quản lý bộ nhớ===
Hạt nhân có toàn quyền truy xuất bộ nhớ và phải cho phép tiến trình truy xuất an toàn bộ nhớ nếu chúng cần. Thường thì đầu tiên thực hiện điều này là địa chỉ ảo, thường đạt được bằng [[phân trang]] và [[phân đoạn]]. Địa chỉ ảo cho phép hạt nhân đưa ra địa chỉ vật lý khác với địa chỉ thực. Không gian địa chỉ ảo có thể khác với tiến trình; địa chỉ mà một tiến trình truy xuất tại một thời điểm cụ thể có thể khác với tiến trình khác từ tiến trình khác tại cùng địa chỉ. Điều này cho phép chuơngchương trình nghĩ rằng chỉ có nó là duy nhất chạy và vì thế ngăn chặn được ứng dụng va vào nhau. <br />
=== Quản lý thiết bị ===
Hạt nhân cung cấp khả năng truy suất đến các thiết bị thông qua lớp trừu tượng, tuy nhiên bên trong hạt nhân có một lớp đó là quản lý thiết bị.