Hạt nhân ưu tiên chỉ có nghĩa là không có Khóa hạt nhân lớn .
Linux đã có nhiều tác vụ được ưu tiên (tức là mã người dùng có thể được ưu tiên) kể từ giây phút đầu tiên (theo tôi biết, Linux 0.0.1 đầu tiên được Linus tải lên máy chủ funp ftp đã được đa nhiệm ưu tiên). Nếu bạn đã thực thi, ví dụ, nhiều quá trình nén hoặc biên dịch, chúng được thực thi song song từ giây phút đầu tiên.
Trái ngược với - tại thời điểm đó - Win31 được sử dụng rộng rãi. Trên Win31, nếu một tác vụ lấy CPU từ "kernel", theo mặc định, trách nhiệm của nó là xác định khi nào sẽ trao lại quyền điều khiển cho HĐH (hoặc cho các tác vụ khác). Nếu một quy trình không có hỗ trợ đặc biệt cho tính năng này (yêu cầu công việc lập trình bổ sung), thì trong khi thực hiện nó, tất cả các tác vụ khác đều bị treo. Ngay cả hầu hết các ứng dụng cơ bản được tích hợp vào Win31 đều hoạt động như vậy.
Đa nhiệm ưu tiên có nghĩa là các tác vụ không có cách nào để phân bổ CPU theo ý muốn. Thay vào đó, nếu khe thời gian của họ hết hạn, kernel sẽ lấy CPU ra khỏi chúng. Do đó, trong các hệ điều hành được ưu tiên, một quy trình được viết kém hoặc hoạt động kém không thể đóng băng HĐH hoặc tránh các quá trình khác chạy. Linux luôn được ưu tiên cho các quy trình không gian của người dùng.
Khóa hạt nhân lớn có nghĩa là trong một số trường hợp, bên trong không gian hạt nhân , vẫn có thể có một số khóa, ngăn các quá trình khác chạy mã được bảo vệ. Ví dụ: bạn không thể gắn kết nhiều hệ thống tệp đồng thời - nếu bạn đưa ra nhiều lệnh gắn kết, chúng vẫn được thực thi liên tiếp, bởi vì việc gắn kết những thứ cần thiết để phân bổ Khóa hạt nhân lớn.
Làm cho sự ưu tiên của kernel đã được yêu cầu để loại bỏ khóa kernel lớn này, tức là tạo mount và bất kỳ tác vụ nào khác để có thể chạy đồng thời. Đó là một công việc lớn.
Trong lịch sử, điều này thực sự cấp bách bởi sự hỗ trợ ngày càng tăng của SMP (hỗ trợ đa CPU). Trong lần đầu tiên, có các bo mạch chủ thực sự nhiều CPU. Sau đó, nhiều CPU ("lõi") đã được tích hợp vào một chip đơn, ngày nay, các bo mạch chính thực sự đa CPU đã rất hiếm (chúng thường có trong các hệ thống máy chủ tốn kém). Ngoài ra, các hệ thống đơn lõi thực sự (nơi chỉ có một cpu duy nhất, với một lõi đơn) là rất hiếm.
Do đó, câu trả lời cho câu hỏi của bạn không phải là "lý do không ưu tiên" là gì, bởi vì nó luôn luôn được ưu tiên. Câu hỏi thực sự là, điều gì đã khiến cho việc thực thi kernel được ưu tiên thực sự cần thiết . Câu trả lời là: tỷ lệ ngày càng tăng của các hệ thống nhiều CPU, nhiều lõi.