You are on page 1of 9

Đề thi giữa kỳ 60 phút bao gồm:

1. Câu hỏi trắc nghiệm có 45 câu (6 điểm) (chiếm 60%)


2. Phần bài tập tự luận: Chọn 1 trong 2 câu đề của giải thuật để làm
(4 điểm) (chiếm 40%)
Đề cương
Nội dung ôn tập chương I
Câu 1:
1.1. Khái niệm Hệ Điều Hành?
Hệ điều hành là một phần mềm dùng để điều hành, quản lí toàn bộ tất cả thành
phần( bao gồm phần cứng và phần mềm ) của thiết bị.

1.2. Phân loại Hệ Điều hành? (Dưới góc độ loại máy tính, dưới góc độ chương trình
sử dụng, dưới góc độ người dùng, dưới góc độ hình thức xử lý)
Dưới góc độ loại máy tính
̶ Hệ điều hành dành cho máy Mainframe
̶ Hệ điều hành dành cho máy Server
̶ Hệ điều hành dành cho máy nhiều CPU
̶ Hệ điều hành dành cho máy tính cá nhân (PC)
̶ Hệ điều hành dành cho máy PDA (Embedded OS - hệ điều hành nhúng)
̶ Hệ điều hành dành cho máy chuyên biệt
̶ Hệ điều hành dành cho thẻ thông minh (Smart Card )

Dưới góc độ số chương trình được sử dụng cùng lúc


̶ Hệ điều hành đơn nhiệm
̶ Hệ điều hành đa nhiệm

Dưới góc độ người dùng


-Một người dùng
-Nhiều người dùng

Dưới góc độ hình thức xử lí


-Hệ thống xử lí theo lô (Batch systems)
∙Hệ thống đơn chương (uniprogramming OS)
∙Hệ thống đa chương (multiprogramming OS)
-Hệ thóng chia sẽ thời gian (time-sharing system)
-Hệ thống song song (parallel system)
̶ Hệ thống phân tán (distributed system)
̶ Hệ thống xử lý thời gian thực (real-time system)
̶ Hệ thống nhúng (embedded system)

1.3. Máy tính là gì?


Máy tính hay máy vi tính là một thiết bị điện tử có khả năng điều khiển thông tin hoặc
dữ liệu. Nhiệm vụ của máy tính là lưu trữ, truy xuất và xử lý dữ liệu.
1.4. Khái niệm Hệ Điều Hành với các chương trình khác?
-Thực thi chương trình
-Thực hiện các thao tác I/O theo yêu cầu của chương trình
-Các thao tác trên hệ thống file
-Trao đổi thông tin giữa các tiến trình qua hai cách:
∙Chia sẻ bộ nhớ (Shared memory)
∙Chuyển thông điệp (Message passing)
-Phát hiện lỗi

Câu 2:
2.1. Tiến trình là gì?
Tiến trình là một chương trình đang được thực thi

2.2. Tiểu trình là gì?


Thread (tiểu trình, hay luồng): là một đơn vị cơ bản sử dụng CPU, gồm:
◦Thread ID, PC, Register, Stack, và chia sẻ chung code, data, resourses (files)
Luồng (thread) là một dòng điều khiển trong phạm vi một tiến trình.

2.3. Hệ thống là gì ?
Hệ thống cho phép người dùng nhập liệu và lưu trữ dữ liệu

2.4. Cấu trúc của hệ thống máy tính phân chia thành mấy thành mấy thành phần?
Cấu trúc của hệ thống máy tính phân chia thành mấy thành thành 2 phần:
Phần cứng và phần mềm
2.5. Các thành phần của một hệ thống nhập xuất?
Hệ thống bộ nhớ đệm
Chương trình điều khiển thiết bị
Chương trình giao tiếp với chương trình điều khiển thiết bị

2.6. Các chức năng chính của Hệ Điều Hành?


Quản lý và phân phối tài nguyên 1 cách hợp lý
Quản lý việc thực hiện các chương trìnhQuản lý tiến trình
Quản lý bộ nhớ chính (RAM)
Quản lý bộ nhớ phụ (DISK)
Quản lý hệ thống nhập xuất
Quản lý hệ thống tập tin
Bảo vệ hệ thống
Hệ thống dòng lệnh
Quản lý mạng
Các lời gọi hệ thống (system calls).
Câu 3: Phân loại hệ điều hành dưới góc độ hình thức xử lí của máy tính
3.1. Hệ thống xử lý theo lô là gì? (Hệ thống đơn chương, Hệ thống đa chương)
-Hệ thống đơn chương
+Tác vụ được thực thi tuần tự
+Bộ giám sát thường trực
+CPU và các thao tác nhập xuất:
∙Xử lí offline
∙Đồng bộ hóa các thao tác bên ngoài -Spoonling (Simultaneous Peripheral
Operations Online)
-Hệ thống đa chương
+Nhiều công việc đồng thời được nạp vào bộ nhớ chính
+Khi một tiến trình yêu cầu thực hiện I/O thì thời gian chờ sẽ lâu, trong thời gian
này tiến trình khác sẽ được thực thi
+Tận dụng thời gian rảnh, tăng hiệu suất sử dụng CPU

3.2. Hệ thống chia sẻ thời gian là gì?


-Hệ thống đa nhiệm (multitasking)
-Lập lịch CPU

3.3. Hệ thống song song? (Đa xử lý đối xứng, đa xử lý bất đối xứng)
-Đa xử lí đối xứng
Mỗi processor vận hành một bản sao hệ điều hành giống nhau
Các copy dữ liệu cho nhau khi cần
(Windows NT, Solaris 5.0, Digital UNIX, OS/2, Lin)
-Đa xử lí bất đối xứng
+Mỗi processor thực thi một công việc khác nhau
+Master processor định thời và phân công công việc cho mỗi slave processor
+(SunOS 4.0)

3.4. Hệ thống phân tán là gì?


-Mỗi processor có bộ nhớ riêng, giao tiếp với nhau qua kênh kết nối như mạng, bus
tốc độ cao
-Người dùng chỉ thấy một hệ thống duy nhất

3.5. Hệ thống thời gian thực là gì?


̶ Sử dụng trong các thiết bị chuyên dụng như điều khiển các thử nghiệm khoa học,
điều khiển trong y khoa, dây chuyền công nghiệp, thiết bị gia dụng, quân sự
̶ Ràng buộc về thời gian: hard và soft real-time

3.6. Hê thống nhúng là gì?


-Trong nhiều thiết bị điện tử (như điện thoại di động, máy tính bảng, xe ô tô …)
-Đặc trưng của các thiết bị này
∙Bộ nhớ nhỏ (512 KB - 128 MB - 4GB)
∙Tốc độ processor thấp (để ít tốn pin)
∙Màn hình hiển thị có kích thước nhỏ
∙Có thể dùng các công nghệ kết nối như IrDA, Bluetooth, wireless
∙Có thể có một hoặc nhiều cảm biến khác nhau
Câu 4:
4.1. Chức năng của Hệ Điều Hành?
-Quản lý và phân phối tài nguyên 1 cách hợp lý
- Quản lý việc thực hiện các chương trình
Tài nguyên phần cứng
Bộ xử lý
Bộ nhớ
Các thiết bị xuất nhập Tài nguyên phần mềm Các file, chương trình dùng
chung....

4.2. Trình bày quản lý tiến trình?


-Để hoàn thành công việc, một tiến trình cần:
+CPU • Bộ nhớ, File
+Thiết bị I/O, …
-Các nhiệm vụ chính:
+Tạo và hủy tiến trình
+Tạm dừng/ thực thi tiếp tiến trình
+Cung cấp các cơ chế Đồng bộ hoạt động các tiến trình
+Giao tiếp giữa các tiến trình
+Khống chế tắc nghẽn

4.2. Trình bày quản lý bộ nhớ chính?


-Bộ nhớ chính là trung tâm của các thao tác, xử lý
-Để nâng cao hiệu suất sử dụng CPU, hệ điều hành cần có cách quản lý bộ nhớ thích
hợp, tránh xung đột
-Các nhiệm vụ chính:
+Theo dõi, quản lý các vùng nhớ trống và đã cấp phát
+Quyết định sẽ nạp chương trình nào khi có vùng nhớ trống
+Cấp phát và thu hồi các vùng nhớ khi cần thiết

4.3. Trình bày quản lý bộ nhớ phụ?


-Để lưu trữ dữ liệu lâu dài, dữ liệu cần lưu trên đĩa dạng tập tin, ngoài ra đĩa còn lưu
giữ các tiến trình khi bộ nhớ RAM không còn đủ, vùng nhớ này gọi là bộ nhớ ảo
-Các chức năng của dịch vụ quản lý bộ nhớ phụ
+ Quản lý vùng trống trên đĩa (Free space management)
+ Xác định vị trí cất giữ dữ liệu (Storage allocation).
+ Lập lịch cho đĩa (Disk scheduling)
4.4. Trình bày quản lý file?
-Hệ thống file
+File
+Thư mục
-Các dịch vụ chính:
+Tạo và xóa file/ thư mục
+Các thao tác xử lý file/ thư mục
+“Ánh xạ” file/ thư mục vào thiết bị thứ cấp tương ứng
+Sao lưu và phục hồi dữ liệu
4.5. Dịch vụ bảo vệ hệ thống?
Trong hệ thống cho phép nhiều user hay nhiều process diễn ra đồng thời phải:
-Kiểm soát tiến trình người dùng đăng nhập/xuất và sử dụng hệ thống
-Kiểm soát việc truy cập các tài nguyên trong hệ thống
-Bảo đảm những user/process chỉ được phép sử dụng các tài nguyên dành cho mình
---Các nhiệm vụ của hệ thống bảo vệ:
+Cung cấp cơ chế kiểm soát đăng nhập/xuất
+Phân định được sự truy cập tài nguyên hợp pháp và bất hợp pháp
(authorized/unauthorized)
+Phương tiện thi hành các chính sách (enforcement of policies) (ví dụ: cần bảo
vệ dữ liệu của ai đối với ai)

4.6. Hệ thống thông dịch dòng lệnh?


-Việc giao tiếp giữa người sử dụng và hệ điều hành thông thường theo 2 cách cơ bản:
+Dùng Command Interpreters hoặc command-line interface (tạm dịch Hệ
thống thông dịch lệnh)
+Dùng Graphical User Interfaces (Viết tắt GUI; tạm dịch giao diện người dùng
đồ họa)

4.7. Quản lý mạng?


Cung cấp các chức năng phân quyền, chia sẻ tài nguyên mạng, liên lạc giữa các tiến
trình trên mạng, …

4.8. Lời gọi hệ thống ?


Lời gọi hệ thống là tập lệnh do hệ điều hành cung cấp dùng để giao tiếp giữa tiến trình
của người dùng và hệ điều hành, lời gọi hệ thống còn gọi là ngắt

4.9. Vị trí Hệ Điều Hành?


Hệ điều hành là một chương trình hoạt động như một giao diện giữa phần cứng và
phần mềm

4.10. Các thành phần của Hệ Điều Hành ?


- Bộ cấp phát tài nguyên (Resource allocator)
- Chương trình kiểm soát (Control program)
- Phần nhân (Kernel)

-Vì sao nói quản lý tài nguyên là vai trò quan trọng nhất của Hệ Điều Hành?
Do quản lí tài nguyên có thành phần quản lí CPU, Ram, bộ nhớ,..
Câu 5: Cấu trúc của Hệ Điều Hành?
-Hệ điều hành là một chương trình lớn, nó có nhiều dạng cấu trúc khác nhau:
+Cấu trúc đơn giản - MS-DOS
+Cấu trúc phức tạp hơn – UNIX
+Cấu trúc phân tầng
+Cấu trúc máy ảo
+Cấu trúc Client-Serve
5.1. Trình bày cấu trúc đơn giản (monolithic)?
MS-DOS: khi thiết kế, do giới hạn về dung lượng bộ nhớ nên không phân chia thành
các module (modularization) và chưa phân chia rõ chức năng giữa các phần của hệ
thống

5.2. Trình bày cấu trúc phức tạp (more complex)?


-UNIX: gồm hai phần có thể tách rời nhau
+Nhân: Kernel, cung cấp file system, CPU scheduling, memory management,
và một số chức năng khác
+System program
5.3. Trình bày cấu trúc phân tầng?
-Cấu trúc phân tầng: HĐH được chi thành nhiều lớp (layer):
+Lớp dưới cùng: hardware
+Lớp trên cùng là giao tiếp với user
+Lớp trên chỉ phụ thuộc lớp dưới
+Một lớp chỉ có thể gọi các hàm của lớp dưới và các hàm của nó được gọi bởi lớp
trên
+Mỗi lớp tương đương một đối tượng trừu tượng: cấu trúc dữ liệu + thao tác

5.4. Trình bày cấu trúc máy ảo?


Với hệ điều hành máy ảo, một máy được giả lập thành nhiều máy, tài nguyên của hệ
thống như là CPU, bộ nhớ, đĩa,… được chia sẻ để tạo các máy ảo. Mỗi máy ảo được
cô lập với máy ảo khác nên tài nguyên dùng chung được bảo vệ nhưng cũng dẫn đến
việc không được chia sẻ tài nguyên trực tiếp.

5.5. Trình bày cấu trúc Client – Server


Hệ điều hành được chia thành nhiều phần (gọi là các tiến trình server), mỗi tiến trình
thực hiện một dịch vụ như là dịch vụ quản lý tập tin, quản lý tiến trình, quản lý bộ
nhớ, … Các tiến trình yêu cầu (gọi là tiến trình client) sẽ gửi yêu cầu đến một tiến
trình server, tiến trình server thực hiện và gửi kết quả trở lại cho tiến trình client. Hạt
nhân chỉ có nhiệm vụ kiểm soát quá trình liên lạc giữa các tiến trình client và server.

Nội dung ôn tập chương II


Câu 6: Phân loại quá trình (CPU-bound, I/O-bound)?
CPU-bound process có thời gian sử dụng CPU nhiều hơn thời gian sử dụng I/O
I/O-bound process dùng phần lớn thời gian để đợi I/O

Câu 7: Chiến lược định thời CPU?


Chiến lược định thời CPU là chiến lược giải quyết vấn đề phân chia, lựa chọn tiến
trình thực thi sao cho hiệu quả nhất.

Câu 8: Phân loại các hoạt động định thời?


- Định thời dài hạn (long-term scheduling)
Định thời dài hạn (long-term scheduling): xác định process mới (new) nào được tiếp
tục vào “sâu hơn” trong hệ thống.
–Thường chỉ có trong batch system
- Định thời trung hạn (medium-term scheduling)
• Định thời trung hạn (medium-term scheduling): xác định process nào được đưa vào
(swap in), đưa ra khỏi (swap out) bộ nhớ chính.
–Swap in/out có thể tốn đến vài giây thời gian  chu kỳ định thời trung hạn có thể là
vài phút.
- Định thời ngắn hạn (short-term scheduling)
• Định thời ngắn hạn (short-term scheduling): xác định process nào được thực thi tiếp
theo.

Câu 9: Tiêu chí định thời?


- CPU utilization?
CPU utilization (% sử dụng CPU, Độ lợi CPU)
–CPU utilization CPU: [0% - 100%]
–Lightly loaded system: < 40%, heavy-loaded: > 90% – Maximize CPU
utilization

- Thông năng (throughput)


–Số lượng process hoàn tất trong một đơn vị thời gian
–Maximize throughput

- Thời gian đáp ứng (response time)


–Thời gian từ lúc có yêu cầu của người dùng (user request) đến khi có đáp ứng
đầu tiên
–Thường là vấn đề với các I/O-bound process
–Minimize response time

- Waiting time (Thời gian chờ)


–Thời gian một process ở trong hàng đợi ready
–Minimize waiting time
- Thời gian vòng (turn-arround time)
– Thời gian để một process hoàn tất, kể từ lúc vào hệ thống (submission) đến
lúc kết thúc (termination)
– Là một trị đặc trưng cần quan tâm với các process thuộc dạng CPUbound
– Minimize turn-around time
- Thời gian quay trung bình (average turnaround time)
• Độ lợi CPU - giữ CPU càng bận càng tốt
- Tối đa hóa
• Thông năng - số lượng process kết thúc việc thực thi trong
một đơn vị thời gian
- Tối đa hóa
• Turnaround time - thời gian kể từ lúc đưa vào (submission)
đến lúc kết thúc
- Tối thiểu hóa
• Thời gian chờ - thời gian một process chờ trong hàng đợi
ready
- Tối thiểu hóa
• Thời gian đáp ứng - thời gian từ khi đưa yêu cầu đến khi có
đáp ứng đầu tiên
- Tối thiểu hóa

Câu 10: Định thời CPU là gì?


Định thời CPU:
-Là việc chọn một process từ ready queue để thực thi.
-Đối với một multithreaded kernel, việc định thời CPU là do OS chọn kernel
thread được chiếm CPU.

Câu 11: Cơ chế điều phối?


- Preemptive (không độc quyền)?
: Công việc đang thực thi có thể bị ngắt và chuyển vào trạng thái Ready.

- Non – preemptive (độc quyền)?


một khi tiến trình ở trong trạng thái Running, nó sẽ tiếp tục thực thi cho đến khi kết
thúc hoặc bị block vì I/O hay các dịch vụ của hệ thống.

- Các tiêu chuẩn điều phối?


− Việc sử dụng CPU
− Thông lượng
− Thời gian hoàn thành
− Thời gian chờ
− Thời gian đáp ứng
Câu 12: Giải thuật điều phối FCFS (Frist come first served)
Thực thi công việc theo thứ tự xuất hiện
Thi hành lần lượt công việc đến khi hoàn thành
Đơn giản, dùng làm cơ sở để phân tích các phương pháp khác
Thời gian phản hồi kém

Câu 13: Giải thuật điều phối Round Robin (RR)


Mỗi tiến trình sẽ nhận một khoảng thời gian sử dụng CPU
Sau khi kết thúc khoảng thời gian, tiến trình sẽ bị cưỡng chế tiến vào hàng đợi (không
cho tiếp tục sử dụng CPU)

Câu 14: Giải thuật điều phối Shortest Job First (SJF)
Là giải thuật cải tiến từ FCFS
Chọn tiến trình có thời gian chạy ít nhất thực hiện
Công việc và thời gian thực hành phải được biết trước

Câu 15: Giải thuật điều phối theo độ ưu tiên (priority- schduling)
Độ ưu tiên sẽ được gắn cho mỗi tiến trình
Số nhỏ nhất độ ưu tiên cao nhất
Các tiến trình có độ ưu tiên bằng nhau được điều phối theo FCFS

You might also like