












Preview text:
lOMoAR cPSD| 58493804 Contents
ÔN TẬP.............................................................................................................................1
CHƯƠNG 1: GIỚI THIỆU (INTRODUCTION)...............................................................1 1.
Hãy cho biết các thành phần của một hệ thống máy
tính?.................................1 2.
Hệ điều hành là gì? Vai trò của hệ điều hành
?...................................................1 3.
Vai trò của chương trình bootstrap là gì
?...........................................................1 4.
Hãy cho biết đặc điểm của hệ thống đơn xử lý, hệ thống đa xử lý và hệ thống cụm
?.............................................................................................................................1 5.
Phân biệt hệ thống đa xử lý đối xứng và hệ thống đa xử lý bất đối xứng ? Ưu
nhược điểm của từng loại ?.........................................................................................1 6.
Phân biệt ngắt (interrupt) và
trap........................................................................2 7. Máy ảo (VM) là gì
?...............................................................................................2 8.
Ưu nhược điểm của VM là
gì?..............................................................................2 9.
Hãy cho biết các loại VM (types of VM) và cách thức cài đặt chúng
(implementation) ?.......................................................................................................3
10. Kiến trúc (architecture) của VM như thế nào?................................................3
CHƯƠNG 2: CẤU TRÚC HỆ ĐIỀU HÀNH (OS STRUCTURES).............................4
11. Hãy liệt kê các dịch vụ do hệ điều hành cung cấp ?.........................................4
12. Phân biệt khái niệm “Protection” và “security”?............................................4
13. Liệt kê các giao diện người dùng hệ điều hành?..............................................4
14. Mục đích của lời gọi hệ thống là gì?..................................................................4
15. Các phương pháp truyền tham số trong lời gọi hệ thống?..............................5 lOMoAR cPSD| 58493804 -
16. Hãy cho biết ưu điểm và hạn chế của phương pháp thiết kế phân tầng trong thiết kế hệ điều
hành?..................................................................................................5
CHƯƠNG 3: TIẾN TRÌNH (PROCESSES)......................................................................5
17. Tiến trình là gì?...................................................................................................5
18. Tiến trình có bao nhiêu trạng thái? Hãy cho biết các bước chuyển trạng thái của tiến
trình?..............................................................................................................6
19. Thông tin của tiến trình được lưu ở đâu?.........................................................6
20. Hãy cho biết “ chi phí chuyển ngữ cảnh” là gì? Chi phí này do thành phần nào gánh
chịu?..............................................................................................................6
21. Hãy liệt kê các loại hàng đợi tiến trình? Vai trò của mỗi loại hàng đợi tiến
trình?....................................................................................................................... ......6
22. Hãy liệt kê các loại định thời (scheduler)? Mỗi loại định thời được sử dụng ở
đâu và vai trò của chúng là
gì?....................................................................................6
23. Phân biệt định thời ngắn kỳ, dài kỳ và trung kỳ?............................................7
24. Hãy cho biết cách thức chia sẻ tài nguyên giữa tiến trình con và tiến trình cha? 8
25. Hãy cho biết cách thức trao đổi thông tin giữa các tiến trình?.......................8
26. Khi nào một tiến trình kết thúc?.......................................................................8
27. Phân biệt tiến trình “orphan” và tiến trình “zombie”.....................................8
CHƯƠNG 4: ĐỊNH THỜI CPU (CPU SCHEDULING)...................................................9
28. Hãy trình bày các phương pháp đánh giá thuật toán định thời CPU ?..........9
CHƯƠNG 6: DEADLOCKS.............................................................................................9
29. Deadlock là gì?....................................................................................................9
30. Hãy trình bày các điều kiện để xảy ra deadlock?.............................................9 lOMoAR cPSD| 58493804
31. Trình bày các phương pháp “điều khiển” (handle) deadlock.........................9 ÔN TẬP
CHƯƠNG 1: GIỚI THIỆU (INTRODUCTION)
1. Hãy cho biết các thành phần của một hệ thống máy tính?
Một hệ thống máy tính gồm:
- Phần cứng(hardware) như I/O, CPU, bộ nhớ… Hệ điều hành
- Các chương trình hệ thống và ứng dụng - Người dùng
2. Hệ điều hành là gì? Vai trò của hệ điều hành ?
- Hệ điều hành là một chương trình trung gian giữa người dùng và phần cứng
máy tính. Hệ điều hành kiểm soát và điều phối việc sử dụng phần cứng của
chương trình ứng dụng của người dùng. Mục tiêu của HĐH:
- Thực thi các chương trình và giải quyết vấn đề của người dùng dễ dàng hơn. -
Làm cho hệ thống máy tính trở nên thuận tiện hơn - Sử dụng phần
cứng máy tính một cách hiệu quả.
3. Vai trò của chương trình bootstrap là gì ?
- Bootstrap được tải lên khi mở nguồn hoặc khởi động lại.
- Định vị kernel của HĐH, nạp kernel vào bộ nhớ, khởi động kernel và sau đó
nhường quyền điều khiển cho HĐH.
- Định vị định vị kernel.
- Thường được lưu trữ trong ROM hoặc EFROM, thường biết đến là firmware.
- Khởi tạo các khía cạnh của hệ thống
- Tải kernel hệ điều hành và bắt đầu quá trình thực thi.
4. Hãy cho biết đặc điểm của hệ thống đơn xử lý, hệ thống đa xử lý và hệ thống cụm ?
- Hệ thống đơn xử lý chỉ có duy nhất 1 CPU.
- Hệ thống đa xử lý (còn gọi là hệ thống song song): có nhiều hơn 1 CPU.
- Hệ thống cụm: hai hay nhiều máy tính nhóm lại với nhau sao cho chúng hoạt
động như một máy tính độc nhất. lOMoAR cPSD| 58493804 -
5. Phân biệt hệ thống đa xử lý đối xứng và hệ thống đa xử lý bất đối xứng ? Ưu
nhược điểm của từng loại ?
- Sự khác nhau căn bản giữa hệ thống đa xử lý đối xứng(SMP) và bất đối
xứng(AMP) là : trong đa xử lý đối xứng thì mỗi bộ xử lý chạy các tác vụ trong
HĐH và có cùng kiến trúc.
Trong khi đó đa xử lý bất đối xứng thì chỉ có bộ xử lý chính (Master) là chạy
các tác vụ của HĐH, các bộ xử lý có thể khác kiến trúc.
- Ưu điểm của từng loại :
+ Đa xử lý đối xứng(SMP) : có thể thực thi nhiều tiến trình cùng lúc, làm tăng
tốc độ của hệ thống.
+ Đa xử lý bất đối xứng(AMP) : Đơn giản do chỉ có bộ xử lý chính truy cập cấu trúc dữ liệu.
- Nhược điểm từng loại:
+Đa xử lý đối xứng(SMP) : Nếu một bộ xử lý trong hệ thống đa xử lý bị lỗi thì
khả năng tính toán của hệ thống sẽ bị giảm. Phức tạp hơn bất đối xứng vì phải
đồng bộ hoạt động giữa các bộ xử lý.
+Đa xử lý bất đối xứng(AMP) : Nếu bộ xử lý chính bị lỗi thì cả hệ thống sẽ gặp vấn đề.
***Xu hướng hiện tại là thiết kế CPU với nhiều core trong 1 chip Multicore.
***Multicore trên cùng 1 con chip hiệu quả hơn là multiple chip, mà mỗi chip 1 core.
//Nội bộ các CPU thì bất đối xứng, Nhưng giữa các CPU với nhau thì đối xứng
6. Phân biệt ngắt (interrupt) và trap
- Interupt: sự gián đoạn gây ra bởi sự kiện phần cứng bên ngoài. Khác với trap,
ngắt cứng không được khởi động bên trong máy tính mà do các linh kiện điện
tử tác đông lên hệ thống
- Trap: là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy, được
thực hiện trên hợp ngữ thông qua lệnh INT.
MÁY ẢO: (Xem Chapter 16 – OS concepts 9th Edition)
7. Máy ảo (VM) là gì ?
- Máy ảo – Virtual Machine là một chương trình giả lập một hệ thống máy tính,
được chạy trên hệ điều hành chủ và hoạt động như một máy tính thật.
8. Ưu nhược điểm của VM là gì?
Ưu điểm : khả năng bảo mật, tính tiện dụng cao. lOMoAR cPSD| 58493804
- Khi máy ảo có trục trặc vẫn không ảnh hưởng dến hệ thống máy vật lý.
- Máy ảo tiết kiệm và tận dụng được tài nguyên thừa trên máy thật.
- Máy ảo cung cấp cơ chế bảo vệ tuyệt đối các tài nguyên hệ thống do mỗi máy
ảo tách biệt khỏi tất cả các máy ảo khác.
- Hệ thống máy ảo là công cụ hoàn hảo cho việc nghiên cứu và phát triển HĐH. Nhược điểm :
- Máy ảo kém hiệu quả và chậm hơn máy thật.
- Về lưu trữ vật lý, do máy ảo chỉ dùng 1 tập tin để lưu trữ tất cả thông tin nên
nếu như làm mất tập tin này thì xem như mất tất cả.
- Khi máy tính bị hư, toàn bộ máy ảo trên máy tính đó cũng sẽ bị ảnh hưởng. -
Sự tác biệt giữa các máy ảo, không cho phép chia sẽ tài nguyên trực tiếp.
9. Hãy cho biết các loại VM (types of VM) và cách thức cài đặt chúng (implementation) ?
- Có 2 loại ảo hóa hệ thống giám sát máy ảo là : Type 1 hypervisor ( native) và Type 2 hypervisor (hosted)
Type 0 Hypervisor: Các máy ảo được cài đặt trên cùng một máy với phần cứng
đặc biệt. Ví dụ: một máy thật có thể chi thành 4 máy ảo với mỗi máy có 1
CPU, bộ nhớ, thiết bị I/O.
- Type 1 Hypervisor: Các máy ảo sẽ được quản lý bởi 1 HĐH nền.
- Type 2 Hypervisor: Các máy ảo sẽ được chạy trên một phần mềm quản lý máy
ảo như Oracle VM Virtualbox, VMware.
- Có 2 loại máy ảo là máy ảo tiến trình (process VM) và máy ảo hệ thống (system VM)
- Cách thức cài đặt máy ảo :
+ Tải phần mềm tạo máy ảo (VMWare, VirtualBox, …).
+ Vào giao diện ảo hóa (vd VirtualBox) -> chọn New để tạo máy ảo mới.
+ Đặt tên và chọn hệ điều hành cho máy ảo. + Chọn nơi lưu máy ảo.
+ Chọn dung lượng ổ cứng và thiết lập các thông số cho máy ảo dựa trên khả năng của máy vật lý. + Sau đó submit. lOMoAR cPSD| 58493804 -
10.Kiến trúc (architecture) của VM như thế nào?
- Máy ảo là một máy tính phần mềm giống như máy tính vật lý, chạy hệ điều
hành và ứng dụng. Máy ảo bao gồm một tập hợp các tệp cấu hình và được hỗ
trợ bởi các tài nguyên vật lý từ máy chủ.
- Mỗi máy ảo đều có các thiệt bị ảo cung cấp chức năng giống như phần cứng vật lý
- Máy ảo có thể độc lập hoặc chúng tồn tại trong vApp.
CHƯƠNG 2: CẤU TRÚC HỆ ĐIỀU HÀNH (OS STRUCTURES)
11.Hãy liệt kê các dịch vụ do hệ điều hành cung cấp ?
- User interface (UI) – giao diện người dùng, gồm 2 loại là GUI và CLI
- Program execution – thực thi chương trình
- I/O operations – tác vụ vào, ra
- File-system manipulation – thao tác file lOMoAR cPSD| 58493804 -
Comunication – giao tiếp, trao đổi thông tin
- Error detection – dò tìm lỗi
- Accounting (kiểm toán) – lưu giữ các thông tin về người dùng
- Resource allocation – cấp phát tài nguyên
- Protection and security - protection đảm bảo các truy cập vào tài nguyên hệ
thống đều được kiểm soát, security những truy cập từ phía bên ngoài vào hệ thống
12.Phân biệt khái niệm “Protection” và “security”?
- Protection đảm bảo các truy cập của các tiến trình bên trong vào tài nguyên hệ
thống đều được kiểm soát.
- Security bảo vệ hệ thống khỏi những truy cập không hợp lệ từ phía bên ngoài
vào hệ thống, tất cả những can thiệp bên ngoài vào hệ thống đều phải được xác thực.
13.Liệt kê các giao diện người dùng hệ điều hành?
- Command Line Interface (CLI)
- Graphical User Interface (GUI)
14.Mục đích của lời gọi hệ thống là gì?
- Gọi các dịch vụ của HĐH
15.Các phương pháp truyền tham số trong lời gọi hệ thống?
- Truyền bằng thanh ghi (Registers): số lượng tham số bị giới hạn
- Truyền tham số thông qua Block (khối) hoặc Table bên trong vùng nhớ và địa
chỉ của bạn được lưu trong thanh ghi.
- Truyền tham số thông qua Stack (ngăn xếp): chương trình sẽ push stack tham
số vào stack và hệ điều hành sẽ lấy tham số bằng các pop stack.
Phương thức Block và Stack không giới hạn số lượng hoặc độ dài tham số.
16.Hãy cho biết ưu điểm và hạn chế của phương pháp thiết kế phân tầng trong
thiết kế hệ điều hành?
Kiến trúc phân tầng:
- Chức năng trên hệ thống được phân rã thành các chức năng con
- Tầng thấp nhất: phần cứng. Cao nhất: là user interface
- Tầng trên sử dụng dịch vụ do tầng dưới cung cấp Ưu điểm: lOMoAR cPSD| 58493804 -
Đơn giản trong việc kiểm soát lỗi. Khi phát sinh lỗi, thì kiến trúc này giúp dễ
nhận biết lỗi phát sinh ở tầng nào do mỗi tầng đã được phân một nhiệm vụ riêng biệt.
- Dễ dàng bảo trì và nâng cấp hệ thống, thay đổi bên trong 1 bộ phận không làm
thay đổi các bộ phận khác.
- Giảm thời gian và chi phí phát triển. Nhược điểm:
- Kích cỡ chương trình lớn
- Chương trình chạy chậm hơn so với procedure programs.
- Không phải bài toán nào cũng phù hợp với kiến trúc phân tầng.
- Khó khăn trong việc xác định các lớp, đối tượng.
CHƯƠNG 3: TIẾN TRÌNH (PROCESSES)
17.Tiến trình là gì?
=> tiến trình là một thực thể của một chương trình đang được thực thi bởi một hoặc nhiều luồng.
18.Tiến trình có bao nhiêu trạng thái? Hãy cho biết các bước chuyển trạng thái của tiến trình?
=>Tiến trình có 5 trạng thái : -
New: khi tiến trình mới được tạo -
Ready: Khi nó được cấp phát đầy đủ các nguồn tài nguyên ngoại trừ CPU -
Running: Khi nó được cấp phát CPU -
Waiting: Khi nó chờ đợi tài nguyên hoặc một sự kiện nào đó xảy ra -
Terminated: Tiến trình hoàn thành xong việc thực thi
19.Thông tin của tiến trình được lưu ở đâu?
=>Được lưu ở PCB (Process control block)
20.Hãy cho biết “ chi phí chuyển ngữ cảnh” là gì? Chi phí này do thành phần nào gánh chịu? -
Chi phí chuyển ngữ cảnh là chi phí chuyển CPU giữa 2 tiến trình. -
Chi phí này do hệ điều hành gánh chịu. lOMoAR cPSD| 58493804
21.Hãy liệt kê các loại hàng đợi tiến trình? Vai trò của mỗi loại hàng đợi tiến trình? -
Hàng đợi công việc (job queue): tập hợp tất cả các tiến trình trong hệ thống. -
Hàng đợi sẵn sàng (ready queue): tập hợp tất cả các tiến trình đang nằm trong bộ
nhổ, sẵn sàng và đang chờ để thực thi. -
Hàng đợi thiết bị (device queue): tập hợp các tiến trình đang đợi sử dụng một thiết bị vào ra.
22.Hãy liệt kê các loại định thời (scheduler)? Mỗi loại định thời được sử dụng ở
đâu và vai trò của chúng là gì?
=> Có 3 loại định thời: -
Bộ định thời dài kỳ (long-term scheduler/job scheduler): chọn tiến trình nào sẽ được
đặt vào hàng đợi sẵn sàng (nạp vào bộ nhớ) -
Bộ định thời ngắn kỳ (short-term scheduler/CPU scheduler):chọn ra tiến trình sẽ
được thực thi kế tiếp và cấp CPU cho nó. Được sử dụng ở CPU -
Bộ định thời trung kì (Medium-term): thường được sử dụng trong các hệ thống phân chia thời gian
23.Phân biệt định thời ngắn kỳ, dài kỳ và trung kỳ?
Bộ định thời dài kỳ (long-term scheduler/job scheduler): -
chọn tiến trình nào sẽ được đặt vào hàng đợi sẵn sàng (nạp vào bộ nhớ) -
được gọi rất không thường xuyên (seconds, minutes) => có thể chậm -
khống chế cấp độ đa chương (degree of multiprogramming)
Bộ định thời ngắn kỳ (short-term scheduler/CPU scheduler): -
chọn ra tiến trình sẽ được thực thi kế tiếp và cấp CPU cho nó. -
được gọi rất thường xuyên (milliseconds) => phải nhanh
Bộ định thời trung kì (Medium-term) -
là mức trung gian giữa bộ định thời ngắn và dài kỳ lOMoAR cPSD| 58493804 - -
thực hiện hoán vị (swapping) các tiến trình ra/vào bộ nhớ/đĩa do cạnh tranh CPU, bộ nhớ lOMoAR cPSD| 58493804 -
thường được sử dụng trong các hệ thống phân chia thời gian. SN
Bộ định thời dài hạn
Bộ định thời ngắn hạn
Bộ định thời trung hạn 1
Nó là một Bộ định thời
Nó là một Bộ định thời
Nó là một Bộ định thời trình tien trình CPU hoán đổi quy trình. 2
Tốc độ thấp hơn so với Bộ Tốc độ là nhanh nhất trong Tốc độ nằm giữa cả Bộ định thời định thời ngắn hạn số hai người khác ngắn hạn và dài hạn. 3
Nó kiểm soát mức độ đa Nó cung cấp khả năng kiểm Nó làm giảm mức độ đa chương chương trình
soát ít hơn đối với mức độ trình. đa chương trình 4
Nó hầu như không có Nó cũng là tối thiểu trong Nó là một phần của hệ thống
hoặc tối thiểu trong hệ hệ thống time-sharing time-sharing. thống time-sharing 5
Nó chọn các quy trình từ Nó chọn những quy trình đã Nó có thể giới thiệu lại quy trình
nhóm và tải chúng vào bộ sẵn sàng để thực thi
vào bộ nhớ và quá trình thực thi nhớ để thực thi
có thể được tiếp tục.
24.Hãy cho biết cách thức chia sẻ tài nguyên giữa tiến trình con và tiến trình cha? => Chia sẻ tài nguyên: -
Tiến trình cha và con chia sẻ tất cả các tài nguyên -
Tiến trình cha chia sẻ một phần tài nguyên cho tiến trình con -
Tiến trình cha và con không chia sẻ gì cả -
Tiến trình con nhận tài nguyên trực tiếp từ HĐH hay nó có thể bị rang buộc tới một
tập con các tài nguyên của quá trình cha. Quá trình cha có thể phân chia tài nguyên
giữa các con hay có thể chia sẻ một số tài nguyên (như bộ nhớ, tập tin) giữa nhiều quá trình con.
25.Hãy cho biết cách thức trao đổi thông tin giữa các tiến trình?
=> Bộ nhớ chia sẻ và Truyền thông điệp lOMoAR cPSD| 58493804
- Truyền thông điệp: hữu ích trong môi trường phân tán, giao tiếp qua mạng. Cho
phép các tiến trình giao tiếp với các tiến trình khác mà không cần sắp xếp lại dữ liệu
chia sẽ. Tiến trình truyền dung hàm Send tiến trình nhận dung làm Receive.
- Chia sẽ bộ nhớ: Các tiến trình sử dụng thông tin trong bộ nhớ được chia sẽ.
26.Khi nào một tiến trình kết thúc?
=> Tiến trình thực thi câu lệnh cuối cùng và yêu cầu HĐH xóa nó
27.Phân biệt tiến trình “orphan” và tiến trình “zombie” -
Tiến trình con kết thúc trưóc khi t/trình cha gọi wait() : zombie -
Tiến trình con còn thực thi khi t/trình cha đã kết thúc : orphan
Chú ý : Nếu cha tạo ra con mà con không trả về hàm wait() thì con sẽ bị zoombie
CHƯƠNG 4: ĐỊNH THỜI CPU (CPU SCHEDULING)
28. Hãy trình bày các phương pháp đánh giá thuật toán định thời CPU ? 1.
First-come, first-served (FCFS): đến trước được phục vụ trước. 2.
Shortest-job-First SJF): công việc ngắn nhất trước. 3.
Priority: dựa trên độ ưu tiên. 4. Round-robin (RR): xoay vòng. 5.
Multilevel scheduling: hàng đợi đa cấp. 6.
Multilevel feedback-queue scheduling: hàng đợi phản hồi đa cấp. CHƯƠNG 6: DEADLOCKS 29.Deadlock là gì?
Deadlock (Khóa chết) Là trạng thái xảy ra trong môi trường đa nhiệm (Muti-
Threading) khi hai hoặc nhiều tiến trình đi vào vòng lặp chờ tài nguyên mãi mãi.
30.Hãy trình bày các điều kiện để xảy ra deadlock?
- Loại trừ tương hỗ (Mutual exclusion): ít nhất một tiến trình được giữa trong chế
độ không chia sẽ tài nguyên.
- Giữ và chờ (Hold and wait): tiến trình giữ một tài nguyên và đang chờ một tài
nguyên khác do tiến trình khác giữ. lOMoAR cPSD| 58493804
- Không trưng dụng (No preemption): chỉ tiến trình đang giữ tài nguyên mới có
thể giải phóng tài nguyên, sau khi nó hoàn thành tác vụ.
- Chờ đợi vòng trò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
31.Trình bày các phương pháp “điều khiển” (handle) deadlock
- Sử dụng quy tắc Ngăn chặn (Prevention) hoặc Tránh (Avoidance) để Deadlock khôngbao 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).