Sự giống và khác nhau giữa Chương trình , Tiến trình và Luồng
Trang 1 trong tổng số 1 trang
Sự giống và khác nhau giữa Chương trình , Tiến trình và Luồng
- Tiến trình (Process)là chương trình trong thời gian thực hiện (đặt dưới sự quản lý của HDH)
- Luồng(Thread) còn gọi là tiến trình nhẹ(LWP- Light Weight Process), một đơn vị cơ bản sử dụng CPU.
- Luồng cũng có thông tin trạng thái như của tiến trình truyền thống(HWP-Heavy Weight Process).
- Tiến trình có thể có một luồng chính với nhiều luồng phụ.Mỗi luồng có khả năng chia sẻ tài nguyên với các luồng khác trong tiến trình.
- Nhiều luồng có thể cùng chung một mã chương trình
tiến trình mang ý nghĩa rộng hơn và lớn hơn so với luồng, luồng là một phần của tiến trình nằm bên trong tiến trình và chịu sự quản lý của tiến trình, một tiến trình có thể có nhiều luồng, cùng hoạt động, chia sẽ code, bộ nhớ,...,của tiến trình, các luồng trong tiến trình có thể hoạt động đồng bộ với nhau, khi thay đổi code của tiền trình hay một luồng thì sự thay đổi đó có tác động lên toàn bộ các luồng khác.
Tiến trình chịu sự quản lý của hệ điều hành với nhiều thông tin phức tạp và chi tiết hơn so với luồng(vdu: PCB lưu trạng thái của tiến trình, các hàng đợi), cơ chế điều phối tiến trình của hệ điều hành cũng phức tạp hơn so với việc quản lý luồng của tiến trình, hệ điều hành sử dụng các hàng đợi(Job queue, Ready quueu, Device queue...) để điều phối tiến trình, trong khi tiến trình sử dụng cơ chế ngủ thông qua các hàm API để thiết lập chế độ hoạt động của luồng(khởi tạo luồng, đặt luồng vào trạng thái ngủ, đánh thức trở lại, kết thúc luồng...) Khi tiến trình kết thúc thì các luồng trong tiến trình cũng kết thúc nhưng tiến trình phải đợi các luồng kết thúc rồi tiến trình mới kết thúc.
- Luồng(Thread) còn gọi là tiến trình nhẹ(LWP- Light Weight Process), một đơn vị cơ bản sử dụng CPU.
- Luồng cũng có thông tin trạng thái như của tiến trình truyền thống(HWP-Heavy Weight Process).
- Tiến trình có thể có một luồng chính với nhiều luồng phụ.Mỗi luồng có khả năng chia sẻ tài nguyên với các luồng khác trong tiến trình.
- Nhiều luồng có thể cùng chung một mã chương trình
tiến trình mang ý nghĩa rộng hơn và lớn hơn so với luồng, luồng là một phần của tiến trình nằm bên trong tiến trình và chịu sự quản lý của tiến trình, một tiến trình có thể có nhiều luồng, cùng hoạt động, chia sẽ code, bộ nhớ,...,của tiến trình, các luồng trong tiến trình có thể hoạt động đồng bộ với nhau, khi thay đổi code của tiền trình hay một luồng thì sự thay đổi đó có tác động lên toàn bộ các luồng khác.
Tiến trình chịu sự quản lý của hệ điều hành với nhiều thông tin phức tạp và chi tiết hơn so với luồng(vdu: PCB lưu trạng thái của tiến trình, các hàng đợi), cơ chế điều phối tiến trình của hệ điều hành cũng phức tạp hơn so với việc quản lý luồng của tiến trình, hệ điều hành sử dụng các hàng đợi(Job queue, Ready quueu, Device queue...) để điều phối tiến trình, trong khi tiến trình sử dụng cơ chế ngủ thông qua các hàm API để thiết lập chế độ hoạt động của luồng(khởi tạo luồng, đặt luồng vào trạng thái ngủ, đánh thức trở lại, kết thúc luồng...) Khi tiến trình kết thúc thì các luồng trong tiến trình cũng kết thúc nhưng tiến trình phải đợi các luồng kết thúc rồi tiến trình mới kết thúc.
vuthanhtoan85(113a)- Tổng số bài gửi : 36
Join date : 02/08/2012
Similar topics
» Sự giống và khác nhau giữa Chương trình , Tiến trình và Luồng
» So sánh sự giống nhau và khác nhau giữa Luồng và tiến trình
» Thảo luận Bài 5
» Thảo luận Bài 5
» Thảo luận Bài 5
» So sánh sự giống nhau và khác nhau giữa Luồng và tiến trình
» Thảo luận Bài 5
» Thảo luận Bài 5
» Thảo luận Bài 5
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết