Ôn tập môn hệ điều hành | Kiến trúc máy tính | Trường Đại học Thủy Lợi

Ôn tập môn hệ điều hành của Trường Đại học Thủy Lợi. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.

lOMoARcPSD|40651217
NỘI DUNG ÔN TẬP MÔN HỆ ĐIỀU HÀNH
PHẦN I. LÝ THUYẾT
CHƯƠNG 1: GIỚI THIỆU CHUNG
1. Hệ điều hành là gì?
Hệ điều hành là hệ thống phần mềm đóng vai trò trung gian giữa người sử
dụng (user) và phần cứng máy tính (computer hardware) nhằm tạo ra môi
trường giúp việc thực hiện các chương trình một cách thuận tiện và hiệu
quả.
2. Hai chức năng cơ bản của HĐH
Quản lý tài nguyên
Quản lý việc thực hiện các chương trình
3. Phân loại hệ điều hành
Các hệ điều hành cho máy tính lớn
Các hệ điều hành cho máy chủ
Các hệ điều hành đa xử lý
Các hệ điều hành cho máy tính cá nhân
Các hệ điều hành thời gian thực
c hệ điều hành nhúng
Các hệ điều hành cho thẻ thông minh
4. Phần cứng máy tính
Tổ chức của hệ thống máy tính
Hoạt động của CPU
Bộ nhớ
Thiết bị vào/ra
5. Quá trình tải và chạy hệ điều hành khi mới khởi động hệ thống
6. Nhân của hệ điều hành. Chế độ nhân (kernel mode) và chế độ người dùng
(user mode)
Máy tính thường được thiết kế với hai chế độ thực hiện chương trình: o
Chế độ nhân (kernel mode): chương trình thực hiện có đầy đủ quyền
truy cập và điều khiển phần cứng máy tính o Chế độ người dùng (user
mode) : chương trình bị hạn chế rất nhiều quyền truy cập và điều khiển
phần cứng
7. Giao diện lập trình của hệ điều hành Lời gọi hệ thống (system call)
+ là giao diện giữa các chương trình và hệ điều hành
lOMoARcPSD|40651217
+ được chương trình sử dụng để yêu cầu một dịch vụ nào đó từ phía hệ
điều hành
8. Chương trình ứng dụng gọi dịch vụ của hệ điều hành bằng cách nào?
9. Các thành phần cơ bản của hệ điều
hành CHƯƠNG 2: TIẾN TRÌNH VÀ LUỒNG
1. Tiến trình là gì? Phân biệt tiến trình và chương trình.
Một tiến trình (Process) là một chương trình đang thi hành.
Mỗi tiến trình cần:
+ Một không gian địa chỉ trong vùng nhớ: chứa chương trình thi hành, dữ
liệu của chương trình và ngăn xếp của nó.
+ Các thanh ghi (bao gồm con trỏ lệnh, con trỏ ngăn xếp và các thanh ghi
khác) để lưu các thông tin cần thiết cho việc chạy chương trình và các
thông tin khác
Hai đặc điểm để phân biệt tiến trình với chương trình:
o Chương trình là một thực thể tĩnh, tiến trình là thực thể động:
+ Chương trình bao gồm tập lệnh và dữ liệu chứa trong file, file không
thay đổi theo thời gian.
+ Tiến trình bao gồm các lệnh, dữ liệu, không gian nhớ, con trỏ lệnh
chỉ tới lệnh và các thanh ghi. Hầu hết các thành phần này đều thay đổi
trong quá trình tiến trình tồn tại.
o Chương trình không được cấp tài nguyên cụ thể, tiến trình được cấp tài
nguyên (bộ nhớ, các thiết bị vào/ra, thời gian sử dụng CPU
2. Năm trạng thái của tiến trình. Sơ đồ mô tả quá trình chuyển đổi giữa 5 trạng
thái của một tiến trình.
Tại một thời điểm, tiến trình có thể ở một trong các trạng thái sau:
Trạng thái mới khởi tạo: tiến trình đang được tạo ra
Trạng thái sẵn sàng: Tiến trình đã được phân phối đầy đủ mọi tài
nguyên, chỉ trừ CPU
Trạng thái chạy: là trạng thái mà tiến trình đang sử dụng CPU để thực
hiện lệnh
Trạng thái chờ đợi: Tiến trình còn thiếu một vài điều kiện nào đó thì
mới chuyển sang trạng thái sẵn sàng
Trạng thái kết thúc: tiến trình không còn nằm trong danh sách các tiến
trình được thực hiện
3. Các thông tin mô tả tiến trình Thông tin mô tả tiến trình gồm:
Số định danh của tiến trình (PID-Process Identification) cho phép
phân biệt với tiến trình khác.
lOMoARcPSD|40651217
Trạng thái tiến trình: một trong năm trạng thái liệt kê ở phần trước.
Nội dung một số thanh ghi CPU: thanh ghi con trỏ lệnh, con trỏ ngăn
xếp, thanh ghi dữ liệu, thanh ghi trạng thái,…..
Thông tin về bộ nhớ của tiến trình: chỉ ra nơi chứa tiến trình.
Thông tin phục vụ việc điều độ tiến trình: mức độ ưu tiên của tiến
trình, vị trí tiến trình trong các hàng đợi, tài nguyên tiến trình đang sở
hữu Danh sách các tài nguyên khác: bao gồm danh sách các file
đang mở của tiến trình, các thiết bị vào ra tiến trình đang sử dụng.
Thông tin thống kê phục vụ quản lý: thông tin loại này thường được
sử dụng phục vụ thống kê hoặc tính toán chi phí đối với các hệ thống
dùng chung (như khi đi thuê máy tính) và bao gồm thông tin về thời
gian sử dụng CPU, giới hạn thời gian, tài khoản của người sở hữu tiến
trình .v.v.
4. Khối quản lý tiến trình, bảng tiến trình và danh sách tiến trình
Khối quản lý tiến trình (PCB-Process Control Block): là một cấu trúc dữ liệu chứa các thông
tin mô tả tiến trình, được lưu trong bộ nhớ trong và có thể nằm ở các vị trí khác nhau.
Hệ điều hành cần lưu PCB và có cách xác định PCB o Hệ điều hành sử dụng bảng tiến
trình chứa con trỏ tới PCB của toàn bộ tiến trình có trong hệ thống
lOMoARcPSD|40651217
5. Tiến trình được tạo ra trong những tình huống nào?
Các tiến trình được tạo ra trong các tình huống sau: o
Khởi động hệ thống
o Người dùng kích hoạt một chương trình o Một tiến trình đang
chạy gọi hàm hệ thống để tạo tiến trình mới.
Unix: fork()
Windows: CreateProcess()
6. Tiến trình thường bị kết thúc trong những tình huống nào?
Xử lý xong lệnh cuối cùng hay gọi lệnh kết thúc o
Unix: Exit() o Windows: ExitProcess()
Bị tiến trình cha kết thúc
lOMoARcPSD|40651217
Do các lỗi
7. Việc chuyển tiến trình có thể xảy ra trong tình huống nào? Các thao tác
chuyển giữa các tiến trình?
Việc chuyển tiến trình xảy ra trong hai trường hợp sau:
o Khi có ngắt o Khi tiến trình gọi lời gọi hệ thống
Các hoạt động xảy ra khi chuyển tiến trình:
o Trước khi chuyển sang thực hiện tiến trình khác, ngữ cảnh (bao gồm
nội dung các thanh ghi, thông tin về bộ nhớ, …) được lưu vào PCB.
o Khi tiến trình được cấp phát CPU để thực hiện trở lại, ngữ cảnh sẽ
được khôi phục từ PCB vào thanh ghi và những bảng tương ứng.
8. Luồng (thead) là gì? Ưu điểm của mô hình đa luồng?
Mỗi đơn vị thực hiện của tiến trình là một chuỗi các lệnh được cấp phát
CPU để thực hiện độc lập (song song), được gọi là luồng
Ưu điểm của mô hình đa luồng
Tăng hiệu năng và tiết kiệm thời gian.
Dễ dàng chia sẻ tài nguyên và thông tin.
Tăng tính đáp ứng.
Tận dụng được kiến trúc xử lý với nhiều CPU.
Thuận lợi cho việc tổ chức chương trình.
9. Tài nguyên găng.
Tài nguyên găng là loại tài nguyên mà tại một thời điểm chỉ có thể phục vụ
cho một đối tượng
Ví dụ: CPU, một ô nhớ, máy in, ...
10.Điều độ là gì? Các yêu cầu của điều độ?
Điều độ tiến trình (scheduling) (theo nghĩa tổng quát) là sự tổ chức thực
hiện các tiến trình theo một giải thuật điều độ (scheduling algorithm) nào
đó, nhằm tránh sự xung đột giữa các tiến trình về mặt tài nguyên.
Điều độ tiến trình (theo nghĩa hẹp) là sự tổ chức, phân phối tài nguyên
CPU cho các tiến trình theo một giải thuật nào đó, nhằm đảm bảo tốc
độ thực hiện của các tiến trình và hiệu quả sử dụng CPU.
Yêu cầu điều độ
Tài nguyên găng o Tài nguyên găng là loại tài nguyên mà tại một thời
điểm chỉ có thể phục vụ cho một đối tượng Ví dụ: CPU, một ô nhớ,
máy in, ...
Công việc điều độ phải thoả mãn các yêu cầu sau:
1) Mỗi thời điểm chỉ có một tiến trình nằm trong đoạn găng
2) Không tiến trình nào được phép ở lâu vô hạn trong đoạn găng
lOMoARcPSD|40651217
3) Không tiến trình nào phải chờ vô hạn trước đoạn găng
11. Thuật toán điều độ FCFS
12.Thuật toán điều độ RR
lOMoARcPSD|40651217
13.Thuật toán điều độ SJF
CHƯƠNG 3: BẾ TẮC
1. Định nghĩa bế tắc. Điều kiện xảy ra bế tắc.
Một tập hợp các tiến trình bị coi là bế tắc nếu mỗi tiến trình trong tập hợp phải
chờ một sự kiện, mà sự kiện đó lại chỉ có thể do một tiến trình khác trong tập
hợp tạo ra
-> Tình trạng bế tắc xảy ra khi bốn điều kiện sau đồng thời thỏa mãn: 1)
Loại trừ tương hỗ: Mỗi tài nguyên hoặc được sở hữu bởi một tiến trình duy
nhất, hoặc đang rảnh rỗi. (1 tài nguyên chỉ phục vụ 1 tiến trình)
2) Giữ và chờ: Tiến trình giữ tài nguyên đã được cấp trong khi chờ đợi, chẳng
hạn chờ đợi để được cấp thêm tài nguyên khác
3) Không giải phóng: Tài nguyên do tiến trình giữ không thể phân phối lại cho
tiếntrình khác trừ khi tiến trình đang giữ tự nguyện giải phóng tài nguyên 4) Ch
đợi vòng tròn: Phải có một hàng đợi vòng tròn gồm hai hoặc nhiều tiến trình, mỗi
tiến trình lại đang chờ một tài nguyên được sở hữu bởi chính thành viên tiếp theo
trong hàng đợi
2. Trình bày phương pháp phát hiện bế tắc bằng sơ đồ phân phối tài nguyên, cho ví
dụ minh họa.
3. Các biện pháp giải quyết bế tắc.
Bốn chiến lược xử lý bế tắc
1) Bỏ qua tất cả các vấn đề (Giải thuật đà điểu)
2) Để cho các bế tắc xảy ra, phát hiện chúng và xử lý (*)
3) Chủ động phòng tránh bằng cách phân phối tài nguyên thật cẩn thận 4) Ngăn
chặn, bằng cách loại bỏ sự tồn tại của một trong bốn điều kiện cần thiết gây
ra bế tắc
lOMoARcPSD|40651217
CHƯƠNG 4: QUẢN LÝ BỘ NHỚ
1. Địa chỉ loigc và địa chỉ vật lý.
Địa chỉ logic
Còn gọi là địa chỉ tương đối
Địa chỉ logic là địa chỉ được gán cho các lệnh và dữ liệu không phụ
thuộc vào vị trí cụ thể của tiến trình trong bộ nhớ
CPU sử dụng địa chỉ logic để trỏ đến các phần khác nhau của lệnh, d
liệu Địa chỉ vật lý
Còn gọi là địa chỉ tuyệt đối
Là địa chỉ của ngăn nhớ trong bộ nhớ
Để truy cập bộ nhớ, địa chỉ logic cần được biến đổi thành địa chỉ vật lý
Chuyển đổi địa chỉ logic sang địa chỉ vật
Địa chỉ logic được ánh xạ sang địa vật lý nhờ khối ánh xạ bộ nhớ
(MMU=Memory Management Unit)
2. Kỹ thuật phân chương cố định.
Bộ nhớ được chia thành n phần
Mỗi phần gọi là một chương (partition)
Mỗi chương có kích thước cố định ở những vị trí cố định
Các chương không nhất thiết có kích thước bằng nhau
Mỗi chương có thể dùng để nạp và chạy một tiến trình
Tại một thời điểm chỉ cho phép một tiến trình tồn tại
Các tiến trình nằm trong vùng nhớ cho tới khi kết thúc
Có thể chạy đồng thời nhiều tiến trình
Lựa chọn kích thước chương
Các chương có kích thước bằng nhau
Kích thước chương nhỏ : tiến trình có kích thước lớn hơn kích thước
chương sẽ không thể tải vào chương và chạy được
Kích thước của chương bằng kích thước của tiến trình lớn nhất
Chương chứa được các tiến trình lớn
Tiến trình có kích thước nhỏ phần bỏ trống lớn gây lãng
phí. Hiện tượng này gọi là phân mảnh trong (internal fragmentation)
Các chương có kích thước không bằng nhau
3. Kỹ thuật phân chương động.
Kích thước và số lượng chương đều không cố định
Bộ nhớ được phân phối tuỳ theo kích thước tiến trình
lOMoARcPSD|40651217
• Tiến trình được cấp một lượng bộ nhớ đúng bằng lượng bộ nhớ mà tiến
trình cần
Tiến trình nào thực hiện xong thì bộ nhớ của nó sẽ được giải phóng, dành chỗ
cho tiến trình khác
Tồn tại một tập hợp các vùng trống có kích thước khác nhau4. Các thuật toán
lựa chọn vùng trống: First fit, Best fit, Worst fit.
Vùng thích hợp đầu tiên (first fit)
Vùng trống đầu tiên thỏa mãn
Vùng thích hợp nhất (best fit)
Vùng trống vừa vặn nhất
Vùng không thích hợp nhất (worst fit)
Vùng trống kích thước lớn nhất
Ví dụ:
Bộ nhớ có 4 vùng trống có kích thước lần lượt như sau 3MB, 8MB,
7MB và10MB
Yêu cầu cấp phát vùng nhớ kích thước 6MB Cấp phát vùng nhớ
nào?
First fit: 8MB
Best fit: 7MB• Worst fit: 10MB
5. Kỹ thuật phân trang.
6. Kỹ thuật phân đoạn.
CHƯƠNG 5: QUẢN LÝ
VÀO/RA
1. Phân loại thiết bị vào/ra
Các thiết bị vào/ra được phân thành hai loại:
Các thiết bị khối (Block devices)
Các thiết bị kí tự (Character devices)
2. Bộ điều khiển thiết bị
Các đơn vị vào/ra thường bao gồm thành phần cơ khí và thành phần điện tử
Thành phần cơ khí là bản thân thiết bị
Thành phần điện tử được gọi là bộ điều khiển thiết bị (device
controller) hoặc bộ điều hợp (adapter), nó thường có dạng một vỉ mạch (card) có
thể cắm trên các khe mở rộng 9
Các vỉ mạch điều khiển thường có một cổng kết nối, từ đó cáp sẽ được gắn để
nối tới thiết bị
Một bộ điều khiển có thể xử lý một hoặc nhiều thiết bị cùng loại
Người ta thường chuẩn hoá giao diện giữa bộ điều khiển và thiết bị, để tăng khả
năng tương thích giữa chúng
• Ví dụ: các công ty khác nhau có thẻ sản xuất các ổ đĩa có cùng giao diện
tiêu chuẩn IDE hoặc SCSI
lOMoARcPSD|40651217
Nhiệm vụ của bộ điều khiển thiết bị là chuyển đổi dãy bít nối tiếp thành một
khốinhiều byte và thực hiện việc sửa lỗi nếu cần
Đầu tiên, khối các byte này sẽ được lắp ghép lại từ nhiều bít, tại một
vùng đệm bên trong bộ điều khiển
Sau khi phần checksum đã được kiểm tra, và không thấy có lỗi, nó có
thể được sao chép vào bộ nhớ chính
3. Các phương thức giao tiếp với controller
Mỗi bộ điều khiển thiết bị (controller) có một vài thanh ghi dùng để liên
lạc với
CPU
Bằng cách ghi dữ liệu vào các thanh ghi này, hệ điều hành có
thể ra lệnh chothiết bị gửi/nhận dữ liệu, bật/tắt thiết bị, …
Nhờ đọc dữ liệu từ các thanh ghi này, hệ điều hành có thể biết
được trạng thái của thiết bị, xem nó có sẵn sàng để nhận lệnh mới hay
không
Làm cách nào mà CPU có thể liên lạc với các thanh ghi điều khiển đó?
Cách 1: Dùng địa chỉ cổng
Cách 2: Ánh xạ thanh ghi tới bộ nhớ
4. Mục đích của phần mềm vào/ra
Đảm bảo Độc lập thiết bị: Viết chương trình vào/ra có thể truy cập bất cứ
thiết bị vào/ra nào mà không cần phải biết trước thiết bị.
Đặt tên đồng nhất: tất cả các tệp và thiết bị chung nhau quy tắc đặt tên
không phụ thuộc vào loại thiết bị và được xác định bởi đường dẫn.
Xử lý lỗi: nên được thực thi ở phần cứng hoặc tại trình điều khiển thiết bị.
Lưu đệm (buffer): tăng hiệu năng vào/ra.
5. Nguyên lý của phần mềm vào/ra
- Vào/ra bằng chương trình
- Vào/ra bằng ngắt
- Vào/ra bằng DMA
6. Các lớp phần mềm vào/ra
lOMoARcPSD|40651217
lOMoARcPSD|40651217
lOMoARcPSD|40651217
lOMoARcPSD|40651217
7. Quản lý màn hình
Thông tin hiển thị trên màn hình được điều khiển bởi vỉ mạch màn hình (Video
Adapter)
Video Adapter có hai thành phần chính:
+ Bộ nhớ hiển thị (Display Memory)
+ Mạch điều khiển màn hình (Video controller)
Bộ nhớ hiển thị (Display Memory)
Đây là nơi chứa những thông tin sẽ được hiện ra trên màn hình.
CPU có thể liên lạc với Display Memory thông qua hệ thống bus địa chỉ, do
đó có thể tác động tới vùng nhớ này bằng các lệnh truy nhập bộ nhớ thông thường
Mạch điều khiển màn hình (Video controller)
Đây là trung tâm điều khiển quá trình hiện thông tin ra màn hình, nó có chứa một
số thanh ghi, mỗi thanh ghi ứng với một địa chỉ cổng
• Các địa chỉ cổng thường nằm trong dải từ 3B0h đến 3DFh
Video controller có 2 chế độ hoạt động: Chế độ văn bản và chế độ đồ họa
lOMoARcPSD|40651217
8. Quản lý đĩa từ
Cấu trúc đĩa từ
Đọc ghi đĩa từ
Định dạng đĩa từ
Các thuật toán lập lịch cánh tay đĩa
CHƯƠNG 6: HỆ THỐNG
FILE
1. Khái niệm file
File là đơn vị logic của thông tin được tạo bởi tiến trình (process). Mỗi File có
thể được coi như một loại không gian địa chỉ. Thông tin lưu trữ trong file được
lưu lại và không bị ảnh hưởng bởi quá trình tạo và kết thúc tiến trình. File được
quản lý bởi hệ thống file (File System) của hệ điều hành
2. Các kiểu file
File thông thường là các file chứa thông tin người dùng.
File chứa thông tin về thư mục, được dùng cho mục đích quản lý file
File đặc biệt ký tự: liên quan tới quá trình vào/ra và sử dụng để mô hình hóa các
thiết bị vào ra nối tiếp như thiết bị cuối, máy in và và thiết bị mạng. File đặc
biệt khối: sử dụng cho mô hình hóa các ổ đĩa.
3. Cấu trúc file
File có thể cấu trúc theo một số cách sau: chuỗi byte không có cấu trúc, một chuỗi
các bản ghi độ dài cố định, cây các bản ghi kích thước khác nhau.
lOMoARcPSD|40651217
4. Các thuộc tính của file
5. Các thao tác với file
6. Khái niệm thư mục
Để quản lý các file trên mỗi đĩa lôgic, thông tin về file được lưu trong hệ
thống thư mục.
Thư mục (directory hay folder) được tạo thành từ các khoản mục (entry), mỗi
khoản mục ứng với một file. Khoản mục chứa các thông tin về file như tên file,
kích thước, vị trí, kiểu file và các thuộc tính khác hoặc chứa con trỏ tới nơi lưu trữ
những thông tin này.
lOMoARcPSD|40651217
7. Các cách lưu thông tin về file trên thư mục
C1: Toàn bộ thuộc tính của file được lưu trong thư mục, bản thân file chỉ
chứa dữ liệu. Ví dụ: MS-DOS
C2: Thư mục chỉ lưu thông tin tối thiểu cần thiết cho việc tìm vị trí của file
trên đĩa. Các thuộc tính file còn lại được lưu trữ luôn cùng với dữ liệu của file. Ví
dụ: thư mục sử dụng trong hệ thống file EXT2 và EXT3 của Linux 8. Hệ thống
thư mục đơn cấp và đa cấp
lOMoARcPSD|40651217
9. Đường dẫn tuyệt đối và đường dẫn tương đối
10.Đơn vị nhỏ nhất để cấp phát đĩa
Block là đơn vị nhỏ nhất để cấp phát đĩa
11. Một số hình thức cấp phát khối (block) đĩa cho file
Cấp phát liên tục
Cấp phát bằng danh sách liên kết
Cấp phát bằng danh sách liên kết sử dụng bảng nhớ
Cấp phát sử dụng nút chỉ số (I-node)
12.Tổ chức thực hiện thư mục
Trong bất cứ hệ thống nào, chức năng chính của hệ thống thư mục là ánh xạ
tên file sang các thông tin cần thiết để định vị dữ liệu của file trên đĩa .
Hệ điều hành sẽ sử dụng đường dẫn mà người dùng cung cấp để xác định
entry (khoản mục) của bảng thư mục. Entry thư mục sẽ cung cấp thông tin (với cấp phát
liên tục là địa chỉ của toàn bộ file, với hệ thống danh sách liên kết là số của khối đầu tiên
hoặc số hiệu của nút i-node) để tìm ra các khối đĩa.
lOMoARcPSD|40651217
PHẦN II. BÀI TẬP
- Các thuật toán điều độ (FCFS- First-Come First-Served, RR- Round-Robin,
SJF- Shortest Job First và SRTN- Shortest Remaining Time Next): vẽ sơ đồ mô tả
quá trình điều độ CPU cho các tiến trình, tính thời gian chờ đợi trung bình.
- Mô hình hóa sự bế tắc bằng sơ đồ phân bố tài nguyên.
- Ánh xạ địa chỉ logic sang địa chỉ vật lý trong kỹ thuật phân trang và phân đoạn.
- Một số thuật toán lập lịch cánh tay đĩa (FCFS-First Come First Served,
SSFShortest Seek First, Thang máy-Elevator): Tính tổng thời gian tìm kiếm
1. Xét tập hợp 5 tiến trình với thời gian sử dụng CPU và thời gian xuất hiện trong
hàngđợi như bảng sau:
a) Vẽ sơ đồ mô tả quá trình điều độ CPU cho 5 tiến trình trên theo các thuật
toánFCFS, RR (q=2), SJF và SRTN.
b) Tính thời gian chờ đợi trung bình của mỗi tiến trình trong các trường hợp sử
dụngFCFS, RR, SJF và SRTN.
2. Xét hệ thống gồm có năm tiến trình (A, B, C, D, E), và có năm tài nguyên (R, S, T,
U,V). Trạng thái của các tài nguyên và tiến trình được trình bày như sau:
- Tiến trình A đang nắm tài nguyên R và muốn có S và T,
- Tiến trình B không nắm tài nguyên nào và đang muốn có S,
- Tiến trình C đang nắm tài nguyên V có muốn có T và U,
- Tiến trình D đang sở hữu U và muốn có V,
- Tiến trình E không nắm tài nguyên nào và muốn có U. a) Vẽ sơ đồ phân phối tài
nguyên của hệ thống trên.
b) Hệ thống có bị bế tắc không? Nếu có bế tắc thì sẽ bao gồm những tiến trình nào?
3. Giả sử không gian nhớ logic của tiến trình gồm 256 trang, mỗi trang có kích
thước512B. Bộ nhớ vật lý gồm 1024 khung. Hãy cho biết địa chỉ logic dài bao nhiêu
bit, trong đó phần số thứ tự trang và phần độ dịch trong trang có độ dài lần lượt là bao
nhiêu
Tiến trình
Thời điểm xuất hiện
Thời gian sử dụng CPU
P
1
0
10
P
2
1
1
P
3
2
P
4
1
3
P
5
5
lOMoARcPSD|40651217
bit. Hãy cho biết địa chỉ vật lý dài bao nhiêu bit. (Tính với hai trường hợp: kích thước
ngăn nhớ bằng 8 bit và 16 bit)
4. Một tiến trình được nạp vào bộ nhớ theo mô hình phân trang với kích thước trang
2048B và kích thước ngăn nhớ là 8 bit. Bảng trang như sau:
0
1
2
3
Hãy chuyển các địa chỉ logic sau thành địa chỉ vật lý:
a) 725
b) 1037
5. Một tiến trình được nạp vào bộ nhớ theo mô hình phân trang với kích thước trang
2048B và kích thước ngăn nhớ là 16 bit. Bảng trang như sau:
0
1
2
3
Hãy chuyển các địa chỉ logic sau thành địa chỉ vật lý:
a) 725
b) 1037
6. Xét bảng phân đoạn sau đây
Cho biết địa chỉ vật lý tương ứng với các địa chỉ logic sau:
a) 0, 430
b) 1, 10
c) 2, 500
d) 3, 400
e) 4, 112
7. Các yêu cầu tới ổ đĩa lần lượt cho các cylinders 10, 22, 20, 2, 40, 6 và 38. Thời
giantìm kiếm là 6ms/cylinder. Giả sử cánh tay đang ở cylinder 20. Tính thời gian tìm
kiếm cần thiết khi sử dụng các thuật toán:
Số thứ tự của
đoạn
Vị trí cơ sở
của đoạn
Chiều dài của
đoạn
0
219
512
1
2300
32
2
90
128
3
1327
1024
4
1952
96
2
5
8
9
3
4
6
8
lOMoARcPSD|40651217
a. FCFS
b. SSF
c. Elevator algorithm (khởi tạo bit chỉ hướng UP)
d. Elevator algorithm (khởi tạo bit chỉ hướng DOWN)
| 1/21

Preview text:

lOMoARcPSD| 40651217
NỘI DUNG ÔN TẬP MÔN HỆ ĐIỀU HÀNH PHẦN I. LÝ THUYẾT
CHƯƠNG 1: GIỚI THIỆU CHUNG
1. Hệ điều hành là gì?
Hệ điều hành là hệ thống phần mềm đóng vai trò trung gian giữa người sử
dụng (user) và phần cứng máy tính (computer hardware) nhằm tạo ra môi
trường giúp việc thực hiện các chương trình một cách thuận tiện và hiệu quả.
2. Hai chức năng cơ bản của HĐH Quản lý tài nguyên
Quản lý việc thực hiện các chương trình
3. Phân loại hệ điều hành
Các hệ điều hành cho máy tính lớn
Các hệ điều hành cho máy chủ
Các hệ điều hành đa xử lý
Các hệ điều hành cho máy tính cá nhân
Các hệ điều hành thời gian thực
Các hệ điều hành nhúng
Các hệ điều hành cho thẻ thông minh
4. Phần cứng máy tính
Tổ chức của hệ thống máy tính Hoạt động của CPU Bộ nhớ Thiết bị vào/ra
5. Quá trình tải và chạy hệ điều hành khi mới khởi động hệ thống
6. Nhân của hệ điều hành. Chế độ nhân (kernel mode) và chế độ người dùng (user mode)
Máy tính thường được thiết kế với hai chế độ thực hiện chương trình: o
Chế độ nhân (kernel mode): chương trình thực hiện có đầy đủ quyền
truy cập và điều khiển phần cứng máy tính o Chế độ người dùng (user
mode) : chương trình bị hạn chế rất nhiều quyền truy cập và điều khiển phần cứng
7. Giao diện lập trình của hệ điều hành Lời gọi hệ thống (system call)
+ là giao diện giữa các chương trình và hệ điều hành lOMoARcPSD| 40651217
+ được chương trình sử dụng để yêu cầu một dịch vụ nào đó từ phía hệ điều hành
8. Chương trình ứng dụng gọi dịch vụ của hệ điều hành bằng cách nào?
9. Các thành phần cơ bản của hệ điều
hành CHƯƠNG 2: TIẾN TRÌNH VÀ LUỒNG
1. Tiến trình là gì? Phân biệt tiến trình và chương trình.
Một tiến trình (Process) là một chương trình đang thi hành. Mỗi tiến trình cần:
+ Một không gian địa chỉ trong vùng nhớ: chứa chương trình thi hành, dữ
liệu của chương trình và ngăn xếp của nó.
+ Các thanh ghi (bao gồm con trỏ lệnh, con trỏ ngăn xếp và các thanh ghi
khác) để lưu các thông tin cần thiết cho việc chạy chương trình và các thông tin khác
Hai đặc điểm để phân biệt tiến trình với chương trình:
o Chương trình là một thực thể tĩnh, tiến trình là thực thể động:
+ Chương trình bao gồm tập lệnh và dữ liệu chứa trong file, file không thay đổi theo thời gian.
+ Tiến trình bao gồm các lệnh, dữ liệu, không gian nhớ, con trỏ lệnh
chỉ tới lệnh và các thanh ghi. Hầu hết các thành phần này đều thay đổi
trong quá trình tiến trình tồn tại.
o Chương trình không được cấp tài nguyên cụ thể, tiến trình được cấp tài
nguyên (bộ nhớ, các thiết bị vào/ra, thời gian sử dụng CPU
2. Năm trạng thái của tiến trình. Sơ đồ mô tả quá trình chuyển đổi giữa 5 trạng
thái của một tiến trình.
Tại một thời điểm, tiến trình có thể ở một trong các trạng thái sau:
Trạng thái mới khởi tạo: tiến trình đang được tạo ra
Trạng thái sẵn sàng: Tiến trình đã được phân phối đầy đủ mọi tài nguyên, chỉ trừ CPU
Trạng thái chạy: là trạng thái mà tiến trình đang sử dụng CPU để thực hiện lệnh
Trạng thái chờ đợi: Tiến trình còn thiếu một vài điều kiện nào đó thì
mới chuyển sang trạng thái sẵn sàng
Trạng thái kết thúc: tiến trình không còn nằm trong danh sách các tiến trình được thực hiện
3. Các thông tin mô tả tiến trình Thông tin mô tả tiến trình gồm:
Số định danh của tiến trình (PID-Process Identification) cho phép
phân biệt với tiến trình khác. lOMoARcPSD| 40651217
Trạng thái tiến trình: một trong năm trạng thái liệt kê ở phần trước.
Nội dung một số thanh ghi CPU: thanh ghi con trỏ lệnh, con trỏ ngăn
xếp, thanh ghi dữ liệu, thanh ghi trạng thái,…..
Thông tin về bộ nhớ của tiến trình: chỉ ra nơi chứa tiến trình.
Thông tin phục vụ việc điều độ tiến trình: mức độ ưu tiên của tiến
trình, vị trí tiến trình trong các hàng đợi, tài nguyên tiến trình đang sở
hữu Danh sách các tài nguyên khác: bao gồm danh sách các file
đang mở của tiến trình, các thiết bị vào ra tiến trình đang sử dụng.
Thông tin thống kê phục vụ quản lý: thông tin loại này thường được
sử dụng phục vụ thống kê hoặc tính toán chi phí đối với các hệ thống
dùng chung (như khi đi thuê máy tính) và bao gồm thông tin về thời
gian sử dụng CPU, giới hạn thời gian, tài khoản của người sở hữu tiến trình .v.v.
4. Khối quản lý tiến trình, bảng tiến trình và danh sách tiến trình
Khối quản lý tiến trình (PCB-Process Control Block): là một cấu trúc dữ liệu chứa các thông
tin mô tả tiến trình, được lưu trong bộ nhớ trong và có thể nằm ở các vị trí khác nhau.
Hệ điều hành cần lưu PCB và có cách xác định PCB o Hệ điều hành sử dụng bảng tiến
trình chứa con trỏ tới PCB của toàn bộ tiến trình có trong hệ thống lOMoARcPSD| 40651217
5. Tiến trình được tạo ra trong những tình huống nào?
Các tiến trình được tạo ra trong các tình huống sau: o Khởi động hệ thống
o Người dùng kích hoạt một chương trình o Một tiến trình đang
chạy gọi hàm hệ thống để tạo tiến trình mới. Unix: fork() Windows: CreateProcess()
6. Tiến trình thường bị kết thúc trong những tình huống nào?
Xử lý xong lệnh cuối cùng hay gọi lệnh kết thúc o
Unix: Exit() o Windows: ExitProcess()
Bị tiến trình cha kết thúc lOMoARcPSD| 40651217 Do các lỗi
7. Việc chuyển tiến trình có thể xảy ra trong tình huống nào? Các thao tác
chuyển giữa các tiến trình?
Việc chuyển tiến trình xảy ra trong hai trường hợp sau:
o Khi có ngắt o Khi tiến trình gọi lời gọi hệ thống
Các hoạt động xảy ra khi chuyển tiến trình:
o Trước khi chuyển sang thực hiện tiến trình khác, ngữ cảnh (bao gồm
nội dung các thanh ghi, thông tin về bộ nhớ, …) được lưu vào PCB.
o Khi tiến trình được cấp phát CPU để thực hiện trở lại, ngữ cảnh sẽ
được khôi phục từ PCB vào thanh ghi và những bảng tương ứng.
8. Luồng (thead) là gì? Ưu điểm của mô hình đa luồng?
Mỗi đơn vị thực hiện của tiến trình là một chuỗi các lệnh được cấp phát
CPU để thực hiện độc lập (song song), được gọi là luồng
Ưu điểm của mô hình đa luồng
Tăng hiệu năng và tiết kiệm thời gian.
Dễ dàng chia sẻ tài nguyên và thông tin. Tăng tính đáp ứng.
Tận dụng được kiến trúc xử lý với nhiều CPU.
Thuận lợi cho việc tổ chức chương trình. 9. Tài nguyên găng.
Tài nguyên găng là loại tài nguyên mà tại một thời điểm chỉ có thể phục vụ cho một đối tượng
Ví dụ: CPU, một ô nhớ, máy in, ...
10.Điều độ là gì? Các yêu cầu của điều độ?
Điều độ tiến trình (scheduling) (theo nghĩa tổng quát) là sự tổ chức thực
hiện các tiến trình theo một giải thuật điều độ (scheduling algorithm) nào
đó, nhằm tránh sự xung đột giữa các tiến trình về mặt tài nguyên.
Điều độ tiến trình (theo nghĩa hẹp) là sự tổ chức, phân phối tài nguyên
CPU cho các tiến trình theo một giải thuật nào đó, nhằm đảm bảo tốc
độ thực hiện của các tiến trình và hiệu quả sử dụng CPU. Yêu cầu điều độ
Tài nguyên găng o Tài nguyên găng là loại tài nguyên mà tại một thời
điểm chỉ có thể phục vụ cho một đối tượng Ví dụ: CPU, một ô nhớ, máy in, ...
Công việc điều độ phải thoả mãn các yêu cầu sau:
1) Mỗi thời điểm chỉ có một tiến trình nằm trong đoạn găng
2) Không tiến trình nào được phép ở lâu vô hạn trong đoạn găng lOMoARcPSD| 40651217
3) Không tiến trình nào phải chờ vô hạn trước đoạn găng
11. Thuật toán điều độ FCFS
12.Thuật toán điều độ RR lOMoARcPSD| 40651217
13.Thuật toán điều độ SJF CHƯƠNG 3: BẾ TẮC
1. Định nghĩa bế tắc. Điều kiện xảy ra bế tắc.
Một tập hợp các tiến trình bị coi là bế tắc nếu mỗi tiến trình trong tập hợp phải
chờ một sự kiện, mà sự kiện đó lại chỉ có thể do một tiến trình khác trong tập hợp tạo ra
-> Tình trạng bế tắc xảy ra khi bốn điều kiện sau đồng thời thỏa mãn: 1)
Loại trừ tương hỗ: Mỗi tài nguyên hoặc được sở hữu bởi một tiến trình duy
nhất, hoặc đang rảnh rỗi. (1 tài nguyên chỉ phục vụ 1 tiến trình) 2)
Giữ và chờ: Tiến trình giữ tài nguyên đã được cấp trong khi chờ đợi, chẳng
hạn chờ đợi để được cấp thêm tài nguyên khác 3)
Không giải phóng: Tài nguyên do tiến trình giữ không thể phân phối lại cho
tiếntrình khác trừ khi tiến trình đang giữ tự nguyện giải phóng tài nguyên 4) Chờ
đợi vòng tròn: Phải có một hàng đợi vòng tròn gồm hai hoặc nhiều tiến trình, mỗi
tiến trình lại đang chờ một tài nguyên được sở hữu bởi chính thành viên tiếp theo trong hàng đợi
2. Trình bày phương pháp phát hiện bế tắc bằng sơ đồ phân phối tài nguyên, cho ví dụ minh họa.
3. Các biện pháp giải quyết bế tắc.
Bốn chiến lược xử lý bế tắc
1) Bỏ qua tất cả các vấn đề (Giải thuật đà điểu)
2) Để cho các bế tắc xảy ra, phát hiện chúng và xử lý (*)
3) Chủ động phòng tránh bằng cách phân phối tài nguyên thật cẩn thận 4) Ngăn
chặn, bằng cách loại bỏ sự tồn tại của một trong bốn điều kiện cần thiết gây ra bế tắc lOMoARcPSD| 40651217
CHƯƠNG 4: QUẢN LÝ BỘ NHỚ
1. Địa chỉ loigc và địa chỉ vật lý. Địa chỉ logic
• Còn gọi là địa chỉ tương đối
• Địa chỉ logic là địa chỉ được gán cho các lệnh và dữ liệu không phụ
thuộc vào vị trí cụ thể của tiến trình trong bộ nhớ
• CPU sử dụng địa chỉ logic để trỏ đến các phần khác nhau của lệnh, dữ liệu Địa chỉ vật lý
• Còn gọi là địa chỉ tuyệt đối
• Là địa chỉ của ngăn nhớ trong bộ nhớ •
• Để truy cập bộ nhớ, địa chỉ logic cần được biến đổi thành địa chỉ vật lý
Chuyển đổi địa chỉ logic sang địa chỉ vật lý
• Địa chỉ logic được ánh xạ sang địa vật lý nhờ khối ánh xạ bộ nhớ (MMU=Memory Management Unit)
2. Kỹ thuật phân chương cố định.
Bộ nhớ được chia thành n phần
• Mỗi phần gọi là một chương (partition)
• Mỗi chương có kích thước cố định ở những vị trí cố định
• Các chương không nhất thiết có kích thước bằng nhau
• Mỗi chương có thể dùng để nạp và chạy một tiến trình
Tại một thời điểm chỉ cho phép một tiến trình tồn tại
Các tiến trình nằm trong vùng nhớ cho tới khi kết thúc
Có thể chạy đồng thời nhiều tiến trình
Lựa chọn kích thước chương
Các chương có kích thước bằng nhau
Kích thước chương nhỏ : tiến trình có kích thước lớn hơn kích thước
chương sẽ không thể tải vào chương và chạy được
Kích thước của chương bằng kích thước của tiến trình lớn nhất
• Chương chứa được các tiến trình lớn
• Tiến trình có kích thước nhỏ phần bỏ trống lớn gây lãng
phí. Hiện tượng này gọi là phân mảnh trong (internal fragmentation)
Các chương có kích thước không bằng nhau
3. Kỹ thuật phân chương động.
Kích thước và số lượng chương đều không cố định
Bộ nhớ được phân phối tuỳ theo kích thước tiến trình lOMoARcPSD| 40651217
• Tiến trình được cấp một lượng bộ nhớ đúng bằng lượng bộ nhớ mà tiến trình cần
Tiến trình nào thực hiện xong thì bộ nhớ của nó sẽ được giải phóng, dành chỗ cho tiến trình khác
Tồn tại một tập hợp các vùng trống có kích thước khác nhau4. Các thuật toán
lựa chọn vùng trống: First fit, Best fit, Worst fit.
Vùng thích hợp đầu tiên (first fit)
• Vùng trống đầu tiên thỏa mãn
Vùng thích hợp nhất (best fit)
• Vùng trống vừa vặn nhất
Vùng không thích hợp nhất (worst fit)
• Vùng trống kích thước lớn nhất Ví dụ:
• Bộ nhớ có 4 vùng trống có kích thước lần lượt như sau 3MB, 8MB, 7MB và10MB
• Yêu cầu cấp phát vùng nhớ kích thước 6MB Cấp phát vùng nhớ nào? • First fit: 8MB
• Best fit: 7MB• Worst fit: 10MB
5. Kỹ thuật phân trang.
6. Kỹ thuật phân đoạn. CHƯƠNG 5: QUẢN LÝ VÀO/RA
1. Phân loại thiết bị vào/ra
Các thiết bị vào/ra được phân thành hai loại:
Các thiết bị khối (Block devices)
Các thiết bị kí tự (Character devices)
2. Bộ điều khiển thiết bị
Các đơn vị vào/ra thường bao gồm thành phần cơ khí và thành phần điện tử
• Thành phần cơ khí là bản thân thiết bị
• Thành phần điện tử được gọi là bộ điều khiển thiết bị (device
controller) hoặc bộ điều hợp (adapter), nó thường có dạng một vỉ mạch (card) có
thể cắm trên các khe mở rộng 9
Các vỉ mạch điều khiển thường có một cổng kết nối, từ đó cáp sẽ được gắn để nối tới thiết bị
Một bộ điều khiển có thể xử lý một hoặc nhiều thiết bị cùng loại
Người ta thường chuẩn hoá giao diện giữa bộ điều khiển và thiết bị, để tăng khả
năng tương thích giữa chúng
• Ví dụ: các công ty khác nhau có thẻ sản xuất các ổ đĩa có cùng giao diện tiêu chuẩn IDE hoặc SCSI lOMoARcPSD| 40651217
Nhiệm vụ của bộ điều khiển thiết bị là chuyển đổi dãy bít nối tiếp thành một
khốinhiều byte và thực hiện việc sửa lỗi nếu cần •
Đầu tiên, khối các byte này sẽ được lắp ghép lại từ nhiều bít, tại một
vùng đệm bên trong bộ điều khiển •
Sau khi phần checksum đã được kiểm tra, và không thấy có lỗi, nó có
thể được sao chép vào bộ nhớ chính
3. Các phương thức giao tiếp với controller
Mỗi bộ điều khiển thiết bị (controller) có một vài thanh ghi dùng để liên lạc với CPU
• Bằng cách ghi dữ liệu vào các thanh ghi này, hệ điều hành có
thể ra lệnh chothiết bị gửi/nhận dữ liệu, bật/tắt thiết bị, …
• Nhờ đọc dữ liệu từ các thanh ghi này, hệ điều hành có thể biết
được trạng thái của thiết bị, xem nó có sẵn sàng để nhận lệnh mới hay không
Làm cách nào mà CPU có thể liên lạc với các thanh ghi điều khiển đó?
Cách 1: Dùng địa chỉ cổng
Cách 2: Ánh xạ thanh ghi tới bộ nhớ
4. Mục đích của phần mềm vào/ra
Đảm bảo Độc lập thiết bị: Viết chương trình vào/ra có thể truy cập bất cứ
thiết bị vào/ra nào mà không cần phải biết trước thiết bị.
Đặt tên đồng nhất: tất cả các tệp và thiết bị chung nhau quy tắc đặt tên
không phụ thuộc vào loại thiết bị và được xác định bởi đường dẫn.
Xử lý lỗi: nên được thực thi ở phần cứng hoặc tại trình điều khiển thiết bị.
Lưu đệm (buffer): tăng hiệu năng vào/ra.
5. Nguyên lý của phần mềm vào/ra
- Vào/ra bằng chương trình - Vào/ra bằng ngắt - Vào/ra bằng DMA
6. Các lớp phần mềm vào/ra lOMoARcPSD| 40651217 lOMoARcPSD| 40651217 lOMoARcPSD| 40651217 lOMoARcPSD| 40651217
7. Quản lý màn hình
Thông tin hiển thị trên màn hình được điều khiển bởi vỉ mạch màn hình (Video Adapter)
Video Adapter có hai thành phần chính:
+ Bộ nhớ hiển thị (Display Memory)
+ Mạch điều khiển màn hình (Video controller)
Bộ nhớ hiển thị (Display Memory)
Đây là nơi chứa những thông tin sẽ được hiện ra trên màn hình.
CPU có thể liên lạc với Display Memory thông qua hệ thống bus địa chỉ, do
đó có thể tác động tới vùng nhớ này bằng các lệnh truy nhập bộ nhớ thông thường
Mạch điều khiển màn hình (Video controller)
Đây là trung tâm điều khiển quá trình hiện thông tin ra màn hình, nó có chứa một
số thanh ghi, mỗi thanh ghi ứng với một địa chỉ cổng
• Các địa chỉ cổng thường nằm trong dải từ 3B0h đến 3DFh
Video controller có 2 chế độ hoạt động: Chế độ văn bản và chế độ đồ họa lOMoARcPSD| 40651217
8. Quản lý đĩa từ Cấu trúc đĩa từ Đọc ghi đĩa từ Định dạng đĩa từ
Các thuật toán lập lịch cánh tay đĩa CHƯƠNG 6: HỆ THỐNG FILE 1. Khái niệm file
File là đơn vị logic của thông tin được tạo bởi tiến trình (process). Mỗi File có
thể được coi như một loại không gian địa chỉ. Thông tin lưu trữ trong file được
lưu lại và không bị ảnh hưởng bởi quá trình tạo và kết thúc tiến trình. File được
quản lý bởi hệ thống file (File System) của hệ điều hành 2. Các kiểu file
File thông thường là các file chứa thông tin người dùng.
File chứa thông tin về thư mục, được dùng cho mục đích quản lý file
File đặc biệt ký tự: liên quan tới quá trình vào/ra và sử dụng để mô hình hóa các
thiết bị vào ra nối tiếp như thiết bị cuối, máy in và và thiết bị mạng. File đặc
biệt khối: sử dụng cho mô hình hóa các ổ đĩa. 3. Cấu trúc file
File có thể cấu trúc theo một số cách sau: chuỗi byte không có cấu trúc, một chuỗi
các bản ghi độ dài cố định, cây các bản ghi kích thước khác nhau. lOMoARcPSD| 40651217
4. Các thuộc tính của file
5. Các thao tác với file
6. Khái niệm thư mục
Để quản lý các file trên mỗi đĩa lôgic, thông tin về file được lưu trong hệ thống thư mục.
Thư mục (directory hay folder) được tạo thành từ các khoản mục (entry), mỗi
khoản mục ứng với một file. Khoản mục chứa các thông tin về file như tên file,
kích thước, vị trí, kiểu file và các thuộc tính khác hoặc chứa con trỏ tới nơi lưu trữ những thông tin này. lOMoARcPSD| 40651217
7. Các cách lưu thông tin về file trên thư mục
C1: Toàn bộ thuộc tính của file được lưu trong thư mục, bản thân file chỉ
chứa dữ liệu. Ví dụ: MS-DOS •
C2: Thư mục chỉ lưu thông tin tối thiểu cần thiết cho việc tìm vị trí của file
trên đĩa. Các thuộc tính file còn lại được lưu trữ luôn cùng với dữ liệu của file. Ví
dụ: thư mục sử dụng trong hệ thống file EXT2 và EXT3 của Linux 8. Hệ thống
thư mục đơn cấp và đa cấp
lOMoARcPSD| 40651217
9. Đường dẫn tuyệt đối và đường dẫn tương đối
10.Đơn vị nhỏ nhất để cấp phát đĩa
Block là đơn vị nhỏ nhất để cấp phát đĩa
11. Một số hình thức cấp phát khối (block) đĩa cho file • Cấp phát liên tục
• Cấp phát bằng danh sách liên kết
• Cấp phát bằng danh sách liên kết sử dụng bảng nhớ
• Cấp phát sử dụng nút chỉ số (I-node)
12.Tổ chức thực hiện thư mục
Trong bất cứ hệ thống nào, chức năng chính của hệ thống thư mục là ánh xạ
tên file sang các thông tin cần thiết để định vị dữ liệu của file trên đĩa .
Hệ điều hành sẽ sử dụng đường dẫn mà người dùng cung cấp để xác định
entry (khoản mục) của bảng thư mục. Entry thư mục sẽ cung cấp thông tin (với cấp phát
liên tục là địa chỉ của toàn bộ file, với hệ thống danh sách liên kết là số của khối đầu tiên
hoặc số hiệu của nút i-node) để tìm ra các khối đĩa. lOMoARcPSD| 40651217 PHẦN II. BÀI TẬP
- Các thuật toán điều độ (FCFS- First-Come First-Served, RR- Round-Robin,
SJF- Shortest Job First và SRTN- Shortest Remaining Time Next): vẽ sơ đồ mô tả
quá trình điều độ CPU cho các tiến trình, tính thời gian chờ đợi trung bình.
- Mô hình hóa sự bế tắc bằng sơ đồ phân bố tài nguyên.
- Ánh xạ địa chỉ logic sang địa chỉ vật lý trong kỹ thuật phân trang và phân đoạn.
- Một số thuật toán lập lịch cánh tay đĩa (FCFS-First Come First Served,
SSFShortest Seek First, Thang máy-Elevator): Tính tổng thời gian tìm kiếm
1. Xét tập hợp 5 tiến trình với thời gian sử dụng CPU và thời gian xuất hiện trong hàngđợi như bảng sau:
a) Vẽ sơ đồ mô tả quá trình điều độ CPU cho 5 tiến trình trên theo các thuật
toánFCFS, RR (q=2), SJF và SRTN. Tiến trình
Thời điểm xuất hiện Thời gian sử dụng CPU P 1 0 10 P 2 1 1 P 3 2.5 2 P 4 3 1 P 5 4.5 5
b) Tính thời gian chờ đợi trung bình của mỗi tiến trình trong các trường hợp sử dụngFCFS, RR, SJF và SRTN.
2. Xét hệ thống gồm có năm tiến trình (A, B, C, D, E), và có năm tài nguyên (R, S, T,
U,V). Trạng thái của các tài nguyên và tiến trình được trình bày như sau:
- Tiến trình A đang nắm tài nguyên R và muốn có S và T,
- Tiến trình B không nắm tài nguyên nào và đang muốn có S,
- Tiến trình C đang nắm tài nguyên V có muốn có T và U,
- Tiến trình D đang sở hữu U và muốn có V,
- Tiến trình E không nắm tài nguyên nào và muốn có U. a) Vẽ sơ đồ phân phối tài
nguyên của hệ thống trên.
b) Hệ thống có bị bế tắc không? Nếu có bế tắc thì sẽ bao gồm những tiến trình nào?
3. Giả sử không gian nhớ logic của tiến trình gồm 256 trang, mỗi trang có kích
thước512B. Bộ nhớ vật lý gồm 1024 khung. Hãy cho biết địa chỉ logic dài bao nhiêu
bit, trong đó phần số thứ tự trang và phần độ dịch trong trang có độ dài lần lượt là bao nhiêu lOMoARcPSD| 40651217
bit. Hãy cho biết địa chỉ vật lý dài bao nhiêu bit. (Tính với hai trường hợp: kích thước
ngăn nhớ bằng 8 bit và 16 bit)
4. Một tiến trình được nạp vào bộ nhớ theo mô hình phân trang với kích thước trang là
2048B và kích thước ngăn nhớ là 8 bit. Bảng trang như sau: 0 2 1 5 2 8 3 9
Hãy chuyển các địa chỉ logic sau thành địa chỉ vật lý: a) 725 b) 1037
5. Một tiến trình được nạp vào bộ nhớ theo mô hình phân trang với kích thước trang là
2048B và kích thước ngăn nhớ là 16 bit. Bảng trang như sau: 0 3 1 4 2 6 3 8
Hãy chuyển các địa chỉ logic sau thành địa chỉ vật lý: a) 725 b) 1037
6. Xét bảng phân đoạn sau đây Số thứ tự của Vị trí cơ sở Chiều dài của đoạn của đoạn đoạn 0 219 512 1 2300 32 2 90 128 3 1327 1024 4 1952 96
Cho biết địa chỉ vật lý tương ứng với các địa chỉ logic sau: a) 0, 430 b) 1, 10 c) 2, 500 d) 3, 400 e) 4, 112
7. Các yêu cầu tới ổ đĩa lần lượt cho các cylinders 10, 22, 20, 2, 40, 6 và 38. Thời
giantìm kiếm là 6ms/cylinder. Giả sử cánh tay đang ở cylinder 20. Tính thời gian tìm
kiếm cần thiết khi sử dụng các thuật toán: lOMoARcPSD| 40651217 a. FCFS b. SSF
c. Elevator algorithm (khởi tạo bit chỉ hướng UP)
d. Elevator algorithm (khởi tạo bit chỉ hướng DOWN)