Tổng hợp

Sự khác biệt giữa tiến trình và luồng

1. Tiến trình (process) là gì?

Tiến trình là một chương trình đang hoạt động, tức là một chương trình đang được thực thi. Tiến trình không chỉ là code chương trình vì nó bao gồm program counter (bộ đếm chương trình), process stack, register, code chương trình, v.v… So với những điều này, code chương trình chỉ là phần văn bản.

Bạn đang xem bài: Sự khác biệt giữa tiến trình và luồng

2. Luồng (thread) là gì?

Luồng là một tiến trình gọn nhẹ có thể được quản lý độc lập bởi một bộ lập lịch. Nó cải thiện hiệu suất ứng dụng bằng cách sử dụng phương pháp xử lý song song. Một luồng chia sẻ thông tin như data segment (phân đoạn dữ liệu), code segment (phân đoạn code), file, v.v… với các luồng ngang hàng, đồng thời nó cũng chứa các register, ngăn xếp, bộ đếm của chính nó, v.v…

tien trinh va luong 1
Luồng là các phần của một tiến trình

3. Sự khác biệt giữa tiến trình và luồng

Sự khác biệt chính giữa tiến trình và luồng được trình bày trong bảng sau:

Tiêu chí Tiến trình Luồng
Định nghĩa Tiến trình là một chương trình đang được thực thi, tức là một chương trình đang hoạt động. Luồng là một tiến trình gọn nhẹ có thể được quản lý độc lập bởi một bộ lập lịch.
Thời gian chuyển đổi ngữ cảnh Các tiến trình đòi hỏi nhiều thời gian hơn để chuyển đổi ngữ cảnh vì chúng nặng hơn. Các luồng yêu cầu ít thời gian hơn để chuyển đổi ngữ cảnh vì chúng nhẹ hơn tiến trình.
Chia sẻ bộ nhớ Các tiến trình hoàn toàn độc lập và không chia sẻ bộ nhớ. Một luồng có thể chia sẻ một số bộ nhớ với các luồng ngang hàng của nó.
Giao tiếp Giao tiếp giữa các tiến trình đòi hỏi nhiều thời gian hơn giữa các luồng. Giao tiếp giữa các luồng yêu cầu ít thời gian hơn giữa các quá trình.
Khi bị chặn Nếu một tiến trình bị chặn, các tiến trình còn lại có thể tiếp tục thực thi. Nếu một luồng cấp người dùng bị chặn, tất cả các luồng ngang hàng của nó cũng bị chặn.
Tiêu thụ tài nguyên Tiến trình yêu cầu nhiều tài nguyên hơn luồng. Luồng thường cần ít tài nguyên hơn các tiến trình.
Sự phụ thuộc Các tiến trình riêng lẻ độc lập với nhau. Luồng là các phần của một tiến trình và do đó chúng mang tính phụ thuộc.
Chia sẻ dữ liệu và code Các tiến trình có dữ liệu và code segment độc lập. Một luồng chia sẻ data segment, code segment, file, v.v… với các luồng ngang hàng
Cách hệ điều hành nhìn nhận Tất cả các tiến trình khác nhau được hệ điều hành xử lý riêng biệt. Tất cả các luồng ngang hàng cấp người dùng được hệ điều hành coi như một tác vụ duy nhất.
Thời gian tạo Các tiến trình đòi hỏi nhiều thời gian hơn để tạo. Các luồng yêu cầu ít thời gian hơn để tạo.
Thời gian chấm dứt Các tiến trình yêu cầu nhiều thời gian hơn để chấm dứt. Luồng yêu cầu ít thời gian hơn để kết thúc.

Trích nguồn: Cao đẳng Tài nguyên và Môi trường miền Trung
Danh mục: Tổng hợp

Trường Cao đẳng Tài nguyên và Môi trường miền Trung

Cách đây 40 năm về trước, mặc dù miền Bắc XHCN khi đó đang nặng hai vai gánh cả non sông vượt dặm dài, vừa là hậu phương lớn chi viện tích cực cho các chiến trường với tinh thần thóc không thiếu một cân, quân không thiếu một người, vừa là tiền tuyến đánh trả cuộc chiến tranh bằng không quân và hải quân của đế quốc Mỹ nhưng sự nghiệp giáo dục và đào tạo vẫn không ngừng phát triển nhằm đào tạo nguồn nhân lực đáp ứng nhu cầu trước mắt và sự nghiệp tái thiết đất nước lâu dài sau chiến tranh. Trong bối cảnh đó và trước yêu cầu của công tác điều tra cơ bản phục vụ quy hoạch các vùng kinh tế mới,vùng chuyên canh, xây dựng các nông trường, Bộ Nông trường ( nay là Bộ Nông nghiệp và Phát triển nông thôn ) đã có Quyết định số 115 QĐ/TC ngày 05 th áng 9 năm 1968 về việc mở Lớp công nhân đo dạc - tiền thân của Trường Cao đẳng Tài nguyên và Môi trường miền Trung ngày nay.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button