Nhờ thầy xem và sửa một số câu trả lời ôn tập giữa kì dùm em!
3 posters
Trang 1 trong tổng số 1 trang
Nhờ thầy xem và sửa một số câu trả lời ôn tập giữa kì dùm em!
Câu 1: Mục tiêu, ý nghĩa và cấu trúc môn học “Hệ điều hành”.
a) Ý nghĩa
- Hiểu sâu nguyên lý hoạt động của phần cứng và phần mềm máy tính.
- Học phương pháp phân tích, thiết kế và lập trình một hệ thống lớn để áp dụng cho công tác nghiệp vụ sau này.
b) Mục tiêu
- Cung cấp các khái niệm cơ bản về cấu trúc và hoạt động của máy tính và hệ điều hành
c) Cấu trúc môn học
- Khái niệm chung, lịch sử, phân loại hệ điều hành.
- Nguyên lý và hoạt động các khối chức năng.
- Giới thiệu dòng hệ điều hành Windows NT/ 2000/ XP/2003.
Câu 2: Những ích lợi của đa luồng.
- Khả năng đáp ứng (Responsiveness) tốt hơn: Trong khi một luồng bị ách hoặc quá bận, luồng khác vẫn vận hành bình thường (Luồng chính của trình duyệt vẫn tương tác với người dùng trong khi dữ liệu được lấy về).
- Chia sẻ tài nguyên (Resource Sharing): Theo mặc định, các luồng có thể dùng chung bộ nhớ và tài nguyên của luồng cha. Vài luồng cùng vận hành trong 1 vùng địa chỉ, do đó dễ dùng chung tài nguyên hơn so với trường hợp đa tiến trình.
- Tiết kiệm (Economy): Cấp phát bộ nhớ và tài nguyên cho tiến trình là công việc tốn kém. Do luồng chung tài nguyên với cha và các luồng khác, việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn (Solaris 2: Tạo tiến trình chậm hơn 30 lần, Chuyển ngữ cảnh chậm hơn 5 lần).
- Tận dụng được thế mạnh của kiến trúc đa xử lý: Đa luồng làm tăng tính song song trên hệ máy nhiều CPU. Mỗi luồng có thể chạy bởi CPU riêng.
Ví dụ:
Gửi và rút tiền ở ngân hàng đều cần đến công nghệ đa luồng.
Câu 3: Có những mô hình đa luồng nào?
- Mô hình Many – to – One là nhiều User level threads được ánh xạ vào một Kernel Thread. Việc quản lý được thực hiện ở User Level, khi có một thread bị block thì toàn bộ các Process cũng bị block theo.
- Mô hình One – to – One là mỗi User level thread được gắn với một Kernel thread. Khi có một user thread mới được tạo ra thì cũng cần tạo một Kernel thread tương ứng, lúc này chi phí quá lớn.
- Mô hình Many – to – Many nhiều User level thread được phân chia ánh xạ vào một số Kernel thread. Tránh được các khuyết điếm của 2 mô hình trên.
Câu 4: Hãy phân tích Nguyên lý Tập luồng.
Phân tích nguyên lý tập luồng:
- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Các luồng trong tập luồng luôn sẵn sàng chờ công việc.
- Khi tiến trình cha nhận thêm một yêu cầu, một luồng được đánh thức
và đưa vào vận hành.
- Phục vụ xong, luồng được đưa trả về tập luồng.
- Nếu số yêu cầu lớn hơn số luồng trong tập, tiến trình cha chờ đến khi có luồng được giải phóng.
* Ví dụ ứng dụng sử dụng tập luồng như: Web Server, Database Server.
VD2: Trong một lần ghé thăm Công Ty Phương Nam,gặp Giám Đốc công ty và nghe Giam Đốc than thở rằng:
- Hiện tại mạng công ty chúng tôi đang có gặp một trở ngại rất lớn.
Thầy:
-Im lặng nghe lời trình bày của vị Giám Đốc
Giám Đốc:
-Công ty chúng tôi có một trang web, trên trang web có một Form để mọi người có thể truy cập và đăng nhập thông tin, nhiệm vụ của công ty chúng tôi là xem thông tin đó có phù hợp với nội dung tuyển dụng của một công ty khác hay không?để có thể tạo điều kiện, giúp công ty tuyển dụng việc làm dễ và người tìm việc cũng nhanh hơn.
Nhưng có mỗi lần có nhiều người, chẳng hạn có 6 người cùng một lúc đăng nhập và gửi thông tin về cho trang web, thì máy Server của tôi lại bị treo, tôi nghĩ là do phần cứng.
Thầy:
Không cần phải thay tất cả phần cứng.
Có phải anh đang dùng công nghệ CGI(Common Gateway Interface) không? và tôi không vào xem hay mở máy tính của anh tôi vẫn biết rằng, trên màn hình desktop mà chính xác là trên thanh taskbar của anh, ứng với 6 người đăng nhập thì hiện lên 6 tiến trình, sẽ làm máy tính treo
Giám đốc:
-Dạ vâng đúng như vậy.
Thầy:
-Biện pháp:đưa ra cách lập trình bằng ASP:ActiveX Server Pages,áp dụng đa luồng cấp phát tài nguyên nhẹ nhàng hơn và máy tính Server sẽ không bị treo.
Đây ví dụ khác về đa luồng và đa tiến trình
Ví dụ về đa luồng:
Một công ty có 2 bộ phận là: bán hàng và bộ phận sản xuất. Tại một thời điểm, mỗi bộ phận đều thực hiện nhiệm vụ riêng từng bộ phận(nhưng cả 2 bộ phận vẫn dưới sự chỉ đạo của ban giám đốc. Ban giám đốc như CPU(hihi...cái này hơi trừu tượng 1 tí)). Bộ phận sản xuất chỉ lo nhiệm vụ sản xuất sản phẩm, bộ phận bán hàng chỉ lo nhiệm vụ bán hàng. Giả sử, bộ phận sản xuất gặp trục trặc hay có vấn đề nghỉ 1 ngày thì cũng không hề ảnh hưởng đến bộ phận bán hàng và ngược lại.
Ví dụ về đa tiến trình:
Công ty may mặc có bộ phận sản xuất quần áo may mặc. Bộ phận này chia làm nhiều khâu:khâu Cắt, khâu Ráp, khâu May, Khâu Đóng gói(Mỗi khâu xem như là một thread). Nếu như bình thường hoạt động thì các khâu này có khả năng làm cùng nhau nhưng theo quy trình là Cắt -> Ráp -> May -> Đóng gói. Giả sử khâu Cắt bị vấn đề, các khâu khác sẽ không thể làm tiếp.
Câu 5: Phát biểu bài toán sản xuất tiêu thụ (Sử dụng 3 đèn hiệu)
- Tiến trình sản xuất (Producer) tạo ra dòng thông tin để tiến trình tiêu thụ (Consumer) sử dụng.
- Ví dụ: Compiler và Assembler vừa là nhà sản xuất vừa là nhà tiêu thụ. Compiler tạo ra mã dùng cho Assembler, tiếp theo Assembler sản sinh mã máy làm đầu vào cho Loader hoặc Linkage Editor.
- Phát biểu bài toán: Bộ nhớ đệm Buffer bao gồm một số hữu hạn các khoang chứa (Items). Producer lần lượt đưa các sản phẩm S1, S2,…vào các khoang của Buffer. Consumer lấy sản phẩm ra theo đúng thứ tự. Công việc của các tiến trình phải đồng bộ với nhau: không đưa ra sản phẩm khi hết chỗ trống, không lấy được sản phẩm khi chưa có.
- Thuật giải đồng bộ hoá bằng 3 đèn hiệu: semFull (quản lý số sản phẩm có trong bộ đệm, giá trị ban đầu bằng 0), semEmpty (quản lý số khoang còn trống, giá trị ban đầu bằng số khoang của bộ đệm) và Mutex (đảm bảo tính loại trừ tương hỗ, nghĩa là mỗi thời điểm chỉ có 1 tiến trình sản xuất hay tiêu thụ được truy cập/cập nhật tài nguyên dùng chung, giá trị ban đầu bằng 1).
o Thuật giải cho Producer:
wait(semEmpty);
wait(Mutex);
// Đưa sản phẩm vào Buffer
..........................
signal(semFull);
signal(Mutex);
o Thuật giải cho Consumer:
wait(semFull);
wait(Mutex);
// Lấy sản phẩm từ Buffer
..........................
signal(semEmpty);
signal(Mutex);
Câu 6: Tiến trình là gì ? Các trạng thái và mối quan hệ giữa các trạng thái của 1 tiến trình . Mô hình chuyển trạng thái của tiến trình.?
Tiến trình: chương trình thực thi tạo ra tiến trình. Tiến trình bao gồm :
Mã lệnh
Con trỏ lệnhs
Stack
Các thanh ghi
Data
...
Câu 7: Định nghĩa Deadlock. Cho ví dụ và giải thích về việc sử dụng Semaphore gây ra Deadlock.
Định nghĩa Deadlock :
Tập hợp các tiến trình ở trạng thái Waiting(Blocked) mà mỗi tiến trình đang giữ tài nguyên và yêu cầu thêm tài nguyên đang đang bị chiếm giữ bởi tiến trình khác cũng ở trong tập hợp này .
Ví dụ sử dụng Semaphore gây ra Deadlock
semaphores A và B khởi đầu bằng 1. Tiến trình P1 và P2 sử dụng các Semaphore như sau :
P1 P2
wait (A); wait(B);
… …
wait (B); wait(A);
… …
P1, P2 ở trạng thái Deadlock vì P1 đang giữ tài nguyên A và yêu cầu thêm tài nguyên B. Trong khi đó P2 đang giữ tài nguyên B và yêu cầu thên tài nguyên A. Tiến trình P1, P2 cùng đợi tiến trình còn lại trả tài nguyên
Câu 8: Điều kiện dẫn đến Deadlock là những điều kiện gì?
- Mutual exclusion: với mỗi tài nguyên, chỉ có một process sử dụng tại một thời điểm.
- Hold and wait: một process vẫn sở hữu tài nguyên đã được cấp phát trong khi yêu cầu một tài ngyên khác.
- No preemption: một tài nguyên không thể bị đoạt lại từ chính process đang sở hữu tài nguyên đó.
- Circular wait: tồn tại một chu kỳ khép kín các yêu cầu tài nguyên.
Câu 9: Trình bày các phương thức xử trí Deadlock.
- Sử dụng quy tắc Ngăn chặn (Prevention) hoặc Tránh (Avoidance) để Deadlock không bao giờ xảy ra.
- Cho phép hệ thống bị Deadlock, sau đó Xác định (Detection) và tìm cách Khắc phục (Recover).
- Không xét vấn đề Deadlock, coi như không bao giờ xảy ra, còn nếu xảy ra thì Khởi động lại hệ thống (Cách này có thể có ý nghĩa thực tế vì không cần đưa vào HĐH các phương tiện xử trí thường trực).
Câu 10: Trình bày 4 cách ngăn chặn Deadlock.
Để ngăn chặn Deadlock ta phải làm sao cho ít nhất 1 trong 4 điều kiện dẫn đến Deadlock không xảy ra. Cụ thể:
- Với Mutual Exclusion: Đảm bảo TN nào cũng dùng chung được cùng một lúc bởi nhiều tiến trình.
- Với Hold and Wait:
1 Khi TT yêu cầu TN, nó không được giữ 1 TN nào khác.
2 TT phải yêu cầu và được cấp tất cả các TN mà nó cần ngay đầu công việc.
- Với No Preemption:
3 Khi TT giữ TN mà xin thêm nhưng không được, các TN mà nó giữ phải bị tiếm quyền sử dụng và trả lại HĐH.
2 Khi TT xin thêm TN, nếu TN này đang được giữ bởi TT khác đang ở trạng thái chờ, TN của TT khác này bị tiếm quyền sử dụng để cấp cho TT đang xin.
- Với Circular Wait: Cấp TN theo một thứ tự nào đấy.
Câu 11: Phân biệt đa luồng và đa tiến trình?
Giống nhau:
Đều có thông tin trạng thái
Luồng còn được gọi là tiến trình nhẹ
Nhiều luồng hoặc nhiều tiến trình có thể liên quan đến một chu trình
Chia sẻ tài nguyên cho nhau, tăng tốc tính toán, đảm bảo tính đơn thể
Khác nhau:
Do luồng cùng vận hành trong 1 vùng địa chỉ, vì vậy dễ dùng chung tài nguyên hơn đa tiến trình ví dụ mượn đồ trong gia đình dễ mượn đồ hơn của hàng xóm
Do luồng chung tài nguyên với luồng cha nên việc tạo lập và chuyển đổi ngữ cảnh cũng nhanh hơn tiến trình
Ví dụ: việc ngăn riêng ra một phòng trong nhà thì dễ hơn được nhà nước cấp cho một căn hộ
Cấp phát tài nguyên cho bộ nhớ thì tốn kém
Lập trình đa luồng thì dễ hơn lập trình đa tiến trình.
a) Ý nghĩa
- Hiểu sâu nguyên lý hoạt động của phần cứng và phần mềm máy tính.
- Học phương pháp phân tích, thiết kế và lập trình một hệ thống lớn để áp dụng cho công tác nghiệp vụ sau này.
b) Mục tiêu
- Cung cấp các khái niệm cơ bản về cấu trúc và hoạt động của máy tính và hệ điều hành
c) Cấu trúc môn học
- Khái niệm chung, lịch sử, phân loại hệ điều hành.
- Nguyên lý và hoạt động các khối chức năng.
- Giới thiệu dòng hệ điều hành Windows NT/ 2000/ XP/2003.
Câu 2: Những ích lợi của đa luồng.
- Khả năng đáp ứng (Responsiveness) tốt hơn: Trong khi một luồng bị ách hoặc quá bận, luồng khác vẫn vận hành bình thường (Luồng chính của trình duyệt vẫn tương tác với người dùng trong khi dữ liệu được lấy về).
- Chia sẻ tài nguyên (Resource Sharing): Theo mặc định, các luồng có thể dùng chung bộ nhớ và tài nguyên của luồng cha. Vài luồng cùng vận hành trong 1 vùng địa chỉ, do đó dễ dùng chung tài nguyên hơn so với trường hợp đa tiến trình.
- Tiết kiệm (Economy): Cấp phát bộ nhớ và tài nguyên cho tiến trình là công việc tốn kém. Do luồng chung tài nguyên với cha và các luồng khác, việc tạo lập và chuyển ngữ cảnh cũng nhanh hơn (Solaris 2: Tạo tiến trình chậm hơn 30 lần, Chuyển ngữ cảnh chậm hơn 5 lần).
- Tận dụng được thế mạnh của kiến trúc đa xử lý: Đa luồng làm tăng tính song song trên hệ máy nhiều CPU. Mỗi luồng có thể chạy bởi CPU riêng.
Ví dụ:
Gửi và rút tiền ở ngân hàng đều cần đến công nghệ đa luồng.
Câu 3: Có những mô hình đa luồng nào?
- Mô hình Many – to – One là nhiều User level threads được ánh xạ vào một Kernel Thread. Việc quản lý được thực hiện ở User Level, khi có một thread bị block thì toàn bộ các Process cũng bị block theo.
- Mô hình One – to – One là mỗi User level thread được gắn với một Kernel thread. Khi có một user thread mới được tạo ra thì cũng cần tạo một Kernel thread tương ứng, lúc này chi phí quá lớn.
- Mô hình Many – to – Many nhiều User level thread được phân chia ánh xạ vào một số Kernel thread. Tránh được các khuyết điếm của 2 mô hình trên.
Câu 4: Hãy phân tích Nguyên lý Tập luồng.
Phân tích nguyên lý tập luồng:
- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Các luồng trong tập luồng luôn sẵn sàng chờ công việc.
- Khi tiến trình cha nhận thêm một yêu cầu, một luồng được đánh thức
và đưa vào vận hành.
- Phục vụ xong, luồng được đưa trả về tập luồng.
- Nếu số yêu cầu lớn hơn số luồng trong tập, tiến trình cha chờ đến khi có luồng được giải phóng.
* Ví dụ ứng dụng sử dụng tập luồng như: Web Server, Database Server.
VD2: Trong một lần ghé thăm Công Ty Phương Nam,gặp Giám Đốc công ty và nghe Giam Đốc than thở rằng:
- Hiện tại mạng công ty chúng tôi đang có gặp một trở ngại rất lớn.
Thầy:
-Im lặng nghe lời trình bày của vị Giám Đốc
Giám Đốc:
-Công ty chúng tôi có một trang web, trên trang web có một Form để mọi người có thể truy cập và đăng nhập thông tin, nhiệm vụ của công ty chúng tôi là xem thông tin đó có phù hợp với nội dung tuyển dụng của một công ty khác hay không?để có thể tạo điều kiện, giúp công ty tuyển dụng việc làm dễ và người tìm việc cũng nhanh hơn.
Nhưng có mỗi lần có nhiều người, chẳng hạn có 6 người cùng một lúc đăng nhập và gửi thông tin về cho trang web, thì máy Server của tôi lại bị treo, tôi nghĩ là do phần cứng.
Thầy:
Không cần phải thay tất cả phần cứng.
Có phải anh đang dùng công nghệ CGI(Common Gateway Interface) không? và tôi không vào xem hay mở máy tính của anh tôi vẫn biết rằng, trên màn hình desktop mà chính xác là trên thanh taskbar của anh, ứng với 6 người đăng nhập thì hiện lên 6 tiến trình, sẽ làm máy tính treo
Giám đốc:
-Dạ vâng đúng như vậy.
Thầy:
-Biện pháp:đưa ra cách lập trình bằng ASP:ActiveX Server Pages,áp dụng đa luồng cấp phát tài nguyên nhẹ nhàng hơn và máy tính Server sẽ không bị treo.
Đây ví dụ khác về đa luồng và đa tiến trình
Ví dụ về đa luồng:
Một công ty có 2 bộ phận là: bán hàng và bộ phận sản xuất. Tại một thời điểm, mỗi bộ phận đều thực hiện nhiệm vụ riêng từng bộ phận(nhưng cả 2 bộ phận vẫn dưới sự chỉ đạo của ban giám đốc. Ban giám đốc như CPU(hihi...cái này hơi trừu tượng 1 tí)). Bộ phận sản xuất chỉ lo nhiệm vụ sản xuất sản phẩm, bộ phận bán hàng chỉ lo nhiệm vụ bán hàng. Giả sử, bộ phận sản xuất gặp trục trặc hay có vấn đề nghỉ 1 ngày thì cũng không hề ảnh hưởng đến bộ phận bán hàng và ngược lại.
Ví dụ về đa tiến trình:
Công ty may mặc có bộ phận sản xuất quần áo may mặc. Bộ phận này chia làm nhiều khâu:khâu Cắt, khâu Ráp, khâu May, Khâu Đóng gói(Mỗi khâu xem như là một thread). Nếu như bình thường hoạt động thì các khâu này có khả năng làm cùng nhau nhưng theo quy trình là Cắt -> Ráp -> May -> Đóng gói. Giả sử khâu Cắt bị vấn đề, các khâu khác sẽ không thể làm tiếp.
Câu 5: Phát biểu bài toán sản xuất tiêu thụ (Sử dụng 3 đèn hiệu)
- Tiến trình sản xuất (Producer) tạo ra dòng thông tin để tiến trình tiêu thụ (Consumer) sử dụng.
- Ví dụ: Compiler và Assembler vừa là nhà sản xuất vừa là nhà tiêu thụ. Compiler tạo ra mã dùng cho Assembler, tiếp theo Assembler sản sinh mã máy làm đầu vào cho Loader hoặc Linkage Editor.
- Phát biểu bài toán: Bộ nhớ đệm Buffer bao gồm một số hữu hạn các khoang chứa (Items). Producer lần lượt đưa các sản phẩm S1, S2,…vào các khoang của Buffer. Consumer lấy sản phẩm ra theo đúng thứ tự. Công việc của các tiến trình phải đồng bộ với nhau: không đưa ra sản phẩm khi hết chỗ trống, không lấy được sản phẩm khi chưa có.
- Thuật giải đồng bộ hoá bằng 3 đèn hiệu: semFull (quản lý số sản phẩm có trong bộ đệm, giá trị ban đầu bằng 0), semEmpty (quản lý số khoang còn trống, giá trị ban đầu bằng số khoang của bộ đệm) và Mutex (đảm bảo tính loại trừ tương hỗ, nghĩa là mỗi thời điểm chỉ có 1 tiến trình sản xuất hay tiêu thụ được truy cập/cập nhật tài nguyên dùng chung, giá trị ban đầu bằng 1).
o Thuật giải cho Producer:
wait(semEmpty);
wait(Mutex);
// Đưa sản phẩm vào Buffer
..........................
signal(semFull);
signal(Mutex);
o Thuật giải cho Consumer:
wait(semFull);
wait(Mutex);
// Lấy sản phẩm từ Buffer
..........................
signal(semEmpty);
signal(Mutex);
Câu 6: Tiến trình là gì ? Các trạng thái và mối quan hệ giữa các trạng thái của 1 tiến trình . Mô hình chuyển trạng thái của tiến trình.?
Tiến trình: chương trình thực thi tạo ra tiến trình. Tiến trình bao gồm :
Mã lệnh
Con trỏ lệnhs
Stack
Các thanh ghi
Data
...
Câu 7: Định nghĩa Deadlock. Cho ví dụ và giải thích về việc sử dụng Semaphore gây ra Deadlock.
Định nghĩa Deadlock :
Tập hợp các tiến trình ở trạng thái Waiting(Blocked) mà mỗi tiến trình đang giữ tài nguyên và yêu cầu thêm tài nguyên đang đang bị chiếm giữ bởi tiến trình khác cũng ở trong tập hợp này .
Ví dụ sử dụng Semaphore gây ra Deadlock
semaphores A và B khởi đầu bằng 1. Tiến trình P1 và P2 sử dụng các Semaphore như sau :
P1 P2
wait (A); wait(B);
… …
wait (B); wait(A);
… …
P1, P2 ở trạng thái Deadlock vì P1 đang giữ tài nguyên A và yêu cầu thêm tài nguyên B. Trong khi đó P2 đang giữ tài nguyên B và yêu cầu thên tài nguyên A. Tiến trình P1, P2 cùng đợi tiến trình còn lại trả tài nguyên
Câu 8: Điều kiện dẫn đến Deadlock là những điều kiện gì?
- Mutual exclusion: với mỗi tài nguyên, chỉ có một process sử dụng tại một thời điểm.
- Hold and wait: một process vẫn sở hữu tài nguyên đã được cấp phát trong khi yêu cầu một tài ngyên khác.
- No preemption: một tài nguyên không thể bị đoạt lại từ chính process đang sở hữu tài nguyên đó.
- Circular wait: tồn tại một chu kỳ khép kín các yêu cầu tài nguyên.
Câu 9: Trình bày các phương thức xử trí Deadlock.
- Sử dụng quy tắc Ngăn chặn (Prevention) hoặc Tránh (Avoidance) để Deadlock không bao giờ xảy ra.
- Cho phép hệ thống bị Deadlock, sau đó Xác định (Detection) và tìm cách Khắc phục (Recover).
- Không xét vấn đề Deadlock, coi như không bao giờ xảy ra, còn nếu xảy ra thì Khởi động lại hệ thống (Cách này có thể có ý nghĩa thực tế vì không cần đưa vào HĐH các phương tiện xử trí thường trực).
Câu 10: Trình bày 4 cách ngăn chặn Deadlock.
Để ngăn chặn Deadlock ta phải làm sao cho ít nhất 1 trong 4 điều kiện dẫn đến Deadlock không xảy ra. Cụ thể:
- Với Mutual Exclusion: Đảm bảo TN nào cũng dùng chung được cùng một lúc bởi nhiều tiến trình.
- Với Hold and Wait:
1 Khi TT yêu cầu TN, nó không được giữ 1 TN nào khác.
2 TT phải yêu cầu và được cấp tất cả các TN mà nó cần ngay đầu công việc.
- Với No Preemption:
3 Khi TT giữ TN mà xin thêm nhưng không được, các TN mà nó giữ phải bị tiếm quyền sử dụng và trả lại HĐH.
2 Khi TT xin thêm TN, nếu TN này đang được giữ bởi TT khác đang ở trạng thái chờ, TN của TT khác này bị tiếm quyền sử dụng để cấp cho TT đang xin.
- Với Circular Wait: Cấp TN theo một thứ tự nào đấy.
Câu 11: Phân biệt đa luồng và đa tiến trình?
Giống nhau:
Đều có thông tin trạng thái
Luồng còn được gọi là tiến trình nhẹ
Nhiều luồng hoặc nhiều tiến trình có thể liên quan đến một chu trình
Chia sẻ tài nguyên cho nhau, tăng tốc tính toán, đảm bảo tính đơn thể
Khác nhau:
Do luồng cùng vận hành trong 1 vùng địa chỉ, vì vậy dễ dùng chung tài nguyên hơn đa tiến trình ví dụ mượn đồ trong gia đình dễ mượn đồ hơn của hàng xóm
Do luồng chung tài nguyên với luồng cha nên việc tạo lập và chuyển đổi ngữ cảnh cũng nhanh hơn tiến trình
Ví dụ: việc ngăn riêng ra một phòng trong nhà thì dễ hơn được nhà nước cấp cho một căn hộ
Cấp phát tài nguyên cho bộ nhớ thì tốn kém
Lập trình đa luồng thì dễ hơn lập trình đa tiến trình.
kimvan(I92C)- Tổng số bài gửi : 32
Join date : 14/09/2010
Age : 37
Đến từ : Viet Nam
Re: Nhờ thầy xem và sửa một số câu trả lời ôn tập giữa kì dùm em!
hình như là thiếu nhiều câu hỏi trọng tâm đó Giáp, mình đang tổng hợp lại thêm vài câu nữa, sẽ gửi thêm cho giáp xem rồi post lên giùm mấy bạn trong diễn đàn hén.
Nguyen Dinh Mai Huy(I82C)- Tổng số bài gửi : 58
Join date : 15/09/2010
Re: Nhờ thầy xem và sửa một số câu trả lời ôn tập giữa kì dùm em!
Chưa thấy Thầy có ý kiến về bài ở trên cả. Mà thiếu câu nào nữa vậy mấy bạn
TruongQuocLong(i92c)- Tổng số bài gửi : 13
Join date : 20/09/2010
Similar topics
» Em được thưởng điểm nhờ lên giải bài tập tối nay
» Thầy ơi cho em hỏi chừng nào thi giữa học kỳ
» Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
» Thảo luận Bài 4
» Thảo luận Bài 1
» Thầy ơi cho em hỏi chừng nào thi giữa học kỳ
» Ôn tập để Kiểm tra giữa kỳ và Thi lý thuyết
» Thảo luận Bài 4
» Thảo luận Bài 1
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