Giới thiệuLinux scheduler là một trình lên lịch ưu tiên dựa trên lịch trình công việc dựa trên ưu tiên tĩnh và năng động của họ. Khi kết hợp những ưu tiên họ tạo thành một công việc tốt đẹp. Mỗi lần trình lập lịch biểu Linux chạy, mỗi nhiệm vụ vào hàng đợi chạy được kiểm tra và giá trị tốt đẹp của nó là tính toán. Nhiệm vụ với lòng tốt cao nhất được chọn để chạy tiếp theo.Khi cpu ràng buộc tác vụ đang chạy trong hệ thống, trình lập lịch biểu Linux có thể không được gọi là cho khoảng thời gian lên để.40 giây. Điều này có nghĩa là tác vụ đang chạy CPU chính nó trong thời gian tới.40 giây (bao lâu phụ thuộc vào các nhiệm vụ ưu tiên và cho dù nó chặn hay không). Điều này là tốt cho thông lượng vì có vài computationally uneccessary bối cảnh thiết bị chuyển mạch. Tuy nhiên, nó có thể giết chết tương tác vì Linux chỉ khứ khi khối công việc hoặc khi công việc động ưu tiên (số lượt truy cập) đạt zero. Do đó theo mặc định của Linux ưu tiên dựa trên phương pháp lập kế hoạch, lập kế hoạch dài latencies có thể xảy ra.Xem xét các độ trễ lập kế hoạch chi tiết tốt hơn, Linux scheduler làm cho việc sử dụng một bộ đếm thời gian ngắt mỗi 10 msec. Bộ đếm thời gian này erodes của tác vụ đang chạy động ưu tiên (decrements số lượt truy cập của nó). Số lượt truy cập một nhiệm vụ bắt đầu ra cùng một giá trị ưu tiên của nó chứa. Một khi ưu tiên năng động (số lượt truy cập) đã xói mòn 0 nó một lần nữa thiết lập lại cho rằng mình ưu tiên tĩnh (ưu tiên). Đó là chỉ sau khi truy cập đến 0 đó một cuộc gọi đến schedule() được thực hiện. Do đó một nhiệm vụ ưu tiên mặc định của 20 có thể chạy.200 giây (200 msecs) trước khi bất kỳ công việc khác trong hệ thống được một cơ hội để chạy. Một công việc ở mức ưu tiên 40 (ưu tiên cao nhất được phép) có thể chạy cho.400 giây mà không có bất kỳ lịch xảy ra miễn là nó không chặn hoặc mang lại.Lập lịch Linux đã được trải qua một số cải tiến lớn kể từ hạt nhân phiên bản 2.4. Đã có rất nhiều khiếu nại về các tương tác của trình lập lịch biểu trong hạt nhân 2.4. Trong phiên bản này, trình lập lịch biểu được thực hiện với một chạy hàng đợi cho tất cả các bộ xử lý có sẵn. Tại mỗi lập kế hoạch, hàng đợi này đã bị khóa và mỗi nhiệm vụ vào hàng đợi này nhận bản Cập Nhật timeslice. Việc thực hiện này gây ra hiệu suất kém trong tất cả các khía cạnh. Các thuật toán lập lịch và hỗ trợ các mã đã đi qua một viết lại lớn sớm trong loạt phim phát triển 2.5 hạt nhân. Trình lập lịch biểu mới được phát sinh để achieveO (1) thời gian chạy bất kể số lượng runnable nhiệm vụ trong hệ thống. Để đạt được điều này, mỗi bộ xử lý có hàng đợi mình chạy. Điều này sẽ giúp rất nhiều trong việc giảm khóa ganh đua. Ưu tiên mảng đã được giới thiệu sử dụng mảng hoạt động và hết hạn mảng để theo dõi chạy nhiệm vụ trong hệ thống. TheO (1) chạy thời gian chủ yếu được rút ra từ cấu trúc dữ liệu mới này. Trình lập lịch biểu đặt tất cả các quy trình hết hạn vào mảng đã hết hạn. Khi không có không có quá trình hoạt động có sẵn trong mảng hoạt động, nó giao dịch hoán đổi mảng hoạt động với các mảng đã hết hạn, mà làm cho mảng hoạt động sẽ trở thành mảng đã hết hạn và hết hạn mảng sẽ trở thành hoạt động mảng. Đã có một số xoắn làm thành này trình lập lịch biểu để tối ưu hóa hơn nữa bằng cách đưa hết hạn nhiệm vụ trở lại vào mảng hoạt động thay vì mảng đã hết hạn trong một số trường hợp. O (1) lịch sử dụng một tính toán heuristic để Cập Nhật năng động ưu tiên công việc dựa trên các tương tác của họ (I/O ràng buộc so với CPU ràng buộc) ngành công nghiệp đã hài lòng với trình lập lịch biểu mới này cho đến khi Con Kolivas giới thiệu ông trình lập lịch biểu mới có tên là hạn chót cầu thang Luân (RSDL) và sau đó hạn chót cầu thang (SD). Ông schedulers mới đã chứng tỏ một thực tế rằng lập kế hoạch công bằng giữa các quá trình có thể đạt được mà không có bất kỳ tính toán phức tạp. Lập lịch của mình được thiết kế để chạy inO (n) nhưng tính năng bay vượt quá trình lập lịch biểu currentO (1).Kết quả đạt được từ SD scheduler ngạc nhiên khi tất cả các nhà phát triển hạt nhân và các nhà thiết kế. Phương pháp lập kế hoạch công bằng trong SD scheduler khuyến khích Igno Molnar để tái thực hiện trình lập lịch biểu Linux mới tên là hoàn toàn hợp lý Scheduler (CFS). CFS scheduler là một cải tiến lớn trên trình lập lịch biểu hiện không chỉ trong hiệu suất và tương tác của nó, nhưng cũng có trong logic lập kế hoạch đơn giản hóa và đưa thêm modularized mã thành trình lập lịch biểu. CFS scheduler được sáp nhập vào phiên bản chính 2.6.23. Kể từ đó, đã có một số cải tiến nhỏ được thực hiện để trình lên lịch CFS trong một số lĩnh vực như tối ưu hóa, tải cân bằng và nhóm tính năng lập lịch trình.
đang được dịch, vui lòng đợi..