Câu trả lời:
Đa tác vụ hoặc đa luồng trên một bộ xử lý cũng được gọi là đa luồng nhận thức. Rõ ràng với một CPU, không thể thực thi các lệnh đồng thời. Thay vào đó, chúng tôi xen kẽ các quá trình, tạo ảo giác về đa luồng.
Như @JTHERman Geek đã thêm, điều này sử dụng quyền ưu tiên. Đây là nơi chúng ta có một số loại cấu trúc (nghĩ một hàng đợi) nơi các chương trình được lưu trữ và mỗi quy trình có rất nhiều chu kỳ để thực hiện. Sau đó, chương trình hiện đang chạy được ưu tiên (hoặc hoán đổi với chương trình khác) và sau đó chương trình đó chạy. Có nhiều chiến lược để xác định chương trình nào thực thi khi nào. Chúng tôi có thể hoàn toàn công bằng (ví dụ: Round Robin) và mỗi chương trình nhận được một lượng tử thời gian nhất định hoặc chúng tôi có thể phân tách các chương trình theo mức độ ưu tiên và chỉ thực hiện chương trình ưu tiên thấp hơn khi không có chương trình ưu tiên cao hơn để thực hiện (ví dụ: Ưu tiên Xếp hàng).
Điều này hữu ích khi nói rằng bạn đang viết một ứng dụng GUI và chạy một tác vụ nền dài. Nếu điều này được viết dưới dạng một ứng dụng luồng đơn, mặt trước của GUI sẽ bị đóng băng. Tuy nhiên, với hai luồng, GUI vẫn đáp ứng. Ngay cả khi chỉ có một CPU, việc xen kẽ các quy trình có nghĩa là GUI vẫn phản hồi trong khi quá trình nền vẫn tiếp tục chạy và đạt được tiến bộ.
siêu phân luồng rất có thể, với các hệ thống hiện đại - nói ngắn gọn là một phần, nhưng không phải toàn bộ lõi được sao chép để có thể chạy nhiều luồng hơn, trên mỗi lõi
Về cơ bản, hệ điều hành lần lượt lấy từng ứng dụng (và từng luồng trong mỗi ứng dụng) và chạy nó trong một vài chu kỳ CPU. Vì vậy, nếu bạn có 10 ứng dụng đang chạy, trong khoảng thời gian 10 giây, mỗi ứng dụng sẽ có thời gian thực sự chạy 1 giây.
Điều đó có nghĩa là mỗi ứng dụng chạy chậm hơn so với nếu đó là ứng dụng duy nhất chạy trên máy tính - nhưng đối với phần lớn các ứng dụng, phần lớn thời gian của chúng là dành cho người dùng nhập liệu.
Xem Wikipedia để biết thêm thông tin.
Tôi không chắc chắn những gì bạn có trong đầu, nhưng nó mang đến cho người dùng nhận thức rằng các ứng dụng đang chạy song song. Hiệu ứng này đạt được bằng cách xen kẽ các yêu cầu của các quy trình đồng thời với tốc độ giống như mọi, hoặc ít nhất, các quy trình đang chạy cùng một lúc.
Ngẫu nhiên, theo cách nói của Unix, trọng tâm chuyển sang nhận thức rằng hệ thống xuất hiện dành riêng cho từng yêu cầu của người dùng. Chúng tôi gọi nó đơn giản là "nhiều người dùng."
Về cơ bản khi bạn chạy nhiều ứng dụng trên một cpu luồng đơn, hệ điều hành sẽ chuyển đổi cpu giữa ứng dụng. Điều này được thực hiện nhanh đến mức tạo ra ảo ảnh về đa nhiệm được tạo ra. Vì vậy, về cơ bản những gì xảy ra là cpu cung cấp chu kỳ của nó cho ứng dụng cần thiết và sau đó chuyển sang ứng dụng khác và sau đó quay lại ứng dụng đầu tiên. Tất cả điều này được thực hiện bởi hệ điều hành. Khi cpu chuyển sang một ứng dụng khác đang chạy đồng thời, trạng thái của ứng dụng phổ biến được lưu lại để khi cpu trở lại ứng dụng đó, nó sẽ nhớ trạng thái của ứng dụng nơi nó còn lại.