Mụ tả luồng Threads

Một phần của tài liệu Bao cao mon hoc hệ điêu hành (Trang 26 - 28)

2.7 .8a Android Architecture – Kiến trỳc android

2.1 Mụ tả luồng Threads

- Vấn đề:

• Mỗi tiến trỡnh cú một khụng gian địa chỉ; Chỉ cú một dũng xử lý

• Để tăng tốc độ và sử dụng CPU hiệu quả hơn ->Cần nhiều dũng xử lý: Cựng chia sẻ một khụng gian địa chỉ; Hoạt động song song; Tương tự như cỏc tiến trỡnh phõn biệt (ngoại trừ việc chia sẻ khụng gian địa chỉ)

Khỏi niệm :

Một luồng là 1 dũng xử lý cơ bản trong hệ thống ,xử lý tuần tự đoạn code của nú Sở hữu : một con trỏ lệnh,tập cỏc thanh ghi , một vựng nhớ stack riờng

Phõn biệt luồng và tiến trỡnh :

Luồng được coi là mức thấp hơn của tiến trỡnh Mỗi tiến trỡnh cú thể gồm nhiều luồng

Hoạt động của cỏc luồng giống như tiến trỡnh

Nhưng cỏc luồng cựng chia sẻ khụng gian địa chỉ chung Mễ TẢ LUỒNG

- Hệ thống nhiều CPU: Mỗi CPU cú thể thực hiện cỏc cụng việc khỏc nhau hoặc cỏc luồng khỏc nhau cho cựng một cụng việc

- Hệ thống chỉ cú một CPU: Mỗi luồng được thực hiện luõn phiờn nhau Khụng cú luồng nào chiếm ưu thế trong CPU

- Ưu điểm: • Chỳng loại trừ được sự cần thiết phải để cho hệ diều hành liờn tục tải thụng tin vào/ra bộ nhớ.

- Cỏc luồng trong một tiến trỡnh: Chia sẻ với nhau đoạn mó (code); Đoạn dữ liệu (data); Cỏc tài nguyờn hệ thống khỏc:(Cỏc tệp mở,Cỏc tớn hiệu)

- Luồng: Cú thể tương tỏc với một phần riờng của hệ thống như: đĩa I/0 trờn mạng, hoặc người dung; Cỏc luồng được lập lịch để thực hiện vỡ một số luồng cú thế chờ một biến cố nào đú xảy ra hoặc chờ kết thỳc một cụng việc nào đú từ luồng khỏc.

- Luồng bao gồm: Mó luồng (thread ID); Bộ đếm chương trỡnh (PC); Tập thanh ghi (register set); Stack

Cỏc tiến trớnh đơn và đa luồng (Single-thread and multithread processes)

2.1.2 Động lực (Motivation)

-Tạo tiến trỡnh: Là một cụng việc "nặng nhọc". Nhiều phần mềm chạy trờn cỏc PC hiện nay là đa luồng (multithreaded). Một ứng dụng thường được thực hiện như một tiến trỡnh riờng với một vài luồng điều khiển.

2.1.3 Lợi ớch của tiến trỡnh đa luồng (benefits)

- Đỏp ứng nhanh (Responsiveness): Cho phộp chương trỡnh tiếp tục thực hiện. Thậm chớ khi một bộ phận của nú bị khúa hoặc đang thực hiện một hoạt động dài.

- Chia sẻ tài nguyờn (Resource sharing): Cho phộp một ứng dụng cú một số luồng khỏc nhau hoạt động trong cựng một khụng gian địa chi.

- Kinh tế (Economy): Tạo và chuyển ngữ cảnh luồng kinh tế hơn so với tiến trỡnh. Sử dụng CPU hiệu quả hơn

- Thực hiện được trong kiến trỳc multiprocessor (Scalability): Lợi ớch của đa luụng tăng lờn trong kiến trỳc multiprocessor.Vỡ cỏc luụng cú thể chạy song song trờn cỏc processor.

Một phần của tài liệu Bao cao mon hoc hệ điêu hành (Trang 26 - 28)

Tải bản đầy đủ (PDF)

(65 trang)