91963434 Đề cương on tập mon hệ điều hanh

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 11

ĐỀ CƯƠNG ÔN TẬP MÔN HỆ ĐIỀU HÀNH Bài 1: Tổng quan về hệ điều hành.

Câu 1: Khái
niệm, chức năng của HĐH. - Là hệ chương trình hoạt động giữa người sử dụng với phần
cứng máy tính. -Chức năng: + Tạo 1 máy ảo tương đối độc lập với phần cứng, giúp
người sử dụng máy tính dễ dàng hơn. + Quản lí - sử dụng tài nguyên hiệu quả, an
toàn hơn. Câu 2: Người sử dụng Các chương trình ứng dụng Các tiện ích(compilers,
editors…) Hệ điều hành Ngôn ngữ máy tính Kiến trúc vi mô Các thiết bị vật lí

Câu 3: HĐH Windows XP thuộc loại nào Hệ điều hành đa nhiệm (Multitasking) Câu 4:
Ví dụ về 2 máy ảo được cài đặt trên một PC vật lí (ý kiến cá nhân) - Ví dụ: PC cài
đặt 2 HĐH Windows XP và Ubuntu 11.10. Bài 2: Tiến trình và tiểu trình. Câu 1: Khái
niệm - Tiến trình(process): + Là một chương trình đang được thực thi, sở hữu một
ngữ cảnh gồm: không gian địa chỉ, một con trỏ lệnh, tập các thanh ghi và stack. +
Tiến trình có thể cần đến một số tài nguyên như CPU, bộ nhớ, các tập tin và thiết
bị nhập xuất. - Tiểu trình: nếu chương trình được viết theo một giải thuật tuần tự
thì tiến trình ứng với nó chỉ chứa một luồng thi hành lệnh gọi là tiểu trình –
thread, tuần tự thực hiện từ điểm bắt đầu  điểm kết thúc chương trình. Câu 2: Các
nhu cầu dẫn đến việc xử lí đồng hành các tiến trình. - Tăng hiệu suất sử dụng CPU.
- Tăng tốc độ xử lí. - Người sử dụng muốn thực hiện cùng lúc nhiều việc. Câu 3: Ví
dụ chứng tỏ lợi ích của việc xử lí đồng hành (ý kiến cá nhân). - Ví dụ: người dùng
sử dụng hđh Windows XP có thể cùng một lúc: nghe nhạc, lướt web, soạn thảo văn bản,
lập trình …
Câu 4: Xem danh sách các tiền trình đang hoạt động trên Windows XP + Trên màn hình
Desktop bấm tổ hợp phím Ctrl+Alt+Del -> Windows Task Manager -> chọn thẻ Processes.
+ Chuột phải thanh tác vụ (TaskBar) chọn Start Task Manager -> chọn thẻ Proccesses.
Bài 3: Quản lí tiến trình. Câu 1: Các trạng thái của tiến trình. - New: tiến trình
mới được tạo ra. - Running: tiến trình đang được thực thi. - Waiting (block): tiến
trình chờ một sự kiện nào đó xảy ra (I/O, cấp phát tài nguyên, nhận tín hiệu …). -
Ready: tiến trình sẵn sang thực thi nếu được cấp phát CPU. - Terminated: tiến trình
đã kết thúc, bộ nhớ cấp phát cho tiến trình được giải phóng.

Câu 2 : Các thao tác quản lí tiến trình. - Tạo lập tiến trình (create process). -
Kết thúc tiến trình (terminate process). - Thay đổi trạng thái tiến trình (change
process state). - Thay đổi độ ưu tiên tiến trình. Câu 3: Sơ đồ trạng thái và các
thao tác chuyển sang trạng thái tiến trình.
new admited interrupted ready running exit terminated

Scheduler dispatch I/O or event completion waiting I/O or event wait

Câu 4: Mục tiêu của việc điều phối tiến trình. - Đảm bảo sự công bằng giữa các tiến
trình. - Tăng hiệu quả sử dụng CPU. - Giảm thiểu thời gian lưu lại hệ thống. - Tăng
tối đa thông lượng.
Câu 5: Sơ đồ tổ chức điều phối tiến trình trong trường hợp các tiến trình tham
chiếu tới 3 tài nguyên .
Cấp resource
Cấp CPU

Kết thúc

Ready List

CPU

Time-out or ininterrupt

Cấp resource

Waiting list for resources 1 Waiting list for resources 2 Waiting list for
resources 3

blocked

Cấp resource

blocked

Cấp resource

blocked

Câu 6: Chiến lược điều phối tiến trình (không vẽ sơ đồ) - Đến trước phục vụ trước
(FCFS, FIFO). - Xoay vòng (round robin). - Căn cứ vào độ ưu tiên (priority-
scheduling). - Ưu tiên công việc ít thời gian (shortest-job-first). - Chia thành
nhiều cấp ưu tiên. - Chọn ngẫu nhiên (lottery). Câu 7: Bí!!! Bài 4: Liên lạc và
đồng bộ hóa.
Câu 1: Các cơ chế lien lạc giữa các tiến trình. - Signal. - Message. - Pipe. -
Socket.

- Shared Memory.

Câu 2: Giao thức TCP/IP thuộc cơ chế Socket (khớp nối) nhưng được thể hiện bằng
port.

Máy A
socket socket

Máy B

Port

Mối nối

Hệ thống mạng

Câu 3: Ví dụ về tính huống xung đột. - Ví dụ về hệ thống bán vé máy bay online:

Đại lí bán vé P1 Đại lí bán vé P2

Ngân hàng B Hãng hàng không A

+ Quy trình bán vé tại đại lí: B1: hỏi A số chỗ còn trống SCA: N:=SCA B2: if N=0
then dừng else đi tiếp B3: chuyển tiền mua vé T vào tài khoản TKA của A tại B:
TKA:=TKA+T B4: in hóa đơn cho khách hàng B5: trừ N đi 1 và yêu cầu A ghi vào SCA:
SCA:=N-1 + Hai đại lí cùng bán vé:
Time 0 1 2 3 4 5 6 P1 B1: N:=SCA B2: (N=1) B3: B4: B5: SCA:=N-1 P2 A: SCA SCA=1

+ Nguyên nhân sai: P1 và P2 cùng truy xuất vào SCA.

B1: N:=SCA B2: (N=1) B3: B4: B5: SCA:=N-1

SCA=0 SCA=0

SAI
Câu 4: Khái niệm miền găng (critical section), các yêu cầu để giái quyết tốt vấn đề
đồng bộ hóa. - KN: là đoạn chương trình trong đó có khả năng xảy ra các sai sót khi
truy xuất trên tài nguyên chung. - Các yêu cầu: + ”Loại trừ lẫn nhau”: không thể có
2 tiến trình cùng lúc trong miển găng. + ”Tiến độ”: chỉ những tiến trình đang không
thực thi mới có thể tham gia vào việc quyết định tiến trình tiếp theo đi vào miền
găng. + ”Chờ đợi có giới hạn”: giới hạn số lần các tiến trình khác được phép đi vào
miền găng sau khi một tiến trình thực hiện yêu cầu để đi vào miền găng của nó và
trước khi yêu cầu đó được thỏa mãn. Bài 5: Các giải pháp đồng bộ hóa. Câu 1: Giải
pháp biến khóa trong trường hợp có 2 tiến trình P0 và P1 có yêu cầu vào miền găng.
Giải thích vì sao giải pháp này không đáp ứng được yêu cầu “Loại trừ lẫn nhau”? -
Giải pháp: dùng 1 biến chung (lock) cho các tiến trình để xác định tình trạng được
vào đoạn găng hay không (0:được ; 1:không được ). Lock=k: có k tiến trình đang
trong đoạn găng. Do{ While(Lock ==1); Lock=1; <critical section> Lock=0; <remainder
section> }while(TRUE); - Giải thích: vì vẫn có thể có nhiều tiến trình cùng vào
đoạn găng. Câu 2: Giải pháp Peterson trong trường hợp chỉ có 2 tiến trinh P0 và P1
có yêu cầu vào miền găng. -Giải pháp: dùng 2 biến int turn; boolean flag[2]; Trong
đó: turn=1 : đến lượt Pi có quyền vào miền găng. flag[i]=true : Pi có yêu cầu vào
miền găng.
Do{ flag[i]=TRUE; turn =1-i; while (flag[1-i] && (turn ==1-i); <critical section>
flag[i]=FALSE; <remainder section> }while(TRUE); Câu 3: Giải pháp Semaphore. +
Dijkstra đề xuất năm 1965. + Ứng với mỗi tài nguyên găng CR, tạo 1 biến nguyên S
với giá trị khởi đầu là 1 và 1 waiting list F lưu các tiến trình chờ được cấp quyền
truy xuất CR. +Trong hđh, thiết lập 2 thủ tục nguyên tử Down(P,S,F) và Up(S,F), P
là tiến trình muốn truy xuất CR. Procedure Up(S,F); Begin S:=S+1; If S<=0 then
Begin <Chọn 1 P trong F> <Chuyển P sang trạng thái Ready> <Đưa P vào ReadyList>
End; End; Procedure Down(P,S,F); Begin S:=S-1; If S<0 then Begin <Chuyển P sang
trạng thái Waiting> <Đưa P vào F> End; End; -Mô phỏng sử dụng Semaphore trong tiến
trình P: <noncritical section> Down(P,S,F); <critical section> Up(S,F); <remainder
section>
Câu 4: Bài tập =)) Bài 6: Quản lí bộ nhớ. Câu 1: Địa chỉ vật lí và địa chỉ logic. -
Địa chỉ vật lí là địa chỉ do thiết kế phần cứng tạo ra. - Địa chỉ logic (được ảo)
là địa chỉ do CPU tạo ra khi khởi tạo và thực thi các tiến trình. - Việc chuyển đổi
từ địa chỉ vật lí sang logic do thiết bị phần cứng là MMU (memory-management-unit)
thực hiện. Câu 2: Sự khác nhau của phương pháp cấp phát liên tục và không liên tục.
Ưu và nhược điểm của cấp phát không liên tục so với cấp phát liên tục (bó chiếu).
Câu 3: Phương Pháp cấp phát theo kĩ thuật phân trang. Vẽ sơ đồ mô hình cơ chế
chuyển đổi địa chỉ logic -> vật lí. - Phân trang (Paging): + Chia bộ nhớ vật lí
thành các khối có kích thước ngang nhau gọi là khung trang. + Chia bộ nhớ logic
(của một tiến trình) thành các khối có cùng kích thước với khung trang, gọi là
trang. + Khi nạp 1 tiến trình, các trang của tiến trình sẽ được nạp vào những khung
trang còn trống. - Sơ đồ: Địa chỉ Địa chỉ
logic vật lí f d

CPU

Bộ nhớ vật lí

p f Bảng trang

Câu 4: Trình bày mục đích ý tưởng và sơ đồ pp TLB. -Mô hình TLB (translation look-
aside buffer): dùng trong bộ nhớ cache chứa địa chỉ một số trang hay dùng. Tra cứu
trong cache trước rồi mới đến bảng trang.
Địa chỉ logic

Địa chỉ vật lí f trang khung d

CPU

Bộ nhớ vật lí

TL3

p f

Câu 5: Trình bày ý tưởng và sơ đồ bảng trang nghịch đảo(inverted page table). -Bảng
trang nghịch đảo: chỉ có một bảng trang trong hệ thống, mỗi phần tử của bảng trang
ứng với một khung trang của bộ nhớ vật lí. Mỗi địa chỉ ảo trong hệ thống chứa bộ
ba: <process-id, page-number, offset>.

Logical address

Physical address d i d

CPU

pid

Physical memory

i pid p

Page table
Câu 6: phương pháp cấp phát kết hợp kĩ thuật phân trang và phân đoạn. - Không gian
địa chỉ gồm nhiều đoạn , mỗi đoạn được chia thành nhiều trang . - Khi nạp tiến
trình vào hệ thống, HĐH sẽ cấp phát các trang để đủ chứa các đoạn của tiến trình.
Bài 7: Bộ nhớ ảo. Câu 1: Khái niệm, ý tưởng và lợi ích của kĩ thuật bộ nhớ
ảo(virtual memory). - KN: là một kĩ thuật giúp giải quyết vấn đề thiếu bộ nhớ vật
lí khi chạy đồng thời nhiều tiến trình hoặc tiến trình có kích thước lớn hơn bộ nhớ
vật lí. - Ý tưởng: khi thực hiện tiến trình, chỉ nạp 1 phần tiến trình vào bộ nhớ
vật lí, phần còn lại khi nào cần thì nạp vào. - Lợi ích: + Viết và chạy các chương
trình lớn, đơn giản hóa tác vụ lập trình. + Chạy đồng thời nhiều chương trình, tăng
hiệu suất CPU và thông lượng, giảm thời gian đáp ứng. + Yêu cầu nạp, hoán vị chương
trình ít hơn -> chương trình chạy nhanh hơn. Câu 2: Khái Niệm lỗi trang(page
fault), các bước xử lí, vẽ sơ đồ xử lí. - KN: là việc truy xuất đến 1 trang đang ở
bộ nhớ phụ (được đánh dấu invalid). Cơ chế phần cứng sẽ phát sinh một ngắt để báo
cho HĐH. - Các bước xử lí: + Kiểm tra tham chiếu xem việc truy cập bộ nhớ là hợp lệ
hay không. + Nếu tham chiếu không hợp lệ thì kết thúc tiến trình. Nếu hợp lệ nhưng
trang chưa nạp vào bộ nhớ thì chuyển bước tiếp theo. + Tim khung trống (từ danh
sách khung trống). + Nếu có khung trống thì đọc trang vào khung trống. Không có
khung trống thì thay thế trang. + Cập nhật bảng bên trong tiến trình và bảng trang
để hiển thị trang bây giờ ở trong bộ nhớ. + Khởi động lại chỉ thị bị ngắt bởi lỗi
trang. -Sơ đồ xử lí:
3

Page is on backing stone

Operation System

reference 1 Load M i
6

trap

Restart instruction
5

Free frame
4

Reset page table Physical memory

Bring in missing page

Câu 3: Công thức tính thời gian trung bình truy xuất cho 1 truy xuất trang. Vì sao
phải giảm thiểu xác suất xảy ra lỗi trang? Trong đó : p: xác suất lỗi trang. (1-
p)*m + p*t m : thời gian truy xuất nếu không lỗi. t : thời gian xử lí lỗi. - Lí do
phải giảm p : m nhỏ hơn rất nhiều so với t. Câu 4 : trình bày giải thuật tối ưu cho
việc thay thế trang. Vì sao giải thuật này không được áp dụng trong thực tế ? -Ý
tưởng : Thay thế trang sẽ lâu được sử dụng nhất trong tương lai. -Nhận xét : +Là
giải thuật có tỉ lệ lỗi trang thấp nhất. +Không thực tế, vì khó biết trang nào sẽ
lâu sử dụng nhất. +Không gặp nghịch lí Belady.

Câu 5 :Giải thuật LRU cho việc thay thế trang. -Ý tưởng : thay thế trang đã không
được sử dụng lâu nhất trong quá khứ. - Nhận xét : + Dùng quá khứ dự đoán tương
lai : lâu được sử dụng nhất trong tương lai. + Không gặp nghịch lí Belady. - Cài
đặt : sử dụng cơ chế bộ đếm hoặc cơ chế stack. Câu 6 : bí !!!

You might also like