Khác biệt giữa các bản “Task (khoa học máy tính)”

thêm liên kết task queue
(→‎Lịch sử: sửa đổi Quote)
(thêm liên kết task queue)
[[Tập tin:Thread_pool.svg|nhỏ|400x400px| Hình minh họa cho một thread pool đang xử lý các task. Các task chờ thực thi sẽ ở trong hàng đợi task ('''Task Queue''') (màu tím) và các task đã hoàn thành được minh họa trong '''Completed Tasks''' (màu vàng), theo nghĩa task là là một "đơn vị công việc".]]
Trong khoa học máy tính, một task là một đơn vị thực thi (unit of execution) hoặc một đơn vị công việc (unit of work). Khái niệm task thường mang tính chất khá chung chung, vì đối tượng chính xác được hướng đến khi dùng khái niệm task thường là [[tiến trình]] (process), tiến trình nhẹ (light-weight process), luồng (thread), bước (step), yêu cầu (request) hoặc yêu cầu truy vấn (query). Hình bên minh họa một hàng đợi (queue) được dùng cho các task sẽ thực thi (Task[[task Queuequeue]], màu xanh trong hình), một thread pool (màu xanh) dành cho các luồng (thread) để thực thi các task đó và những task đã hoàn thành (completed tasks, màu vàng). Hình ảnh này mình họa cho khái niệm task là một đơn vị công việc.
 
== Thuật ngữ ==
Thuật ngữ này được phổ biến với sự ra đời của OS/ 360 (công bố năm 1964), có tính năng [[:en:OS/360_and_successors#MFT|Multiprogramming with a Fixed number of Tasks]] (MFT) (tạm dịch: Đa chương trình với một số nhiệm vụ cố định) và [[:en:OS/360_and_successors#MVT|Multiprogramming with a Variable number of Tasks]] (MVT) (Tạm dịch: Đa chương trình với một số công việc thay đổi). Trong trường hợp này, các task được xác định bằng các tiến trình nhẹ (light-weight process), một công việc bao gồm một số task và các task con được phát sinh sau đó (sub-task hay child processes theo thuật ngữ hiện đại).
 
Ngày nay thuật ngữ "task" đang được sử dụng rất mơ hồ. Ví dụ: như chương trình [[Trình quản lý Tác vụ (Windows)|Windows Task Manager]] trên hệ điều hành Windows, dùng để quản lý các tasks đang chạy trên hệ thống, trong khi chương trình [[Bộ lập lịch tác vụ Windows|Windows Task Scheduler]] lên lịch cho ''các chương trình'' để thực thi trong tương lai, công việc được gọi là [[job scheduler]] với phần mở rộng tập tin là <code>.job</code> . Ngược lại, thuật ngữ task queue (hàng đợi task) thường được sử dụng theo nghĩa "đơn vị công việc".
 
== Xem thêm ==
 
* [[Task parallelism]]
* [[Task queue]]
 
== Người giới thiệu ==