You are on page 1of 37

TÀI LIỆU THAM KHẢO

Hệ điều hành
Môn học Hệ Điều Hành

• Index

• Calendar

• Trợ giúp

• Tìm kiếm

• Thành viên

• Nhóm

• Đăng ký

• Đăng Nhập
Tìm ki?m

1 Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành
Hệ điều hành :: Your first category :: Hoàn chỉnh kiến thức 102C
Trang 1 trong tổng số 2 trang • Share • Actions !
Trang 1 trong tổng số 2 trang • 12








2 Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

dovanbinh (102C) on 6/5/2011, 15:51

Chương 1: GIỚI THIỆU HỆ ĐIỀU HÀNH


Câu 1: Mục tiêu, ý nghĩa,cấu trúc môn học

Ý 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.

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 HĐH.

Cấu trúc môn học:


Mô tả vắn tắt:
Khái niệm chung, Lịch sử, Phân loại HĐH.
Nguyên lý và hoạt động các khối chức năng.
Giới thiệu dòng HĐH Windows NT/2000/XP/2003

Gồm 8 chương:
Chương 1: Giới thiệu Hệ điều hành
Định nghĩa hệ điều hành
Lịch sử hệ điều hành
Phân loại hệ điều hành

Chương 2: Cấu trúc máy tính


Hoạt động của máy tính
Cấu trúc nhập xuất (I/O Structure)
Cấu trúc bộ nhớ
Phân cấp bộ nhớ.

Chương 3: Cấu trúc hệ điều hành


Các thành phần hệ thống
Các dịch vụ hệ thống
Các lời gọi hệ thống
Các chương trình hệ thống
Cấu trúc hệ thống
Thiết kế và thi công (Design & Implementation)
Sản sinh hệ thống.

Chương 4: Quản lý tiến trình


Khái niệm tiến trình (Process Concept)
Điều phối tiến trình (Process Scheduling)
Thao tác với tiến trình (Operations on Process)
Cộng tác giữa các tiến trình (Cooperation Process)
Liên lạc giữa các tiến trình (Interprocess Communications)
Liên lạc trong hệ thống Khách – Chủ ( Communications in Client – Server)

Chương 5: Đa luồng
Khái niệm chung
Chuẩn Pthreads
Đa luồng trong windows

Chương 6: Điều phối CPU


Khái niệm chung
Tiêu chí điều phối (Scheduling Criteria)
Các thuật giải điều phối (Scheduling Algorithms)

Chương 7: Đồng bộ hóa tiến trình


Khái niệm chung
Vấn đề đoạn tương tranh (Critical-Section Problem)
Đèn hiệu (Semaphores)
Bài toán Hiền triết cùng ăn

Chương 8: Deadlocks
Mô hình hệ thống (System Model)
Bản chất của deadlocks
Các phương thức xử trí deadlocks
Ngăn chặn deadlocks
Tránh deadlocks

Câu 2: Phân tích Định nghĩa “Hệ điều hành là Máy tính mở rộng (Extended
Machine) hay Máy tính ảo (Virtual Machine)”
- Ẩn các chi tiết của phần cứng để máy tính dễ sử dụng hơn.
- Người sử dụng và người lập trình được cung cấp một giao diện đơn giản, dễ hiểu và
không phụ thuộc vào thiết bị cụ thể.
- Thực tế, HĐH là một hệ thống bao gồm nhiều máy tính trừu tượng xếp thành nhiều lớp
chồng lên nhau. Máy tính mức dưới phục vụ cho máy tính mức trên.
- Bản thân chương trình ứng dụng cũng là một máy tính trừu tượng và phải dễ sử dụng
nhất.
- Công việc của người lập trình là liên tục xây dựng các máy tính trừu tượng như vậy (cho
người khác sử dụng và cho cả chính mình).
Câu 3: Phân tích Định nghĩa “Hệ điều hành là bộ quản lý tài nguyên (Resource
Manager)”.
- Đáp ứng các yêu cầu sử dụng tài nguyên thiết bị như: CPU, Bộ nhớ trong, ổ đĩa, ổ
băng, Máy in, Card mạng, ...
- Trong trường hợp nhiều chương trình, nhiều người dùng cùng chia sẻ các tài nguyên
chung như vậy, HĐH phải giải quyết tranh chấp có thể xảy ra và đứng ra làm trung gian
điều phối sao cho tài nguyên được sử dụng đúng thứ tự, dùng xong lại được cấp cho đối
tượng khác sử dụng.
- Hình dung tình huống: 3 chương trình cùng in ra một máy in duy nhất. Khó chấp nhận
trường hợp 1 trang in xen kẽ nhiều kết quả từ nhiều nguồn khác nhau. HĐH giải quyết
bằng cách đưa kết quả in của mỗi chương trình tạm thời ra đĩa cứng, sau đó lần lượt in từ
đĩa vào thời điểm thích hợp.

Câu 4: Phân biệt HĐH đa xử lý và HĐH gom cụm


Hệ điều hành đa xử lý và hệ điều hành gom cụm giống nhau là đều tập hợp nhiều CPU
với nhau để thực hiện công việc tính toán
Hệ điều hành gom cụm khác hệ điều hành đa xử lý ở điểm chúng được hợp thành từ hai
hay nhiều hệ thống đơn được kết hợp với nhau.

a. Hệ điều hành đa xử lý
Các hệ hỗ trợ nhiều CPU, còn gọi là các hệ song song (Parallel Systems)

Ích lợi:
- Tăng thông suất : tăng số tác vụ hoàn tất trong 1 đơn vị thời gian, bằng cách tăng số
lượng bộ xử lý, chúng ta hy vọng thực hiện nhiều công việc hơn với thời gian ít hơn.
- Tiết kiệm: Nhiều CPU nhưng chung bộ nhớ và các thiết bị ngoài. Ví dụ: Nếu nhiều
chương trình điều hành trên cùng tập hợp dữ liệu thì lưu trữ dữ liệu đó trên một đĩa và
tất cả bộ xử lý chia sẻ chúng sẽ rẻ hơn là có nhiều máy tính với đĩa cục bộ và nhiều bản
sao dữ liệu.
- Tăng độ tin cậy: Nếu 1 CPU gặp sự cố, hệ vẫn chạy tuy có chậm hơn. Ví dụ: Nếu chúng
ta có 10 bộ xử lý và có 1 bộ xử lý bị sự cố thì mỗi bộ xử lý trong 9 bộ xử lý còn lại phải
chia sẻ của công việc của bộ xử lý bị lỗi. Do đó, toàn bộ hệ thống chỉ giảm 10% năng lực
hơn là dừng hoạt động. Các hệ thống được thiết kế như thế được gọi là hệ thống có khả
năng chịu lỗi (fault tolerant).
Phân loại:
- Đa xử lý đối xứng (symmetric multiprocessing-SMP). Trong hệ thống này mỗi bộ xử lý
chạy bản sao của hệ điều hành và những bản sao này giao tiếp với các bản sao khác khi
cần.
. Các CPU chung bộ nhớ và thiết bị
. Các CPU ngang hàng về chức năng

Ví dụ: Windows 2000 professional : 2CPU ; Windows 2000 Server : 4 CPU

- Đa xử lý bất đối xứng (asymmetric multiprocessing).


. Các CPU chung bộ nhớ và thiết bị
. Các CPU được ấn định chức năng riêng: Cơ chế này định nghĩa mối quan hệ chủ-tớ. Bộ
xử lý chính lập thời biểu và cấp phát công việc tới các bộ xử lý tớ.
.. Có CPU chủ (Master): kiểm soát toàn hệ thống
.. Các CPU khác đóng vai trò phụ thuộc (Slaves), chuyên trách công việc nào đó. (chờ bộ
xử lý chủ ra chỉ thị hoặc có những tác vụ được định nghĩa trước)
Ví dụ: Hệ điều hành SunOS 4.x

b. Hệ điều hành gom cụm


Nhiều máy nối mạng để cùng thực hiệc công việc chung

Phân loại :
- Gom cụm đối xứng (Symmetric Clustering): các máy ngang hàng về chức năng. Mỗi
máy thực hiện phần việc của mình và giám sát lẫn nhau. Ví dụ: Trong hệ thống mạng
gồm nhiều máy chủ chạy song song và chúng đang kiểm soát lẫn nhau.
- Gom cụm phi đối xứng (Asymmetric Clustering): Một máy chạy trong Hot Standby
Mode, nghĩa là chỉ giám sát công việc các máy khác nhưng sẽ đảm đương công việc của
máy gặp sự cố. Ví dụ: Hệ thống mạng gồm hai máy server chạy song song, trong đó một
máy ở trong chế độ dự phòng (hot standby). Máy dự phòng không là gì cả ngoại trừ theo
dõi server hoạt động. Nếu server đó bị lỗi, máy chủ dự phòng nóng trở thành server hoạt
động.

Câu 5: So sánh các hệ Batch System


- Hệ xử lý lô (Batch System)
Mỗi thời điểm chỉ có một tác vụ trong bộ nhớ
- Hệ đa chương (Multiprogramming System)
Nhiều tác vụ (tiến trình) cùng một lúc trong bộ nhớ
Khi một tác vụ không cần đến CPU (do phải thực hiện I/O với thiết bị ngoài), tác vụ khác
được thi hành.
- Hệ chia thời gian (Time-Sharing System)
Là hệ đa chương
Mỗi tác vụ chỉ được dùng CPU trong một khoảng thời gian ngắn (ví dụ với thời lượng là
20ms), sau đó bị ngắt, chuyển sang tác vụ khác, cứ thế xoay vòng.
Mỗi người dùng đều có cảm giác là máy tính chỉ phục vụ cho mình là duy nhất.
Ví dụ: Trong nhà hàng, người bồi bàn (CPU) phục vụ mỗi bàn ăn (chương trình người
dùng) trong một khoảng thời gian ngắn (chẳng hạn trong 10 giây), sau đó chuyển sang
bàn khác.

dovanbinh (102C)

Tổng số bài gửi: 123


Join date: 17/02/2011








3 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

TonThatTrong_102C on 6/5/2011, 16:18

Thanks bạn nhiều đã chia sẻ mong bạn tiếp tục phát huy nha.

TonThatTrong_102C
Tổng số bài gửi: 24
Join date: 15/03/2011








4 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

dovanbinh (102C) on 6/5/2011, 17:02

CHƯƠNG 2: CẤU TRÚC MÁY TÍNH

Câu 1: Trình bày nguyên tắc xử lý ngắt của hệ điều hành


- Hai loại ngắt chính:
. Tín hiệu ngắt (Interrupt Signal) từ các thiết bị (Ngắt cứng) truyền qua System Bus.
. Tín hiệu ngắt từ chương trình người dùng (Ngắt mềm) nhờ Lời gọi hệ thống (System
Call hay Monitor Call). Lệnh đặc biệt này ( ví dụ có tên INT hoặc SysCall )cơ chế để tiến
trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ, yêu cầu thực hiện lệnh I/O).
- Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
- Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành,
không có thiết bị I/O nào làm việc, HĐH im lặng chờ và theo dõi.
- Thông thường, mỗi loại ngắt tương ứng với 1 dòng trong bảng (Véc-tơ ngắt) chứa con
trỏ (Pointer) tới chương trình xử lý loại ngắt đó. Bảng này nằm ở vùng thấp của RAM (ví
dụ: 100 bytes đầu tiên).
- Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay
lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào Ngăn xếp hệ thống
(System Stack) với nguyên tắc làm việc LIFO ( Last-In, First-Out )

Câu 2: Trình bày Tuyến thời gian của một tiến trình có nhiều yêu cầu tới thiết bị
ngoại vi
Câu 3: Phân biệt hai phương thức I/O đồng bộ và không đồng bộ

- Synchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình chuyển sang trạng thái
chờ đến
khi Nhập/Xuất hoàn tất rồi mới chạy tiếp (thực hiện lệnh kế tiếp)
Ví dụ: Khi ta tạo mới một tài liệu nhập dữ liệu từ bàn phím, khi muốn lưu lại ta phải chọn
Save, sau đó đặt tên file, và chọn nơi lưu trữ. Các tiến trình đó ở trạng thái chờ tiến trình
trước nhập
xuất hoàn tất đã.

- ASynchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình không chờ Nhập/Xuất
hoàn
tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc
Nhập/Xuất.
Ví dụ: Khi ta nhập dữ liệu mới hoặc thêm vào tài liệu đã có, khi ta muốn lưu thì ta chọn
Save và lúc này tiến trình vận hành song song với việc phát ra lệnh từ Save.

Câu 4: Phân tích vai trò phân cấp các loại bộ nhớ trong máy tính
- Một sự phân cấp bộ nhớ kiểu mẫu được chỉ ra ở hình trên. Khi chúng ta đi từ trên xuống
trong sơ đồ phân cấp này, những sự kiện sau sẽ xảy ra:
. Giảm phí tổn cho một bit
. Tăng dung lượng
. Tăng thời gian truy cập
. Giảm tần số truy cập bộ nhớ bởi CPU
- Do vậy bộ nhớ nhỏ hơn, nhanh hơn, đắt tiền hơn được phụ trợ bởi bộ nhớ lớn hơn,
chậm hơn, rẻ hơn. Chìa khóa cho sự thành công trong cách tổ chức này là yếu tố cuối
cùng, tức là giảm thiểu tần số truy cập.

Câu 5: Nguyên lý lưu gần


- Là nguyên tắc quan trọng của hệ thống máy tính.
- Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi là
Cache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM, mà lấy ngay từ
Cache.
- Loại bộ nhớ này không do HĐH quản lý và cấp phát.
- Thực tế, RAM (Bộ nhớ Sơ cấp) là loại Cache nhanh so với đĩa cứng (Bộ nhớ thứ cấp) và
HĐH có chức năng quản lý sự lưu chuyển dữ liệu giữa 2 loại bộ nhớ này

Câu 6: Nguyên lý bảo vệ bộ nhớ chính bằng thanh ghi cơ sở và thanh ghi giớ hạn
- Để tiến trình người dùng không can thiệp được vào vùng nhớ của hệ điều hành và các
tiến trình khác, thường sử dụng hai thanh ghi :
. Thanh ghi Cơ sở (Base register): được dùng để lưu trữ địa chỉ ô nhớ hợp lệ nhỏ nhất
. Thanh ghi Giới hạn (Limit register): lưu trữ kích thước của cả ô nhớ.
Ví dụ, nếu thanh ghi base lưu trữ giá trị 300040 và thanh ghi limit lưu trữ giá trị là
120900 thì chương trình sẽ có thể truy cập hợp lệ vào các địa chỉ ô nhớ trong khoảng từ
300040 cho đến 420940.
- Chỉ có HĐH mới có thể sửa được nội dung hai thanh ghi này. Vì thanh ghi base và limit
chỉ có thể được nạp bởi hệ điều hành

dovanbinh (102C)

Tổng số bài gửi: 123


Join date: 17/02/2011








5 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

dovanbinh (102C) on 6/5/2011, 18:11

CHƯƠNG 3: CẤU TRÚC HỆ ĐIỀU HÀNH

Cấu 1: Trình bày vai trò và chức năng của bộ thông dịch lệnh (Command-
Interpreter)
Chức năng : lấy câu lệnh tiếp theo và thực thi nó. (Các câu lệnh giải quyết việc: tạo, hủy,
xem thông tin tiến trình, hệ thống. Điều khiển truy cập I/O . Quản lý, truy cập hệ thống
lưu trữ thứ cấp. Quản lý, sử dụng bộ nhớ.Truy cập hệ thống file…..)

Vai trò :
- Là giao diện chủ yếu giữa người dùng và HĐH. Ví dụ: shell, mouse-based window-and-
menu
- Liên hệ chặt chẽ với các thành phần khác của hệ điều hành để thực thi các yêu cầu của
người dùng
Câu 2: Trình bày và so sánh hai mô hình liên lạc giữa các tiến trình
Liên lạc giữa các tiến trình (Interprocess Communication):
- Mỗi máy tính trong mạng có Host Name và (hoặc) IP Address. Các tên này được HĐH
chuyển đổi thành một số nguyên gọi là HostID.
- Mỗi tiến trình có ProcessName và ProcessID.
- Cặp số (HostID, ProcessID) xác định duy nhất tiến trình trong mạng và được dùng để
Mở/Đóng kết nối với tiến trình đó.
- Có các lời gọi hệ thống kiểu Open, Close, Read, Write, Wait để thao tác với tiến trình.

Truyền thông điệp:


- Cho phép các tiến trình gởi các khuôn dữ kiệu có khuôn dạng tới bất kì tiến trình nào
- Chức năng của hệ thống truyền thông điệp là cho phép các quá trình giao tiếp với các
quá trình khác mà không cần sắp xếp lại dữ liệu chia sẻ.
- Đơn vị truyền thông tin trong cơ chế truyền thông điệp là một thông điệp, do đó các
tiến trình có thể trao đổi dữ liệu ở dạng cấu cấu trúc.

Dùng bộ nhớ chung:


- Với phương thức này, các tiến trình chia sẻ một vùng nhớ vật lý thông qua trung gian
không gian địa chỉ của chung. Một vùng nhớ chia sẻ tồn tại độc lập với các tiến trình, và
khi một tiến trình muốn truy xuất đến vùng nhớ này, tiến trình phải kết gắn vùng nhớ
chung đó vào không gian địa chỉ riêng của từng tiến trình, và thao tác trên đó như một
vùng nhớ riêng của mình.
- Đây là phương pháp nhanh nhất để trao đổi dữ liệu giữa các tiến trình. Nhưng phương
thức này cũng làm phát sinh các khó khăn trong việc bảo đảm sự toàn vẹn dữ liệu
(coherence)
- Một khuyết điểm của phương pháp liên lạc này là không thể áp dụng hiệu quả trong các
hệ phân tán , để trao đổi thông tin giữa các máy tính khác nhau.
Câu 3: Kỹ thuật máy ảo, với ưu nhược điểm của nó. Phân biệt Vmware và
VirtualPC
Kỹ thuật máy ảo
- Máy ảo là sự phát triển lô-gic của kiến trúc phân lớp.
- Bằng cách Điều phối CPU và kỹ thuật Bộ nhớ ảo, có thể tạo cho người dùng ảo giác
rằng người đó đang dùng bộ xử lý và bộ nhớ của riêng mình.
- Nói cách khác: Máy tính ảo của người dùng được giả lập trên nền máy tính vật lý.
- Ví dụ: Trên nền CPU loại PowerPC, Motorola, Alpha,... có thể giả lập máy tính ảo Intel
chạy HĐH Windows và ngược lại. Khi đó, các lệnh của Intel được chuyển đổi sang lệnh
vật lý trước khi thực hiện.
- HĐH máy ảo thương mại đầu tiên: VM/370 của IBM.

Ưu điểm:
- Tính bảo mật cao do các máy ảo độc lập với nhau. Các tài nguyên của máy vật lý được
bảo vệ hoàn toàn vì các máy ảo có Thiết bị ảo (Một ổ đĩa ảo, thậm chí toàn bộ máy ảo
thực tế chỉ là một tập tin của máy vật lý). Có thể lấy từ Internet về một chương trình lạ
và thử vận hành trên máy ảo mà không sợ bị ảnh hưởng (ví dụ do virus) vì nếu có sao
cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống (System Development) mà không sợ làm ảnh hưởng đến công
việc toàn hệ máy đang vận hành. HĐH là chương trình phức tạp, cần liên tục thử nghiệm,
tinh chỉnh, hoàn thiện và nâng cấp. Có thể tiến hành Phát triển hệ thống trên một máy
ảo thay vì làm trên máy thực.

Nhược điểm:
- Vấn đề lưu trữ vật lý. Thông thường, mỗi máy ảo chỉ dùng một tập tin để lưu tất cả
những gì diễn ra trong máy ảo. Do đó nếu bị mất tập tin này xem như mất tất cả.
- Nếu máy tính có cấu hình phần cứng thấp nhưng cài quá nhiều chương trình máy ảo,
máy sẽ chậm và ảnh hưởng đến các chương trình khác.
- Do tập trung vào một máy tính, nếu máy bị hư thì toàn bộ các máy tính ảo đã thiết lập
trên nó cũng bị ảnh hưởng theo.
- Ở góc dộ bảo mật, nếu hacker nắm quyền điều khiển máy tính chứa các máy ảo thì
hacker có thể kiểm soát được tất cả các máy ảo trong nó.

Phân biệt Vmware và VirtualPC


Giống nhau:
- Giúp giả lập máy tính ảo trên một máy tính thật. Khi cài đặt chúng lên, ta có thể tạo
nên các máy ảo chia sẻ CPU, RAM, Card mạng với máy tính thật. Điều này cho phép xây
dựng nên một hệ thống với một vài máy tính được nối với nhau theo một mô hình nhất
định, người sử dụng có thể tạo nên hệ thống của riêng mình, cấu hình theo yêu cầu của
bài học.

Khác nhau:
- Về mạng nội bộ, VMW cung cấp tới 4 phương thức kết nối: 'Bridged Connection',
'Network Address Translation', 'Host Only' và 'Custom'. 'Bridged Connection' cho phép
máy ảo trực tiếp kết nối với mạng LAN hoặc Internet. 'Network Address Translation' cho
phép máy ảo kết nối mạng bằng cách dùng chung địa chỉ IP của máy chủ. 'Host Only' tạo
một mạng riêng mà trong đó máy chủ được coi như một máy tính tách rời. Với 'Custom',
bạn có thể tạo một mạng ảo theo những yêu cầu cụ thể. Chúng tôi sử dụng phương thức
'Network Address Translation' và nhận thấy việc kết nối mạng không gặp bất kỳ khó
khăn gì trong cả 2 môi trường Windows và Linux.

- VPC đòi hỏi 2 cửa sổ chương trình: một cho việc quản lí các máy ảo, một cho từng máy
ảo. Ngược lại, VMW lại gộp cả 2 cửa sổ trên vào làm một. Tuy nhiên, VPC cung cấp menu
của cửa sổ chương trình đơn giản hơn của VMW. Cả 2 phần mềm đều cho phép thực hiện
tất cả các thao tác cấu hình chi tiết thông qua menu chính, song bạn cũng có thể trực
tiếp thực hiện một số thiết đặt thông qua các biểu tượng ở thanh trạng thái phía dưới.

Được sửa bởi dovanbinh (102C) ngày 8/5/2011, 10:17; sửa lần 1.

dovanbinh (102C)

Tổng số bài gửi: 123


Join date: 17/02/2011








6 Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

levantrung102 (102C) on 7/5/2011, 01:12

Bạn Do Van Binh oi cảm ơn nha


Nhưng tại sao bạn không để lên 1 file .doc rồi post luôn
Bạn siêng như vậy chắc bạn sẽ qua môn này đó. Cảm ơn nha

levantrung102 (102C)

Tổng số bài gửi: 39


Join date: 27/02/2011
Age: 23
Đến từ: Hoai Nhon - Binh Dinh








7 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

dovanbinh (102C) on 8/5/2011, 10:10

CHƯƠNG 4: QUẢN LÝ TIẾN TRÌNH

Câu 1: Trình bày mô hình chuyển trạng thái của tiến trình

New: tiến trình đang được tạo lập.


Running: các chỉ thị của tiến trình đang được xử lý.
Blocked: tiến trình chờ được cấp phát một tài nguyên, hay chờ một sự kiện xảy ra .
Ready: tiến trình chờ được cấp phát CPU để xử lý.
Kết thúc: tiến trình hoàn tất xử lý.
Tiến trình P1: vào hàng đợi Job-Queue ở trạng thái New, sẽ đợi 1 khoảng thời gian của
quá trình điều phối chậm (Scheduler Long Term) của hệ điều hành(HĐH) để chọn tiến
trình, sau khi được O.S chọn, P1 chuyển sang hàng đợi reday quueue và ở trạng thái
Ready. Lúc này P1 chỉ đợi cấp CPU và running.
Sau một khỏang thời gian running, tiến trình P2 xuất hiện. Lúc này, hệ điều hành sẽ ghi
lại thông tin của P1 vào thanh PCB1 bao gồm những thông tin: con trỏ, trạng thái của
P1, số hiệu của tiến trình P1, Bộ đếm P1, nội dung của P1…Và chuyển P1 sang hàng đợi
Waiting và chuyển trạng thái Ready. Lúc này, P2 sẽ được cấp CPU và running. Và sau
một khỏang thời gian running, P2 cũng sẽ chuyển sang hàng đợi waiting và chuyển trạng
thái ready, lúc này HĐH cũng ghi lại thông tin vào thanh ghi PCB2 như đã làm ở P1. Sau
đó, HĐH sẽ load lại thông tin của PCB1 và P1 sẽ tiếp tục running. Quá trình này cũng sẽ
lập lại cho P2. Đển khi P1 và P2 kết thúc.

Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ xử lý
bất kỳ. Trong khi đó, nhiều tiến trình có thể ở trạng thái blocked hay ready.
Các cung chuyển tiếp trong sơ đồ trạng thái biễu diễn sáu sự chuyển trạng thái có thể
xảy
ra trong các điều kiện sau :
• Tiến trình mới tạo được đưa vào hệ thống
• Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU
• Tiến trình kết thúc
• Tiến trình yêu cầu một tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn
sàng để cấp phát tại thời điểm đó ; hoặc tiến trình phải chờ một sự kiện hay thao
tácnhập/xuất.
• Bộ điều phối chọn một tiến trình khác để cho xử lý .
• Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát ; hay sự kiện hoặc thao
tác nhập/xuất tiến trình đang đợi hoàn tất.

Câu 2: Phân tích vai trò của khối kiểm soát tiến trình

Khối kiểm soát tiến trình (Process Control Block - PCB ) - Bảng thông tin về môi trường
và trạng thái hoạt động của tiến trình:
Chứa các thông tin ứng với mỗi process. Process ID, parent process ID
• Credentials (user ID, group ID, effective ID,...)
• Trạng thái process : new, ready, running, waiting…
• Program counter: địa chỉ của lệnh kế tiếp sẽ thực thi
• Các thanh ghi CPU
• Thông tin dùng để định thời CPU: priority,...
• Thông tin bộ nhớ: base/limit register, page tables…
• Thông tin thống kê: CPU time, time limits…
• Thông tin trạng thái I/O: danh sách thiết bị I/O được cấp phát, danh sách các file đang
mở,...
• Con trỏ (pointer) đến PCBs khác.

PCB đơn giản phục vụ như kho chứa cho bất cứ thông tin khác nhau từ quá trình này tới
quá trình khác.

Câu 3: Trình bày mô hình luân chuyển CPU giữa hai tiến trình

Câu 4: Phân biệt các loại trình điều phối


Điều phối chậm (Long-term scheduler (or job scheduler)) :
• Chọn process nào sẽ được đưa vào ready queue (từ New chuyển sang Ready)
• Kiểm soát Độ đa chương
• Do có nhiều thời gian (tới vài phút), loại scheduler này có điều kiện để lựa chọn kỹ càng
nhằm phối hợp cân đối 2 loại tiến trình
. Hướng CPU: tính toán nhiều, ít I/O.
Ví dụ: Công ty có một chiếc ô tô (CPU), nhiều nhân viên cần đi công tác (nhiều tiến trình)
phải sử dụng ô tô. Do đó, ô tô (CPU) phải bận (phục vụ) cho nhiều người (nhiều tiến
trình).
. Hướng I/O: tính toán ít, nhiều I/O
Ví dụ: Công ty có một chiếc ô tô (CPU), các nhân viên trong công ty chỉ ngồi nghiên cứu
(I/O), không sử dụng đến ô tô. Vậy quá lãng phí ô tô (CPU)
• Mục đích cân bằng tải

Điều phối nhanh (Short-term scheduler (or CPU scheduler)) :


• Còn gọi là Điều phối CPU.
• Chọn tiến trình từ Ready Queue để cấp CPU.
• Có tần suất công việc cao. Thường cứ 100 ms lại tốn 10 ms để xác định tiến trình kế
tiếp, như vậy 10/(100+10)=9% thời gian CPU được dùng để điều phối công việc.

Điều phối vừa (Medium-term scheduler) :


• Là Short-Term Scheduler được thêm chức năng rút các tiến trình khỏi bộ nhớ, dẫn đến
làm giảm Độ đa chương, sau đó đưa lại chúng vào bộ nhớ vào thời điểm thích hợp để tiếp
tục thực hiện từ vị trí bị tạm ngừng trước đó.
• Nhờ cách điều phối này, hỗn hợp các tiến trình trong Ready Queue có tính tối ưu hơn.
Ví dụ: Phòng thực hành nhỏ, nhưng nhiều bạn đi học thực hành (nhiều tiến trình). Thầy
(HĐH) sẽ đẩy một số bạn ra khỏi lớp (rút tiến trình ra khỏi bộ nhớ). Sau khi nhóm trong
phòng học xong Thầy sẽ đẩy các bạn bên ngoài vào phòng học (đưa tiến trình vào bộ nhớ
vào thời điểm thích hợp).

Câu 5: Trình bày những lý do công tác giữa các tiến trình

• Chia sẻ thông tin (Information Sharing): Một tiến trình sử dụng thông tin do tiến trình
khác cung cấp. Ví dụ: các bạn trong lớp chia nhóm học. Nhóm một nghiên cứu chương 1,
nhóm hai nghiên cứu chương 2. Sau đó, hai nhóm trao đổi thông tin cho nhau. Kết quả
hai nhóm mau chóng tìm hiểu hết hai chương.
• Tăng tốc tính toán (Computation Speedup): Các tiến trình cùng làm việc song song trên
1 hoặc nhiều máy để giải quyết bài toán chung.
• Đảm bảo tính đơn thể (Modularity): Chương trình được chia thành các đơn thể chức
năng vận hành trong các tiến trình hoặc luồng khác nhau. Ví dụ: mỗi bạn học một bài,
đảm bảo tính đơn thể.
• Đảm bảo tính tiện dụng (Convenience): Người dùng có nhu cầu làm nhiều việc một lúc:
Soạn thảo, In ấn, Duyệt Web, Lấy file về, Biên dịch chương trình, Kiểm tra chính tả,...

Câu 6: Phát biểu bài toán Tiêu thụ - sản xuất vời thuật giải phù hợp

Phát biểu bài toán:


• Giả sử có Bộ nhớ đệm (Buffer) bao gồm nhiều khoang (Items) được tiến trình Producer
lần lượt đưa các sản phẩm S1, S2,... vào.
• Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
• Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi
Buffer đầy, Không được lấy ra khi chưa có.

Trình bày giải thuật:

Câu 7: Truyền thông điệp trong windows (Message-Passing in Windows)

Các hàm API dùng để Gửi/Nhận thông điệp


– SendMessage - Gửi có chờ
– PostMessage - Gửi không chờ
– SendMessageTimeout- Gửi có chờ nhưng với thời hạn
– WaitMessage - Chờ thông điệp đến
– GetMessage - Nhận có chờ
– PeekMessage - Nhận không chờ
dovanbinh (102C)

Tổng số bài gửi: 123


Join date: 17/02/2011








8 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

dovanbinh (102C) on 8/5/2011, 10:38

CHƯƠNG 5: LUỒNG

Câu 1: Phân biệt khái niện luồng với tiến trình. Và trình bày những lợi ích của
công nghệ đa luồng

Phân biệt khái niệm luồng với tiến trình


• Luồng: 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 hệ thống (HWP - Heavy Weight
Process)
Ví dụ: Lớp học là một tiến trình. Trong lớp sẽ có một giáo viên(đơn luồng) và các học
viên (đa luồng)
• Tiến trình: là chương trình trong thời gian thực hiện (đặt dưới sự quản lý của hệ điều
hành). Có sự phân biệt Tiến trình hệ thống (của Hệ điều hành) với Tiến trình người dùng.
Ví dụ: Lớp HCTH102C đang học là một tiến trình

Những ích lợi của công nghệ đ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ề).
Ví dụ: Các cô ở tổng đài 108 là các luồng. Khi khách hàng điện thoại hỏi 108, thì một
trong các cô (cô thứ 1) sẽ trả lời. Nếu trong thời điểm đó khách hàng thứ hai gọi 108, thì
một trong các cô (cô thứ 2) còn lại sẽ trả lời cho khách hàng.
• 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.
Ví dụ: Trong nhà ta có kệ sách, tivi, xe gắn máy, ... mọi người trong nhà có thể dùng
chung sách, tivi, xe máy.
• 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).
Ví dụ: Các bạn trong lớp là các luồng đang dùng chung một cái bảng, ai cần ghi thi ghi, ai
cần thì chụp hình về xem
• 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.

Câu 2: Trình bày nguyên lý tập nguồn và cho ví dụ minh họa

Tập luồng (Thread Pools):


• 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 (ví dụ Web Server) 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ụ:
Trong một doanh trai quân đội sẽ có một tướng lĩnh (tiến trình cha) và sẽ có một đội binh
(tập luồng).
Đội binh này sẽ sẳn sàng chiến đầu khi có mệnh lệnh (sẵn sàng chờ công việc).
Khi có một tên địch đột nhập, Tướng lĩnh sẽ điều binh sĩ 1 (một luồng) đi bắt tên địch
(một luồng được đánh thức và đưa vào vận hành).
Trong khi đó, lại có thêm một tên địch khác đột nhập (nhận thêm một yêu cầu), Tướng
lĩnh sẽ điều binh sĩ 2 (một luồng) đi bắt địch (một luồng khác được đánh thức và đưa vào
vận hành).
Sau khi bắt địch xong, binh sĩ sẽ trở về doanh trại (luồng được trả về tập luồng)

Câu 3: Lập trình đa luồng trong windows


• Windows sử dụng các hàm trong thư viện Win32 API.
• Ứng dụng Windows vận hành như một tiến trình với 1 hoặc nhiều luồng.
• Bài toán Sản xuất-Tiêu thụ có thể được thực thi bằng Ứng dụng đa luồng (Visual C++
6.0).
• Nhận độ ưu tiên của luồng bằng hàm: int GetThreadPriority (HANDLE threadHandle)
• Thay đổi độ ưu tiên của luồng bằng hàm:BOOL SetThreadPriority (HANDLE
threadHandle, int priority)
Với độ ưu tiên priority:
THREAD_PRIORITY_LOWEST ( -2)
THREAD_PRIORITY_BELOW_NORMAL ( -1)
THREAD_PRIORITY_NORMAL ( 0 )
THREAD_PRIORITY_ABOVE_NORMAL (+1)
THREAD_PRIORITY_HIGHEST (+2)

• Có thể lập trình đa luồng với Visual Basic 6.0:


. Sản xuất – Tiêu thụ
. Animations
. Colors

dovanbinh (102C)

Tổng số bài gửi: 123


Join date: 17/02/2011








9 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

dovanbinh (102C) on 8/5/2011, 11:02

CHƯƠNG 6: ĐIỀU PHỐI CPU

Câu 1: 4 tình huống ra quyết định của trình điều phối. Và phân biệt điều phối
không tiếm quyền và điều phối có tiếm quyền
Bốn tình huống ra quyết định của trình điều phối:
1. Khi tiến trình chuyển từ Running sang Waiting (chờ I/O, chờ tiến trình con)
2. Khi tiến trình chuyển từ Running sang Ready (do ngắt xảy ra)
3. Khi tiến trình chuyển từ Waiting sang Ready (khi kết thúc I/O)
4. Khi tiến trình kết thúc công việc.

Phân biệt điều phối không tiếm quyền và điều phối có tiếm quyền

- Điều phối Không tiếm quyền (Non-Preemptive): sơ đồ điều phối chỉ tiến hành trong tình
huống 1 và 4. Tiến trình giữ CPU cho đến khi kết thúc bình thường hoặc khi chuyển sang
trạng thái Waiting (cách làm trong Windows 3.1 và Macintosh OS). Dùng khi máy không
có Timer.

- Điều phối Có tiếm quyền (Preemptive): sơ đồ điều phối tiến hành trong cả 4 tình huống
được

Câu 2 - BÀI TẬP: Thuật giải ngắn hơn chạy trước


Câu 3 - BÀI TẬP: Điều phối CPU theo vòng Robin

Câu 4: Phân biệt thuật giải MQS với thuật giải MFQS

Điều phối hàng chờ nhiều mức (Multilevel Queue Scheduling - MQS)
• Hàng chờ Ready được phân cấp thành nhiều mức có độ ưu tiên khác nhau, ví dụ: Mức
các tiến trình tương tác (Interactive) chạy ở mặt trước ( Foreground ) có độ ưu tiên cao
nhất và Mức các tiến trình lô ( Batch ) vận hành trong hậu trường (Background ) .
• Mỗi hàng chờ có thuật giải điều phối riêng, ví dụ: Foreground dùng RRS, Background
dùng FCFS.
• Quan hệ giữa các mức:
- Ưu tiên cố định: Xong hết các tiến trình mức trên rồi mới chuyển xuống mức dưới. Đang
chạy tiến trình mức dưới mà xuất hiện tiến trình mới mức cao hơn, tiến trình mức dưới sẽ
bị tiếm quyền cho tiến trình mới có độ ưu tiên cao hơn ( Hệ Solaris 2 dùng cách này ) .
- Phân bổ theo tỉ lệ thời lượng, ví dụ: 80% thời lượng CPU dành cho Foreground, 20 %
cho Background.
Điều phối hàng chờ nhiều mức có điều tiết ( Multilevel Feedback Queue
Scheduling - MFQS )
• Như MQS nhưng cho phép Điều tiết tiến trình sang mức khc, ví dụ: những tiến trình
hướng CPU được đưa xuống mức dưới, trong khi tiến trình hướng I/O hoặc chờ lâu được
chuyển lên trên.
• MFQS đặc trưng bởi các thông số:
- Số mức ( số hàng chờ )
- Thuật giải điều phối cho mỗi mức
- Phương thức nâng cấp tiến trình
- Phương thức hạ cấp tiến trình
- Phương thức chọn hàng chờ ( chọn mức ) cho tiến trình mới

dovanbinh (102C)

Tổng số bài gửi: 123


Join date: 17/02/2011








10 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

Nguyen_Cao_Tri_(I92C) on 10/5/2011, 11:03

Thnks bạn "dovanbinh (102C)" cái đùng

Nguyen_Cao_Tri_(I92C)

Tổng số bài gửi: 55


Join date: 21/09/2010








11 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

nguyenphicuong (i92c) on 11/5/2011, 00:20

Thanks bạn "dovanbinh (102C)" rất nhiều. Đây những câu trả lời rất đáng để tham khảo.

nguyenphicuong (i92c)

Tổng số bài gửi: 33


Join date: 16/03/2011








12 Cái này dễ ra thi lắm - vì nó liên quan tiến trình

LaiVanTan77(I91C) on 11/5/2011, 07:44

dovanbinh (102C) đã viết:

CHƯƠNG 4: QUẢN LÝ TIẾN TRÌNH

Câu 1: Trình bày mô hình chuyển trạng thái của tiến trình
New: tiến trình đang được tạo lập.
Running: các chỉ thị của tiến trình đang được xử lý.
Blocked: tiến trình chờ được cấp phát một tài nguyên, hay chờ một sự kiện xảy ra .
Ready: tiến trình chờ được cấp phát CPU để xử lý.
Kết thúc: tiến trình hoàn tất xử lý.

Tiến trình P1: vào hàng đợi Job-Queue ở trạng thái New, sẽ đợi 1 khoảng thời gian của quá
trình điều phối chậm (Scheduler Long Term) của hệ điều hành(HĐH) để chọn tiến trình, sau
khi được O.S chọn, P1 chuyển sang hàng đợi reday quueue và ở trạng thái Ready. Lúc này P1
chỉ đợi cấp CPU và running.
Sau một khỏang thời gian running, tiến trình P2 xuất hiện. Lúc này, hệ điều hành sẽ ghi lại
thông tin của P1 vào thanh PCB1 bao gồm những thông tin: con trỏ, trạng thái của P1, số
hiệu của tiến trình P1, Bộ đếm P1, nội dung của P1…Và chuyển P1 sang hàng đợi Waiting và
chuyển trạng thái Ready. Lúc này, P2 sẽ được cấp CPU và running. Và sau một khỏang thời
gian running, P2 cũng sẽ chuyển sang hàng đợi waiting và chuyển trạng thái ready, lúc này
HĐH cũng ghi lại thông tin vào thanh ghi PCB2 như đã làm ở P1. Sau đó, HĐH sẽ load lại
thông tin của PCB1 và P1 sẽ tiếp tục running. Quá trình này cũng sẽ lập lại cho P2. Đển khi P1
và P2 kết thúc.

Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ xử lý
bất kỳ. Trong khi đó, nhiều tiến trình có thể ở trạng thái blocked hay ready.
Các cung chuyển tiếp trong sơ đồ trạng thái biễu diễn sáu sự chuyển trạng thái có thể xảy
ra trong các điều kiện sau :
• Tiến trình mới tạo được đưa vào hệ thống
• Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU
• Tiến trình kết thúc
• Tiến trình yêu cầu một tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn sàng để
cấp phát tại thời điểm đó ; hoặc tiến trình phải chờ một sự kiện hay thao tácnhập/xuất.
• Bộ điều phối chọn một tiến trình khác để cho xử lý .
• Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát ; hay sự kiện hoặc thao tác
nhập/xuất tiến trình đang đợi hoàn tất.

Câu 2: Phân tích vai trò của khối kiểm soát tiến trình

Khối kiểm soát tiến trình (Process Control Block - PCB ) - Bảng thông tin về môi trường và
trạng thái hoạt động của tiến trình:

Chứa các thông tin ứng với mỗi process. Process ID, parent process ID
• Credentials (user ID, group ID, effective ID,...)
• Trạng thái process : new, ready, running, waiting…
• Program counter: địa chỉ của lệnh kế tiếp sẽ thực thi
• Các thanh ghi CPU
• Thông tin dùng để định thời CPU: priority,...
• Thông tin bộ nhớ: base/limit register, page tables…
• Thông tin thống kê: CPU time, time limits…
• Thông tin trạng thái I/O: danh sách thiết bị I/O được cấp phát, danh sách các file đang
mở,...
• Con trỏ (pointer) đến PCBs khác.

PCB đơn giản phục vụ như kho chứa cho bất cứ thông tin khác nhau từ quá trình này tới quá
trình khác.

Câu 3: Trình bày mô hình luân chuyển CPU giữa hai tiến trình
Câu 4: Phân biệt các loại trình điều phối

Điều phối chậm (Long-term scheduler (or job scheduler)) :


• Chọn process nào sẽ được đưa vào ready queue (từ New chuyển sang Ready)
• Kiểm soát Độ đa chương
• Do có nhiều thời gian (tới vài phút), loại scheduler này có điều kiện để lựa chọn kỹ càng
nhằm phối hợp cân đối 2 loại tiến trình
. Hướng CPU: tính toán nhiều, ít I/O.
Ví dụ: Công ty có một chiếc ô tô (CPU), nhiều nhân viên cần đi công tác (nhiều tiến trình)
phải sử dụng ô tô. Do đó, ô tô (CPU) phải bận (phục vụ) cho nhiều người (nhiều tiến trình).
. Hướng I/O: tính toán ít, nhiều I/O
Ví dụ: Công ty có một chiếc ô tô (CPU), các nhân viên trong công ty chỉ ngồi nghiên cứu
(I/O), không sử dụng đến ô tô. Vậy quá lãng phí ô tô (CPU)
• Mục đích cân bằng tải

Điều phối nhanh (Short-term scheduler (or CPU scheduler)) :


• Còn gọi là Điều phối CPU.
• Chọn tiến trình từ Ready Queue để cấp CPU.
• Có tần suất công việc cao. Thường cứ 100 ms lại tốn 10 ms để xác định tiến trình kế tiếp,
như vậy 10/(100+10)=9% thời gian CPU được dùng để điều phối công việc.

Điều phối vừa (Medium-term scheduler) :


• Là Short-Term Scheduler được thêm chức năng rút các tiến trình khỏi bộ nhớ, dẫn đến làm
giảm Độ đa chương, sau đó đưa lại chúng vào bộ nhớ vào thời điểm thích hợp để tiếp tục thực
hiện từ vị trí bị tạm ngừng trước đó.
• Nhờ cách điều phối này, hỗn hợp các tiến trình trong Ready Queue có tính tối ưu hơn.
Ví dụ: Phòng thực hành nhỏ, nhưng nhiều bạn đi học thực hành (nhiều tiến trình). Thầy
(HĐH) sẽ đẩy một số bạn ra khỏi lớp (rút tiến trình ra khỏi bộ nhớ). Sau khi nhóm trong
phòng học xong Thầy sẽ đẩy các bạn bên ngoài vào phòng học (đưa tiến trình vào bộ nhớ vào
thời điểm thích hợp).

Câu 5: Trình bày những lý do công tác giữa các tiến trình

• Chia sẻ thông tin (Information Sharing): Một tiến trình sử dụng thông tin do tiến trình khác
cung cấp. Ví dụ: các bạn trong lớp chia nhóm học. Nhóm một nghiên cứu chương 1, nhóm hai
nghiên cứu chương 2. Sau đó, hai nhóm trao đổi thông tin cho nhau. Kết quả hai nhóm mau
chóng tìm hiểu hết hai chương.
• Tăng tốc tính toán (Computation Speedup): Các tiến trình cùng làm việc song song trên 1
hoặc nhiều máy để giải quyết bài toán chung.
• Đảm bảo tính đơn thể (Modularity): Chương trình được chia thành các đơn thể chức năng
vận hành trong các tiến trình hoặc luồng khác nhau. Ví dụ: mỗi bạn học một bài, đảm bảo
tính đơn thể.
• Đảm bảo tính tiện dụng (Convenience): Người dùng có nhu cầu làm nhiều việc một lúc:
Soạn thảo, In ấn, Duyệt Web, Lấy file về, Biên dịch chương trình, Kiểm tra chính tả,...

Câu 6: Phát biểu bài toán Tiêu thụ - sản xuất vời thuật giải phù hợp

Phát biểu bài toán:


• Giả sử có Bộ nhớ đệm (Buffer) bao gồm nhiều khoang (Items) được tiến trình Producer lần
lượt đưa các sản phẩm S1, S2,... vào.
• Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
• Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi
Buffer đầy, Không được lấy ra khi chưa có.

Trình bày giải thuật:


Câu 7: Truyền thông điệp trong windows (Message-Passing in Windows)

Các hàm API dùng để Gửi/Nhận thông điệp


– SendMessage - Gửi có chờ
– PostMessage - Gửi không chờ
– SendMessageTimeout- Gửi có chờ nhưng với thời hạn
– WaitMessage - Chờ thông điệp đến
– GetMessage - Nhận có chờ
– PeekMessage - Nhận không chờ

Lớp chúng ta cung cấp khá nhiều tài liệu, các bạn đoàn kết thế này sẽ đậu cao thôi!

LaiVanTan77(I91C)

Tổng số bài gửi: 49


Join date: 17/02/2011








13 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

tranquangthuan(I91C) on 11/5/2011, 12:07

hay qua roi, co tat ca tai lieu,khong biet ky nay nhu the nao nua?

tranquangthuan(I91C)

Tổng số bài gửi: 34


Join date: 20/03/2010








14 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

MaiTranHoangTri65(102C) on 11/5/2011, 13:25

Cám ơn bạn dovanbinh đã có công chọn lọc và post lên cho ae in học

MaiTranHoangTri65(102C)

Tổng số bài gửi: 23


Join date: 23/02/2011








15 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

phamanhthu94(102C) on 11/5/2011, 15:21

Cám ơn bạn dovanbinh nhiều lắm!

phamanhthu94(102C)

Tổng số bài gửi: 26


Join date: 18/02/2011








16 Re: Tổng hợp các câu hỏi và câu trả lời môn Hệ điều hành

dovanbinh (102C) on 13/5/2011, 10:10

CHƯƠNG 7: ĐỒNG BỘ HÓA TIẾN TRÌNH

Câu 1: Những lý do đồng bộ hóa công việc tiến trình. Cho ví dụ minh họa

- Đảm bảo tính nhất quán của tài nguyên dùng chung.
- Tránh được hiện tượng Deadlock (Hiện tượng kẹt tiến trình) .
VD: một trường học chỉ có 1 phòng lab (tài nguyên dùng chung) , lớp có giờ học trước thì
được vào phòng lab học, các lớp còn lại phải chờ đến khi lớp học trước đó hết giờ mới
được vào phòng lab

Câu 2: Khái niện đoạn tương tranh và loại trừ lẫn nhau. Cho ví dụ minh họa.

- Đoạn tương tranh :Xét một hệ có n tiến trình P0,P1, ...,Pn, mỗi tiến trình có một đoạn
mã lệnh, nếu như trong đoạn mã này các tiến trình thao tác trên các biến chung,đọc ghi
file... (tổng quát: thao tác trên dữ liệu chung) thì đoạn mã lệnh đó là đoạn tương tranh.
- Tính Loại trừ lẫn nhau hay Loại trừ tương hỗ (Mutual Exclusion) về phương diện thời
gian: Khi có 1 tiến trình đang ở trong ĐTT của nó thì không có tiến trình nào khác trong
nhóm cũng tại đoạn như vậy, nghĩa là: Mỗi thời điểm chỉ có 1 tiến trình được phép truy
cập và/hoặc thay đổi tài nguyên chung.
- Các tiến trình tương tranh có cấu trúc mã bao gồm Entry Section (Đoạn Đăng nhập),
Critical Section (Đoạn Tương tranh), Exit Section (Đoạn Đăng xuất) và các Remainder
Section (Đoạn Còn lại).
Ví dụ:
ĐƠN XIN VIỆC
Kính gửi: Giám đốc công ty x
Tôi tên là: Lê Văn Ba
..........(nội dung đơn).............
TP Hồ Chí Minh, ngày 5 tháng 5 năm 2011
Người làm đơn
....(chữ ký)....
Lê Văn Ba

. Nội dung đơn này phải được đảm bảo tính toàn vẹn (Integrity), ví dụ: Phía trên là Lê
Văn Ba thì phía dưới cũng phải là Lê Văn Ba.
. Nếu vài tiến trình (hơn 1) cùng sửa đơn trên một lúc (không đảm bảo được tính Loại trừ
lẫn nhau) thì nội dung của nó có thể không đúng. Ví dụ, giả sử tiến trình P1 (nhà sản
xuất) sửa Lê Văn Ba phía trên thành Lê Văn Bàng, trong khi P2 (nhà sản xuất khác) sửa
Lê Văn Ba phía dưới thành Lê Văn Bá, mà có tiến trình P3 (nhà tiêu thụ) nào đó "lấy" đơn
về dùng (để in ra) thì kết quả sẽ không nhất quán như sau:

ĐƠN XIN VIỆC


Kính gửi: Giám đốc công ty x
Tôi tên là: Lê Văn Bàng
..........(nội dung đơn).............
TP Hồ Chí Minh, ngày 5 tháng 5 năm 2011
Người làm đơn
....(chữ ký)....
Lê Văn Bá

Câu 3: Khái niệm đèn hiệu (Semaphores).Và 2 ứng dụng của đèn hiệu.

Khái niệm đèn hiệu


- Đèn hiệu là phương tiện đồng bộ hoá được E.W. Dijkstra đề xuất năm 1965.
- Đèn hiệu được mô tả bằng một biến kiểu nguyên với 2 tác nguyên là Wait (Chờ) và
Signal (Báo hiệu):

typedef int semaphore; // Định nghĩa kiểu Đèn hiệu


wait (semaphore S)
{
while ( S <= 0 ); // Chờ bận nếu S<=0
S --; // Giảm S đi 1
}

signal (semaphore S)
{
S ++; // Tăng S lên 1
}

-Việc kiểm tra S <= 0 và giảm S (trong Wait) hoặc tăng S (trong Signal) phải được thực
hiện trọn vẹn (không xảy ra ngắt trong thời gian thi hành), do đó Wait và Signal được gọi
là các tác nguyên (Atomic Operations).
Câu 4: Thực thi đèn hiệu trong windows

Câu 5: Thực thi bài toán sản xuất và tiêu thụ được đồng bộ bằng ba đèn hiệu

HANDLE semEmpty, semFull; //hai đèn hiệu


CRITICAL_SECTION critSec;//Biến kiểu Mutex
void Producer(void * p)
{
while (1)
{
// ... Sản xuất (nextProduced)
// Chờ đến khi có chỗ trống
WaitForSingleObject(semEmpty, INFINITE);
EnterCriticalSection(&critSec);
//…Sắp sản phẩm vào Buffer
// Tăng (semFull) lên 1
ReleaseSemaphore(semFull, 1, NULL);
LeaveCriticalSection(&critSec);
SuspendThread(GetCurrentThread());
}
}
void Consumer()
{
int nextConsumed;
while (1)
{
// Chờ đến khi có sản phẩm
WaitForSingleObject(semFull, INFINITE);
EnterCriticalSection(&critSec);
nextConsumed=buffer[out];
out=(out+1)%BUFFER_SIZE;
// Tăng (semEmpty) lên 1
ReleaseSemaphore (semEmpty, 1, NULL);
LeaveCriticalSection(&critSec);
// ... Tiêu thụ (nextConsumed)
SuspendThread(GetCurrentThread());
}
}

- Biến semEmpty dùng để chứa mục quản của đèn hiệu quản lý số vùng trống trong bộ
đệm.
- Biến semFull dùng để chứa mục quản của đèn hiệu quản lý số sản phẩm trong bộ đệm.
- CritSec là đối tượng đèn hiệu kiểu mutex dùng để bảo vệ đoạn tương tranh để đảm bảo
tính loại trừ lẫn nhau trong công việc của các tiến trình với tài nguyên dùng chung.

dovanbinh (102C)

Tổng số bài gửi: 123


Join date: 17/02/2011

Trang 1 trong tổng số 2 trang • 12

Similar topics
» Điều lệ Hội Liên hiệp Phụ nữ Việt Nam (bổ sung, sửa đổi)
» Tổng hợp một số ebook về MapInfo
» Tổng hợp các album của các lão nhà dbsk đây
» Đề thi bê tông cốt thép mới update thêm
» Thí nghiệm các chỉ tiêu cơ lý của thép cốt bê tông

Hệ điều hành :: Your first category :: Hoàn chỉnh kiến thức 102C
Trang 1 trong tổng số 2 trang
PERMISSIONS OF THIS FORUM:
Bạn không có quyền trả lời bài viết
• Index

• Free forum | © phpBB | Free forum support | Liên hệ | Report an abuse | To have a free blog

Snort project. Snort user manual. September 27,2010


Võ Đỗ Thắng . Phát hiện và chống xâm nhập trái phép sử dụng snort. Athena –
Training & Education Network
David Gullett. Snort 2.9.0 anh Snort Report 1.3.1 on Ubuntu 10.04 LTS
Installation Guide. Copyright 2010, Symmetrix Technologies. Published: October
8, 2010.
Andrew R.Baker, Joel Esler. Snort IDS and IPS Toolkit.
Bài Giảng Hệ Thống Linux –Nguyễn Tấn Khôi
 www.athena.com.vn
 www.hvaonline.net
 http://hoclinux.net
 http://hoclinux.wordpress.com
 http://www.ddth.com/showthread.php?t=75142

Kiến trúc máy tính


V22.0436 mùa Thu 2002

Câu hỏi thi thực hành

Đây là những thực hành các câu hỏi thi cho các vật liệu bao phủ từ các kỳ thi giữa kỳ. Xin
lưu ý
là kỳ thi cuối cùng là tích lũy. Xem các câu hỏi thực hành bài kiểm tra giữa kỳ đối với vật liệu
từ
nửa đầu của khóa học.
1. Khi thực hiện ký kết phân chia, các dấu hiệu của phần còn lại sẽ được giống như các dấu
hiệu của
cổ tức. Tại sao?
2. Giả sử có một điểm nổi lớn đại diện mà được sử dụng 16 bit cho số mũ.Nếu
số mũ đã được đại diện bằng cách sử dụng một sự thiên vị, những gì bạn mong đợi những
thiên vị được?
3. Các câu hỏi sau đây xem hình 5,19 ở Patterson & Hennessey.
a. Tại sao giá trị của máy tính đăng ký gửi đến bộ cộng không?
b. Đối với các bộ ghép kênh xuất hiện bên trái của tập tin đăng ký, trong trường hợp những

là dòng điều khiển của nó ("RegDst") thiết lập là 0?
c. Sau đây là dấu hiệu mở rộng của các bit 0-15 giảng dạy một, tại sao là một "dịch chuyển
trái 2" thực hiện?
d. Tại sao các hướng dẫn và những kỷ niệm riêng dữ liệu cần thiết?
e. mục đích của các cửa khẩu và kết nối với "số không" đường output của ALU là gì?
f. Nếu trong một chu kỳ nhất định, các giá trị của "đọc đăng ký 1" dòng của tập tin đăng ký là
giống như
giá trị của dòng "ghi đăng ký", những gì được để ngăn chặn các giá trị về "ghi dữ liệu"
đường
từ được truyền ngay lập tức cho "đọc dữ liệu 1" ra đường?
4. Hình 5,29 trên trang 372 của văn bản cho thấy, đơn giản đơn chu kỳ đường dữ liệu mở
rộng
thực hiện một lệnh nhảy. Để thực hiện điều này, một dòng đầu ra, các "nhảy" dòng,
được thêm vào thành phần điều khiển. Các opcode của một lệnh nhảy là 2.Thể hiện như thế
nào
việc điều khiển cũng được mở rộng bằng cách thêm một cột mới để tìm C.4 trên trang C-7
của văn bản,
và bằng cách xây dựng một trong Control mới của cửa, bằng cách mở rộng C.5 con số trên
trang C-8.
5. các đặc tính của Chỉ thị MIPS Set Architecture (ISA) để tạo điều kiện là gì
pipelined thực hiện?
6. Năm giai đoạn của các đường ống MIPS đơn giản chúng ta bao phủ trong lớp là: hướng
dẫn lấy,
hướng dẫn giải mã và đăng ký đọc, thực thi hoặc tính toán địa chỉ, truy cập bộ nhớ, và đăng

viết. Mô tả mục đích của từng giai đoạn.
7. Giả sử một, mới phức tạp hơn, hướng dẫn là mong muốn cho đơn giản này pipelined
MIPS
xử lý. Giả sử, cũng được, nó có thể được thực hiện bằng cách
(A) thêm mới logic cho thực hiện giai đoạn của đường ống, hoặc
(B) thêm một giai đoạn mới (tức là một giai đoạn 6) hoàn toàn.
Giả sử rằng sự lựa chọn (a) sẽ làm chậm quá trình thực hiện giai đoạn giảm 20%. Từ sự lựa
chọn (b) tăng số lượng các giai đoạn của 20%, là hiệu quả tổng thể thực hiện giống nhau
không? Nếu không,
mô tả cách lựa chọn từng ảnh hưởng đến thời gian thực hiện và chỉ ra sự lựa chọn tốt hơn.
8. Xác định các thuật ngữ "cấu trúc nguy hiểm", "kiểm soát nguy hiểm", và "nguy hiểm dữ
liệu" trong bối cảnh
đường ống dẫn. Những mối nguy hiểm này được giải quyết bởi một yếu tố dự báo ngành
phần cứng (trong đó dự đoán
có chi nhánh sẽ được thực hiện hay không)? Đối với một trong những mối nguy hiểm khác,
cho thấy một cách, hoặc là trong
phần mềm hoặc phần cứng, ảnh hưởng của hiểm họa có thể được giảm bớt.
9. Xác định các điều khoản "không gian địa phương" và "địa phương thời gian", và giải thích
làm thế nào được sử dụng để lưu trữ
khai thác chúng cho một lợi ích hiệu suất. Phải cụ thể theo các cách khác nhau để khai thác
cache
hai hiện tượng này.
10. Giả sử địa chỉ vật lý được 32 bit rộng. Giả sử có một bộ nhớ cache chứa các từ 256K
dữ liệu (không bao gồm bit tag), và mỗi khối bộ nhớ cache bao gồm 4 từ.Đối với mỗi
sau cấu hình bộ nhớ cache,
a. ánh xạ trực tiếp
b. 2-cách thiết lập liên kết
c. 4-cách thiết lập liên kết
d. kết hợp đầy đủ
chỉ định địa chỉ 32-bit sẽ được phân chia. Ví dụ, đối với một bộ nhớ đệm ánh xạ trực tiếp,
bạn sẽ cần phải xác định các bit được sử dụng để chọn mục cache và đó bit là
được sử dụng để so sánh với các tag được lưu trữ trong các mục cache.
11. Vẽ thực hiện cách-2 thiết lập liên kết phiên bản của bộ nhớ cache trên, ở cấp độ
các chi tiết thể hiện trong hình 7,19 trên trang 574 của văn bản. Hãy chắc chắn bao gồm các
logic cho
lựa chọn từ mong muốn của các khối cache.
12. Cache nhớ có thể được mô tả như là một trong những điều sau đây: bắt buộc nhớ, năng
lực
bỏ lỡ, và xung đột nhớ. Mô tả làm thế nào mỗi loại có thể nhớ được giải quyết
trong phần cứng.
13. Giả sử bạn sở hữu một máy tính mà tang vật sau đây tài sản trên các chương trình mà
bạn
chạy:
· Các đường ống dẫn có thể chấp nhận một chỉ dẫn mới mỗi chu kỳ
· Các bộ nhớ cache có thể cung cấp dữ liệu mỗi chu kỳ (tức là không có hình phạt cho số
truy cập bộ nhớ cache)
· Các hướng dẫn nhớ cache tốc độ là 2,5%
· Các bộ nhớ cache dữ liệu tốc độ nhớ là 3,5%
· 30% của chỉ dẫn được hướng dẫn bộ nhớ
· Các bộ nhớ cache nhớ hình phạt là 80 chu kỳ.
Giả sử, cũng có, mà bạn đã quyết định mua một máy tính mới. Đối với ngân sách phân bổ,
bạn có thể hoặc
· Mua một máy với một bộ xử lý và bộ nhớ cache mà là hai lần nhanh như hiện tại của bạn
một
(Bộ nhớ tốc độ tương tự như các máy tính cũ, mặc dù), hoặc · mua một máy với một bộ xử
lý và bộ nhớ cache đó là cùng một tốc độ như cũ của bạn
máy mà trong đó bộ nhớ cache lớn gấp đôi.
Giả sử, cho các mục đích của vấn đề này, rằng tốc độ cache cho các chương trình bạn
chạy sẽ giảm 40% với bộ nhớ cache lớn hơn (mặc dù điều này thường không đúng sự thật
trong thực tế
thế giới). Những máy tính là bạn tốt nhất ra mua? Giải thích cụ thể, hiển thị tương đối
hiệu suất của mỗi sự lựa chọn.
14. Mô tả số bit cần thiết trong mỗi mục của Kinh thánh chép trong đó có những điều sau
đây
đặc điểm:
° Virtual địa chỉ là 32 bit rộng
· Địa chỉ vật lý là 31 bit rộng
· Các kích thước trang là 2K byte
· Kinh thánh chép trong chứa 16 mục của bảng trang
· Các TLB là ánh xạ trực tiếp

You might also like