Đề cương ôn tập môn Nguyên lý hệ điều hành | Trường Cao đẳng Kỹ thuật Đồng Nai

Đề cương ôn tập môn Nguyên lý hệ điều hành | Trường Cao đẳng Kỹ thuật Đồng Nai. Tài liệu được biên soạn dưới dạng file PDF gồm 20 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

lOMoARcPSD|41967345
ĐỀ CƯƠNG ÔN TẬP N
NGUYÊN LÝ HỆ ĐIỀU HÀNH
Thời gian: 30 phút (Trước khi hỏi vấn đáp)
=&=
A - Lý thuyết:
Câu 1: Một hệ thống máy tính bao gồm những thành phần gì? Trình bày vắn tắt về mỗi thành
phần và vẽ sơ đồ phân lớp các thành phần đó.
Một hệ thống máy tính thường được chia làm bốn thành phần chính:
- Người dùng
- Các chương trình hệ thống và ứng dụng
- Hệ điều hành - Phần cứng
Trình bày vắn tắt về mỗi thành phần và vẽ sơ đồ phân lớp các thành phần đó.
Người dùng: con người, các máy móc, các máy tính khác Các chương
trình Ht và ứng dụng:
- Các chương trình dịch
- Hệ thống cơ sở dữ liệu
- Các trò chơi
- Các chương trình thương mại
Các chương trình này sử dụng tài nguyên của hệ thống máy tính để giải quyết các
yêu cầu của người dùng
Phần cứng: CPU, Bộ nhớ trong, bộ nhớ ngoài, thiết bị ngoại vi( chuột bàn phím,
……)
Hệ điều hành: là một chương trình trung gian giữa NSD và máy tính, có chức năng
1. Quản lý phần cứng máy tính ( các tài nguyên)
- Quản lí tất cả các tài nguyên và phân phối chúng cho các tiền trình
- Giaỉ quyết các yêu cầu tranh chấp để sử dụng tài nguyên hiệu quả và hợp lí
2. Hệ điều hành cung cấp một môi trường đẻ người sử dụng có thể thi hành các
chương trình. Nó làm cho máy tính dễ sử dụng hơn, thuận lợi hơn và hiệu quả
hơn.
Câu 2: Trình bày khái niệm về hệ điều hành, phân biệt hệ điều hành đơn nhiệm và đa nhiệm, cho
ví dụ minh họa về mỗi loại trong thực tế.
Hệ điều hành: là một chương trình trung gian giữa NSD và máy tính, có chức năng
lOMoARcPSD|41967345
3. Quản lý phần cứng máy tính ( các tài nguyên)
- Quản lí tất cả các tài nguyên và phân phối chúng cho các tiền trình
- Giaỉ quyết các yêu cầu tranh chấp để sử dụng tài nguyên hiệu quả và hợp lí
4. Hệ điều hành cung cấp một môi trường đẻ người sử dụng có thể thi hành các
chương trình. Nó làm cho máy tính dễ sử dụng hơn, thuận lợi hơn và hiệu quả
hơn.
Phân biệt hệ điều hành đơn nhiệm và đa nhiệm
Hệ điều hành đơn nhiệm (batch processing)
- Các chương trình được đưa vào hành đợi
- Máy tính thực hiện tuần tự các chương trình của người sử dụng
- Chương trình không có giao tiếp với người sử dụng
Tại mỗi thời điểm chỉ có một công việc được giải quyết, công việc này xong mới chuyển
sang công việc khác. HDH luôn trương trú trong bộ nhớ
Theo kiểu này, CPU thường nhàn rỗi do tốc độ làm việc của các thiết bị I/O chậm hơn rất
nhiều lần so với CPU
Hệ điều hành đa nhiệm (Multiprogramming)
- Các chuognư trình được xếp hành
- Chương trình một được thực hiện và chiếm giữa CPU cho đến khi có yêu cầu
I/O hoặc kết thúc.
- Khi chương trình có yêu cầu I/O hoặc kết thúc, chương trình khác sẽ được thực
hiện.
- Tận dụng CPU tốt hơn đơn nhiệm
Câu 3: Hệ điều hành có những thành phần nào? Nhiệm vụ của các thành phần đó?
Các thành phần của hệ điều hành
- Quản lý tiến trình: Tiến trình là một chương trình đang thực thi, khi thực
hiện, tiến trình đòi hỏi một số tài nguyên HT nhất định như: CPU, bộ nhớ, các
file, dữ liệu khởi tạo, các thiết bị vào ra,….
o Các tài nguyên được cấp phát cho tiến trình vào những thời điểm
cầnthiết và được thu hồi khi tiến trình kết thúc.
o Khi tiến trình hoạt động trong HT có thể phát sinh các tiến trình con
o Một hệ thống có thể có nhiều tiến trình cùng một lúc, trong đó có một số
tiến trình là của hệ điều hành, một số tiến trình là của người sử dụng, các
tiến trình này có thể diễn ra đồng thời.
lOMoARcPSD|41967345
- Quản lí bộ nhớ trong
o Bộ nhớ trong là thiết bị lưu trữ mà CPU có thể truy cập trực tiếp.
o Một chương trình sau khi biên dịch, nó có các địa chỉ tương đối (được
đánh số từ đầu CT cho tới kết thúc CT).
o Khi thực hiện, CT được nạp vào bộ nhớ trong, địa chỉ tương đối được
chuyển đổi thành địa chỉ vật lí (địa chỉ tuyệt đối) để CPU có thể truy
xuất trong quá trình xử lí (sự chuyển đổi này gọi là quá trình sinh địa
chỉ).
o Sau khi chương trình hoạt động xong, các địa chỉ đã cấp phát phải được
giải phóng (thu hồi).
o Tại một thời điểm có thể có nhiều tiến trình được thi hành, chúng tồn
tại trong bộ nhớ trong.
- Quản lí bộ nhớ ngoài o Bộ nhớ trong là bộ nhớ làm việc. Chương trình, dữ
liệu sẽ mất khi máy tính không hoạt động.
o Hệ thống máy tính ngày nay cung cấp hệ thống lưu trữ phụ (bộ nhớ
ngoài). Đa số các máy tính đều dùng đĩa để lưu trữ cả chương trình và
dữ liệu.
o Hầu như tất cả chương trình đều được lưu trữ trên bộ nhớ ngoài cho tới
khi nó được thực hiện thì được nạp vào trong bộ nhớ trong.
o Hệ thống cũng sử dụng bộ nhớ ngoài để chứa dữ liệu và kết quả xử lý.
Vì vậy, quản lý bộ nhớ ngoài là một thành phần hệ thống rất quan trọng
của hệ điều hành.
- Quản lí vào/ra
Hệ điều hành có một thành phần điều khiển thiết bị (device drivers),
bộ phận này phối hợp cùng CPU để quản lý sự hoạt động và trao đổi
thông tin giữa hệ thống với các thiết bị I/O.
HĐH điều khiển hoạt động của các thiết bị vào/ra bằng cách gửi các
lệnh điều khiển tới các bộ điều khiển và tiếp nhận/xử lí các tín hiệu
ngắt, xử lí lỗi,...
- Quản lí file o Hệ thống quản lý tập tin là thành phần quan trọng nhất trong hệ
điều hành.
o + Máy tính có thể lưu trữ thông tin trong nhiều dạng thiết bị vật lý khác
nhau: Băng từ, đĩa từ, đĩa quang,... Mỗi dạng có những đặc thù riêng về
mặt tổ chức vật lý. Mỗi thiết bị có trình điều khiển (driver) và có những
tính chất riêng. Những tính chất này là tốc độ, khả năng lưu trữ, tốc đ
truyền dữ liệu và cách truy xuất.
lOMoARcPSD|41967345
o Để khắc phục điều này hệ điều hành đưa ra khái niệm đồng nhất cho tất
cả các thiết bị lưu trữ vật lý, đó là tập tin (file).
o + Tập tin là đơn vị lưu trữ cơ bản nhất, mỗi tập tin có một tên riêng. Hệ
điều hành phải thiết lập mối quan hệ tương ứng giữa tên tập tin và thiết
bị lưu trữ chứa tập tin. o + Khi cần truy xuất đến thông tin đang lưu trữ
trên bất kỳ thiết bị lưu trữ nào, người sử dụng chỉ cần truy xuất đến tập
tin tương ứng thông qua tên của nó, tất cả mọi việc còn lại đều do hệ
điều hành thực hiện.
o HĐH tổ chức thông tin lưu trữ trên bộ nhớ ngoài theo đơn vị file, các
file lại thường được tổ chức thành các thư mục.
- Bảo vệ (Protection) o Khi HT cho phép nhiều user và nhiều tiến trình đồng
thời. Cần phải có cơ chế bảo vệ để điều khiển việc truy cập của các tiến trình
hay các người dùng tới các tài nguyên hệ thống.
o HĐH cung cấp cơ chế để đảm bảo rằng tập tin, bộ nhớ, CPU, và những
tài nguyên khác chỉ được truy xuất bởi những tiến trình được phân
quyền.
- An toàn (Security) o Ngăn cản mọi sự tấn công hệ thống từ bên trong và
bên ngoài hệ thống. Như là sự phá hoại của các virus, sự truy cập bất hợp
pháp, trộm cắp thông tin,...
- Quản lí tài nguyên mạng o HĐH phải hỗ trợ khả năng quản lí, chia sẻ tài
nguyên, truyền thông trên mạng thông qua các thành phần điều khiển giao
tiếp mạng.
- Thông dịch
o Đây là chức năng rất quan trọng của HĐH, đóng vai trò tạo giao diện
giữa máy tính và người dùng. Nó giúp máy tính hiểu và xử lí các chỉ thị
hay các lệnh của người dùng.
-
Câu 4: Phân biệt hai khái niệm tiến trình và chương trình, trình bày các trạng thái cơ bản của một
tiến trình, vẽ lưu đồ trạng thái tiến trình.
Có hai đặc điểm cho phép phân biệt tiến trình với chương trình. Thứ nhất, chương trình là
một thực thể tĩnh, không thay đổi theo thời gian, trong khi tiến trình là thực thể
động. Chương trình là tập hợp các lệnh và dữ liệu chứa trong file gọi là file
chương trình hoặc file thực hiện được (executable), ví dụ file có đuôi exe của
Windows. Các lệnh này không thay đổi theo thời gian. Trong khi đó, tiến trình là
thực thể động bao gồm các lệnh, dữ liệu, ngăn xếp, con trỏ lệnh chỉ tới lệnh đang
được thực hiện. 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, ví dụ con trỏ lệnh luôn luôn thay đổi tùy thuộc vào lệnh thực hiện là lệnh
lOMoARcPSD|41967345
nào. Ngay cả trong trường hợp hai tiến trình được sinh ra từ cùng một chương
trình, mỗi tiến trình sẽ có con trỏ lệnh, dữ liệu, ngăn xếp khác với tiến trình kia.
Thứ hai, chương trình không sở hữu tài nguyên cụ thể, trong khi mỗi tiến trình
được cấp một số tài nguyên như bộ nhớ để chứa tiến trình, các cổng và thiết bị
vào/ra, các file mở, thời gian CPU để thực hiện lệnh. Như vậy, tiến trình là một
khái niệm liên quan chặt chẽ tới khái niệm máy ảo. Có thể coi mỗi tiến trình được
cấp một máy tính ảo và thực hiện trên máy tính ảo đó.
Các trạng thái cơ bản của một tiến trình:
Tại mỗi thời điểm một tiến trình có thể ở một trong các trạng thái
sau:
+ Mới (new): tiến trình đang được tạo lập.
+ Sẵn sàng (ready): tiến trình chờ được cấp phát CPU để xử lí.
Đang thực hiện (running): các chỉ thị đang được thực thi.
+ Đợi (waiting): tiến trình tạm ngưng vì thiếu tài nguyên hay chờ một sự kiện nào
đó xẩy ra (I/O hay nhận tín hiệu).
+ Kết thúc (terminated): tiến trình hoàn thành việc thực thi.
Đọc thêm:
- Trạng thái mới khởi tạo: tiến trình đang được tạo ra.
Hệ điều hành đã tạo ra các thông tin về tiến trình tuy
nhiên tiến trình chưa được thêm vào danh sách những
tiến trình được phép thực hiện. Thông thường, tiến
trình ở trạng thái này chưa nằm trong bộ nhớ.
- Trạng thái sẵn sàng: tiến trình chờ được cấp CPU để
thực hiện lệnh của mình.
- Trạng thái chạy: lệnh của tiến trình được CPU thực
hiện. Với những máy tính có một CPU và CPU có một
lõi, tại mỗi thời điểm chỉ có một tiến trình nằm trong
trạng thái chạy.
- Trạng thái chờ đợi: tiến trình chờ đợi một sự kiện gì
đó xảy ra, ví dụ chờ tín hiệu từ tiến trình khác hoặc chờ
kết thúc quá trình vào/ra. Trạng thái chờ đợi còn được
gọi là trạng thái bị phong tỏa (blocked).
lOMoARcPSD|41967345
- 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 nhưng vẫn
chưa bị xóa. Tiến trình thuộc về trạng thái này sau khi
đã thực hiện xong hoặc bị tiến trình khác kết thúc.
Câu 5: Mô tả hoạt động của tiến trình 4 trạng thái và 5 trạng thái .So sánh ưu nhược điểm của
từng loại. (Vẽ sơ đồ chuyển trạng thái của tiến trình và giải thích).
https://hedieuhanh.forumvi.com/t4176-topic
poe.com
Câu 6: Điều độ tiến trình qua đoạn găng HĐH sử dụng những giải pháp phần cứng nào? Ưu
nhược điểm của các giải pháp đó
- Giaỉ pháp dùng cặp chỉ thị CLI và STI o Một số CPU cung cấp cặp chỉ thị
CLI ( Clean Interrupt) và STI (Setting Interrupt) để người lập trình thực
hiện thao tác mở ngắt và cấm ngắt của hệ thống
o Dùng cặp chỉ thị này như sau:
Trước khi vào đoạn găng tiến trình thực hiện chỉ thị CLI, để cấm
các ngắt trong hệ thống, khi đó ngắt đồng hồ không thể phát sinh,
nghĩa là không có một tiến trình nào khác có thể phát sinh, nhờ
đó mà tiền trình trong đoạn găng toàn quyền sử dụng tài nguyên
găng cho đến hết thời gian xử lý của nó
Khi kết thúc truy xuất tài nguyên gagnư, trước khi ra khỏi đoạn
găng, tiến trình thực hiện chỉ thị STI để cho phép ngắt trở lại. Khi
đó các tiến trình khác có thể vào đoạn găng.
Uư điểm: Đơn giản và dễ cài đặt
lOMoARcPSD|41967345
Nhược điểm: cần phải có sự hỗ trợ của CPU và dễ gây ra hiện
tượng troe toàn bộ hệ thống(1), giải pháp y không thể sử dụng
trên các hệ thống đa xử lý(2).
Đọc thêm: (1)Vì Khi tiến trình trong đoạn găng không có khả năng
ra khỏi đoạn găng nên nó không thể thực hiện chỉ thị STI để mở ngắt
cho hệ thống, nên không thể có tiến trình nào khác vào miên găng
được, hệ thống bị treo hoàn toàn.(2) Vì CLI chỉ cấm ngắt trên CPU
hiện tại chứ không thể cấm ngắt của các CPU khác. Tức là, sau khi
đã cấm ngắt, tiến trình trong đoạn gagnư vẫn có thể bị tranh chấp tài
nguyên găng bởi các tiền trình trên các CPU khác trong hệ thống
o Phương pháp dùng chỉ thị TSL ( Test and set)
Một số CPU cung cấp một chỉ thị đặc biệt cho phép kiểm tra và
cập nhật nội dung một vùng nhớ trong một thao tác không thể
phân chia được, gọi là Test and Set (TSL).
Để tổ chức điều độ tiện trình với TSL chương trình phải sử dụng
biến chia sẻ Lock, khởi gán bằng 0. Theo đó, mỗi tiến trình trước
khi vào đoạn găng phải kiểm tra giá trị của LOCK:
Nếu LOcK = 0 thì vào đoạn găng
Nếu LOcK =1 thì phải đợi cho đến khi nào LOcK = 0
Trước khi muốn vào đoạn găng thì phải gọi hàm
TestAndSetLock để kiểm tra giá trị trả về
Nếu bằng false, là đang có một tiến trình trong đoạn găng,
thì phải chờ đến khi nào hàm trả về True
Nếu bằng True thì tiến trình vào đoạn găng để sử dụng tài
nguyên găng. Khi kết thúc sử dụng tài nguyên găng thì
tiến trình phải đặt lại giá trị của Lock = 0 để các tiến trình
khác có thể vào đoạn găng.
Uư điểm : đơn giản, dễ cài đặt
Nhược điểm : cần phải có sự hỗ trợ của vi xử lý, gây lãng
phí thời gian xử lý của CPU do tồn tại hiện tượng chờ đợi
tích cực. (Hiện tượng chở đợi tích cực là hiện tượng CPU
chỉ chờ một sự kiện nào đó xảy ra mà không làm gì cả.)
Câu 7: Có những loại bộ lập lịch tiến trình nào? Trình bày chức
năng cơ bản của mỗi loại.
Có 6 bộ lập lịch chính đó là: FCFS, SJF, SRT, RR, MLQ, điều phối lập lịch với độ ưu
tiên
lOMoARcPSD|41967345
- FCFS tiến trình yêu cầu CPU trước thì được cấp phát trước. Hàng đợi được tổ
chức theo kiểu FIFO o Đọc thêm : Ưu điểm: Giải thuật FCFS đơn giản, dễ
viết, dễ hiểu, chi phí tổ chức thực hiện thấp vì không phải thay đổi ưu tiên thứ
tự phục vụ. o Nhược điểm:
o + Trong trường hợp tiến trình đến trước có chu kỳ CPU dài thì các tiến
trình sau nó sẽ phải chờ lâu. Điều đó có nghĩa thời gian chờ đợi trung
bình sẽ tăng.
o Khi CPU đã được phân bổ cho một tiến trình, tiến trình đó sẽ giữ CPU
cho đến khi giải phóng CPU (kết thúc hoặc yêu cầu I / 0). o + Do đó,
FCFS gây rắc rối đối với các hệ thống chia sẻ thời gian, trong đó mỗi
người dùng có được một phần CPU trong khoảng thời gian đều đặn. Sẽ
là thảm họa nếu cho phép một tiến trình giữ CPU trong thời gian dài. o
- Lập lịch với độ ưu tiên: mỗi tiến trình được gắn cho một độ ưu tiên tương ứng,
tiến trình có độ ưu tiên cao sẽ được chọn để cấp phát CPU trước o Gải thuật
lập trình với độ ưu tiên có thể theo nguyên tắc trung dụng hoặc không.
o Giaỉ thuật lập lịch với độ ưu tiên trưng dụng sẽ thu hồi CPU từ tiến
trình hiện hành để cấp phát cho tiến trình mới nếu độ ưu tiên của tiến
trình này cao hơn tiến trình hiện hành.
- Giaỉ thuật SJF: Trong giải thuật này, ưu tiên thực hiện tiến trình dựa vào giờ
CPU (burst Time) của mỗi tiến trình. Tiến trình nào có giờ CPU ngắn nhất
được cấp phát CPU trước.
- Giaỉ thuật SRT là giải thuật SJF trưng dụng. Khi một tiến trình mới đến hàng
đợi sẵn sàng trong khi một tiến trình khác đang thực thi, nếu tiến trình mới đến
có giờ CPU ngắn hơn thì thời gian giờ CPU còn lại của tiến trình đang thực thi,
CPU của tiến trình đang thi hành sẽ được trung dụng để cấp cho tiến trình mới
vào.
- Giaỉ thuật RR: mỗi tiến trình được phân phối một lượng thời gian (time
quantum) để thực hiện. Sau khỏi TG đó nếu tiến trình chưa kết thức hoặc
không rơi vào trạng thái đợi thí nó được chuyển về cuối hàng đợi sẵn sàng.
o Hàng đợi sẵn sàng theo kiểu vòng tròn. Bộ lập lịch CPU phân bổ CPU
cho mỗi tiến trình trong khoảng thời gian lần lượng tử. Các tiến trình
đều có độ ưu tiên phục vụ như nhau.
- Giaỉ thuật MLQ: PP này chia hàng đợi sẵn sàng thành nhiều hàng đợi riêng lẻ,
mỗi tiến trình được gắn cố dịnh với 1 hàng đợi. Mỗi hàng đợi có một giải thuật
lập lịch riêng nó.
lOMoARcPSD|41967345
o Các hàng đợi phía trên có độ ưu tiên cao hơn phía dưới nếu một tiến
trình soạn thảo giao tiếp được đưa vào hàng đợi sẵn sàng trong khi một
tiến trình lô dang chạy thì tiến trình lô sẽ bị trưng dụng CPU.
o Đọc thêm: Trong thực tế, PP tổ chức hàng đợi theo 2 mức được dùng
khá phổ biến:
o 1. Hàng đợi cho các tiến trình hướng I/O (độ ưu tiên cao hơn). o 2.
Hàng đợi cho các tiến trình hướng CPU (độ ưu tiên thấp hơn). o
Câu 8: Trình bày các khái niệm giờ CPU, lập lịch CPU. Các tiêu chuẩn đánh giá giải thuật lập
lịch CPU?
1. Gi CPU (CPU Time):
Gi CPU (CPU time) là thi gian mà mt tiến trình đã thực thi trên trng thái CPU. Nó
được đo bằng đơn vị thời gian như giây hoặc miligiây. Khi mt tiến trình được thc
thi, nó s dng và s hu gi CPU để thc hin các câu lnh ca nó. Thi gian này
bao gm c thi gian tiến trình được thc thi trc tiếp (thi gian CPU thc tế)
thi gian ch đợi trong hàng đợi (thi gian CPU ch đợi).
Gi CPU quan trng trong việc đo lường hiu sut ca mt tiến trình hoc h thng.
Nó có th đưc s dụng để tính toán t l s dng CPU, hiu sut tiến trình và thng
kê h thng.
2. Lp lch CPU (CPU Scheduling):
Lp lch CPU (CPU scheduling) là quá trình quyết định xem tiến trình nào s đưc
thc thi trên CPU và trong thi gian bao lâu. Khi có nhiu tiến trình đang chờ thc
thi, lp lch CPU giúp quyết định th t thc thi ca các tiến trình đó.
Mc tiêu ca lp lch CPU là tối ưu hóa việc s dụng CPU, đảm bo rng các tiến trình
đưc thc thi mt cách công bng và hiu qu. Các thut toán lp lch CPU có th
đưa ra quyết định da trên các yếu t như độ ưu tiên của tiến trình, thi gian ch
đợi, thi gian thc thi, hoc các tiêu chí khác.
- Các tiêu chuẩn đánh giá giải thuật lập lịch CPU
- Lượng tiến trình được thực hiện xong. Tiêu chí này được tính bằng số lượng
tiến trình thực hiện xong trong một đơn vị thời gian. Trên thực tế, thời gian
thực hiện tiến trình rất khác nhau, có tiến trình cần nhiều thời gian, có tiến
trình ít hơn. Tuy nhiên, tiêu chí này mang tính trung bình và là một độ đo tính
hiệu quả của hệ thống.
- Hiệu suất sử dụng CPU. Một trong những yêu cầu sử dụng hiệu quả hệ thống
là cố gắng để CPU càng ít phải nghỉ càng tốt. Tỷ lệ phần trăm thời gian CPU
trong trạng thái hoạt động thay đổi tùy hệ thống cụ thể.
lOMoARcPSD|41967345
- Thời gian vòng đời trung bình tiến trình. Được tính bằng thời gian từ lúc có
yêu cầu khởi tạo tiến trình tới khi tiến trình kết thúc. Thời gian này bằng tổng
thời gian tải tiến trình, thời gian chờ đợi, chạy, vào/ra dữ liệu.
- Thời gian chờ đợi. Tính bằng tổng thời gian tiến trình nằm trong trạng thái
sẵn sàng và chờ được cấp CPU. Lưu ý rằng, thời gian chờ đợi lớn hay nhỏ chịu
ảnh hưởng trực tiếp của thuật toán điều độ CPU.
- Thời gian đáp ứng. Đây là tiêu chí hướng tới người dùng và thường được sử
dụng trong hệ thống tương tác trực tiếp. Đối với hệ thống như vậy, tiêu chí
quan trọng là đảm bảo thời gian từ lúc nhận được yêu cầu cho tới khi hệ thống
có phản ứng hay đáp ứng đầu tiên không quá lâu.
Trong số các tiêu chí nói trên, hai tiêu chí đầu tiên có giá trị càng lớn càng tốt,
trong khi đó ba tiêu chí cuối là thời gian chờ đợi và thời gian đáp ứng càng nhỏ
càng tốt. Riêng đối với thời gian đáp ứng, bên cạnh việc đảm bảo giá trị đáp ứng
trung bình nhỏ cũng cần đảm bảo để không tiến trình nào có thời gian đáp ứng quá
u.
Câu 9: Khái niệm không gian địa chỉ lôgic và không gian địa chỉ vật lý? Cách ánh xạ một địa chỉ
lôgic tới một địa chỉ vật lý (có vẽ sơ đồ minh họa)?
Địa chỉ lôgic (địa chỉ tương đối): Là địa chỉ được tạo ra khi biên dịch chương trình
nguồn.
Địa chỉ vật lí (địa chỉ tuyệt đối): Là địa chỉ xác định trong bộ nhớ vật lí.
Mỗi địa chỉ lôgic được ánh xạ tới một địa chỉ vật lí. Tập các địa chỉ lôgic được gọi
là không gian địa chỉ lôgic, tập tất cả các địa chỉ vật lí tương ứng được gọi là
không gian địa chỉ vật lí.
Cách ánh xạ một địa chỉ logic tới một địa chỉ vật lý: Ánh x địa ch logic (logical
address) tới địa ch vt lý (physical address) là quá trình chuyển đổi một địa
ch đưc s dng bi mt tiến trình trong không gian địa ch ca thành
một địa ch tương ứng
trên b nh vật lý. Quá trình này được thc hin bi b điu khin b nh
(Memory Management Unit - MMU) trong h thng máy tính.
lOMoARcPSD|41967345
Câu 10: a) Trình bày về cấp phát bộ nhớ liên tục với các phân khu cố định và khái niệm phân
mảnh trong.
Phân chương cố định là phương pháp đơn giản nhất để phân chia bộ nhớ cho các tiến
trình. Bộ nhớ được phân thành những chương có kích thước cố định ở những vị trí cố
định. Mỗi chương chứa được đúng một tiến trình do đó số tiến trình tối đa có thể chứa
đồng thời trong bộ nhớ sẽ bị giới hạn bởi số lượng chương. Khi được tải vào, tiến trình
được cấp phát một chương. Sau khi tiến trình kết thúc, hệ điều hành giải phóng chương
và chương có thể được cấp phát tiếp cho tiến trình mới.
Khái niệm phân mảnh trong : Kích thước của các mảnh có thể bằng nhau hoặc không
bằng nhau. Việc chọn các mảnh có kích thước bằng nhau mặc dù đơn giản hơn một chút
song rất không linh hoạt. Khi tiến trình có kích thước lớn hơn kích thước mảnh sẽ không
thể tải vào mảnh và chạy được. Muốn cho mảnh chứa được các tiến trình lớn, ta phải
tăng kích thước của mảnh bằng kích thước của tiến trình lớn nhất. Do mỗi tiến trình
chiếm cả một chương, các tiến trình nhỏ cũng được cung cấp và chiếm cả chương như
một tiến trình lớn. Phần bộ nhớ đáng kể còn lại của mảnh sẽ bị bỏ trống gây lãng phí bộ
nhớ. Hiện tương này gọi là phân mảnh trong.
b) Trong phương pháp cấp phát bộ nhớ liên tục với các phân khu cố định có những cách tổ
chức hàng đợi nào? Trình bày nguyên tắc tổ chức và hoạt động của mỗi cách.
Có 2 cách tổ chức hàng đợi:
1. Tổ chức nhiều hàng đợi
lOMoARcPSD|41967345
- Mỗi phân khu có một hàng đợi, khi một tiến trình mới được tạo, nó được đưa
vào hàng đợi của phân khu có kích thước nhỏ nhất cỏ thể chứa vừa tiến trình
o Cách tổ chức này có thể xảy ra trường hợp có hàng đợi đầy trong khi có
hàng đợi khác lại trống
2. Tổ chức 1 hàng đợi
- Tất cả các tiến trình được đặt trong 1 hàng đợi. Khi có 1 phân khu trống, tiến
trình đầu tiên có kích thước phù hợp sẽ được đưa vào phân khu để thi hành o
Cách này có thể dẫn đén một tiến trình nhỏ có thể bị trì hoãn nhiều lần o Để
khắc phục nhược điểm này, người ta đánh dấu mỗi lần tiến trình bị bỏ qua,
nếu quá k lần qui định thì tiến trình sẽ được nạp cho dù phân khu trống có
kích thước lớn hơn.
Câu 11:a) Trình bày về khái niệm phân trang, mục đích của sự phân trang.
Phân trang là cơ chế quản lí bộ nhớ trong cho phép không gian địa chỉ vật lí của tiến trình
không liên tục.
Không gian địa chỉ lôgic (được tạo ra bởi tiến trình) được phân ra thành nhiều khối có
kích thước bằng nhau, mỗi khối được gọi là 1 trang (page).
Không gian địa chỉ bộ nhớ chính cũng được phân ra thành nhiều phần có kích
thước bằng nhau sao cho mỗi phần chứa đúng một trang của tiến trình. Mỗi phần
của bộ nhớ chính được gọi là một khung trang (Page frame) .
Đọc thêm:
lOMoARcPSD|41967345
lOMoARcPSD|41967345
b) Cách ánh xạ một địa chỉ lôgic sang địa chỉ vật lý trong phân trang, vẽ sơ đồ minh họa
lOMoARcPSD|41967345
lOMoARcPSD|41967345
lOMoARcPSD|41967345
lOMoARcPSD|41967345
lOMoARcPSD|41967345
Câu 12: a) Trình bày khái niệm phân đoạn bộ nhớ.
lOMoARcPSD|41967345
b) Trình bày cơ chế chuyển đổi từ địa chỉ lôgic sang địa chỉ vật lý, vẽ sơ đồ minh họa.
Câu 13: So sánh kỹ thuật phân trang và phân đoạn.
Câu 14:a) Phương pháp cấp phát bộ nhớ ngoài liên tục:
Trình bày khái niệm, ưu điểm, nhược điểm, cho ví dụ minh họa.
b) Phương pháp cấp phát bộ nhớ ngoài liên kết: Trình bày khái niệm, ưu điểm, nhược
điểm, cho ví dụ minh họa.
Câu 15:a) Trình bày sự khác nhau cơ bản giữa hệ thống quản lí tập tin FAT16 và FAT32, những
hạn chế của hệ thống quản lý tập tin FAT.
b) Trình bày những ưu điểm của hệ thống quản lí tập tin NTFS.
| 1/20

Preview text:

lOMoARcPSD| 41967345
ĐỀ CƯƠNG ÔN TẬP MÔN
NGUYÊN LÝ HỆ ĐIỀU HÀNH
Thời gian: 30 phút (Trước khi hỏi vấn đáp) =&=
A - Lý thuyết:
Câu 1: Một hệ thống máy tính bao gồm những thành phần gì? Trình bày vắn tắt về mỗi thành
phần và vẽ sơ đồ phân lớp các thành phần đó.
Một hệ thống máy tính thường được chia làm bốn thành phần chính: - Người dùng
- Các chương trình hệ thống và ứng dụng
- Hệ điều hành - Phần cứng
Trình bày vắn tắt về mỗi thành phần và vẽ sơ đồ phân lớp các thành phần đó.
Người dùng: con người, các máy móc, các máy tính khác Các chương trình Ht và ứng dụng: - Các chương trình dịch
- Hệ thống cơ sở dữ liệu - Các trò chơi
- Các chương trình thương mại
Các chương trình này sử dụng tài nguyên của hệ thống máy tính để giải quyết các
yêu cầu của người dùng
Phần cứng: CPU, Bộ nhớ trong, bộ nhớ ngoài, thiết bị ngoại vi( chuột bàn phím, ……)
Hệ điều hành: là một chương trình trung gian giữa NSD và máy tính, có chức năng
1. Quản lý phần cứng máy tính ( các tài nguyên)
- Quản lí tất cả các tài nguyên và phân phối chúng cho các tiền trình
- Giaỉ quyết các yêu cầu tranh chấp để sử dụng tài nguyên hiệu quả và hợp lí
2. Hệ điều hành cung cấp một môi trường đẻ người sử dụng có thể thi hành các
chương trình. Nó làm cho máy tính dễ sử dụng hơn, thuận lợi hơn và hiệu quả hơn.
Câu 2: Trình bày khái niệm về hệ điều hành, phân biệt hệ điều hành đơn nhiệm và đa nhiệm, cho
ví dụ minh họa về mỗi loại trong thực tế.
Hệ điều hành: là một chương trình trung gian giữa NSD và máy tính, có chức năng lOMoARcPSD| 41967345
3. Quản lý phần cứng máy tính ( các tài nguyên)
- Quản lí tất cả các tài nguyên và phân phối chúng cho các tiền trình
- Giaỉ quyết các yêu cầu tranh chấp để sử dụng tài nguyên hiệu quả và hợp lí
4. Hệ điều hành cung cấp một môi trường đẻ người sử dụng có thể thi hành các
chương trình. Nó làm cho máy tính dễ sử dụng hơn, thuận lợi hơn và hiệu quả hơn.
Phân biệt hệ điều hành đơn nhiệm và đa nhiệm
Hệ điều hành đơn nhiệm (batch processing)
- Các chương trình được đưa vào hành đợi
- Máy tính thực hiện tuần tự các chương trình của người sử dụng
- Chương trình không có giao tiếp với người sử dụng
Tại mỗi thời điểm chỉ có một công việc được giải quyết, công việc này xong mới chuyển
sang công việc khác. HDH luôn trương trú trong bộ nhớ
Theo kiểu này, CPU thường nhàn rỗi do tốc độ làm việc của các thiết bị I/O chậm hơn rất nhiều lần so với CPU
Hệ điều hành đa nhiệm (Multiprogramming)
- Các chuognư trình được xếp hành
- Chương trình một được thực hiện và chiếm giữa CPU cho đến khi có yêu cầu I/O hoặc kết thúc.
- Khi chương trình có yêu cầu I/O hoặc kết thúc, chương trình khác sẽ được thực hiện.
- Tận dụng CPU tốt hơn đơn nhiệm
Câu 3: Hệ điều hành có những thành phần nào? Nhiệm vụ của các thành phần đó?
Các thành phần của hệ điều hành
- Quản lý tiến trình: Tiến trình là một chương trình đang thực thi, khi thực
hiện, tiến trình đòi hỏi một số tài nguyên HT nhất định như: CPU, bộ nhớ, các
file, dữ liệu khởi tạo, các thiết bị vào ra,….
o Các tài nguyên được cấp phát cho tiến trình vào những thời điểm
cầnthiết và được thu hồi khi tiến trình kết thúc.
o Khi tiến trình hoạt động trong HT có thể phát sinh các tiến trình con
o Một hệ thống có thể có nhiều tiến trình cùng một lúc, trong đó có một số
tiến trình là của hệ điều hành, một số tiến trình là của người sử dụng, các
tiến trình này có thể diễn ra đồng thời. lOMoARcPSD| 41967345
- Quản lí bộ nhớ trong
o Bộ nhớ trong là thiết bị lưu trữ mà CPU có thể truy cập trực tiếp.
o Một chương trình sau khi biên dịch, nó có các địa chỉ tương đối (được
đánh số từ đầu CT cho tới kết thúc CT).
o Khi thực hiện, CT được nạp vào bộ nhớ trong, địa chỉ tương đối được
chuyển đổi thành địa chỉ vật lí (địa chỉ tuyệt đối) để CPU có thể truy
xuất trong quá trình xử lí (sự chuyển đổi này gọi là quá trình sinh địa chỉ).
o Sau khi chương trình hoạt động xong, các địa chỉ đã cấp phát phải được giải phóng (thu hồi).
o Tại một thời điểm có thể có nhiều tiến trình được thi hành, chúng tồn tại trong bộ nhớ trong.
- Quản lí bộ nhớ ngoài o Bộ nhớ trong là bộ nhớ làm việc. Chương trình, dữ
liệu sẽ mất khi máy tính không hoạt động.
o Hệ thống máy tính ngày nay cung cấp hệ thống lưu trữ phụ (bộ nhớ
ngoài). Đa số các máy tính đều dùng đĩa để lưu trữ cả chương trình và dữ liệu.
o Hầu như tất cả chương trình đều được lưu trữ trên bộ nhớ ngoài cho tới
khi nó được thực hiện thì được nạp vào trong bộ nhớ trong.
o Hệ thống cũng sử dụng bộ nhớ ngoài để chứa dữ liệu và kết quả xử lý.
Vì vậy, quản lý bộ nhớ ngoài là một thành phần hệ thống rất quan trọng của hệ điều hành. - Quản lí vào/ra
Hệ điều hành có một thành phần điều khiển thiết bị (device drivers),
bộ phận này phối hợp cùng CPU để quản lý sự hoạt động và trao đổi
thông tin giữa hệ thống với các thiết bị I/O.
HĐH điều khiển hoạt động của các thiết bị vào/ra bằng cách gửi các
lệnh điều khiển tới các bộ điều khiển và tiếp nhận/xử lí các tín hiệu ngắt, xử lí lỗi,...
- Quản lí file o Hệ thống quản lý tập tin là thành phần quan trọng nhất trong hệ điều hành.
o + Máy tính có thể lưu trữ thông tin trong nhiều dạng thiết bị vật lý khác
nhau: Băng từ, đĩa từ, đĩa quang,... Mỗi dạng có những đặc thù riêng về
mặt tổ chức vật lý. Mỗi thiết bị có trình điều khiển (driver) và có những
tính chất riêng. Những tính chất này là tốc độ, khả năng lưu trữ, tốc độ
truyền dữ liệu và cách truy xuất. lOMoARcPSD| 41967345
o Để khắc phục điều này hệ điều hành đưa ra khái niệm đồng nhất cho tất
cả các thiết bị lưu trữ vật lý, đó là tập tin (file).
o + Tập tin là đơn vị lưu trữ cơ bản nhất, mỗi tập tin có một tên riêng. Hệ
điều hành phải thiết lập mối quan hệ tương ứng giữa tên tập tin và thiết
bị lưu trữ chứa tập tin. o + Khi cần truy xuất đến thông tin đang lưu trữ
trên bất kỳ thiết bị lưu trữ nào, người sử dụng chỉ cần truy xuất đến tập
tin tương ứng thông qua tên của nó, tất cả mọi việc còn lại đều do hệ điều hành thực hiện.
o HĐH tổ chức thông tin lưu trữ trên bộ nhớ ngoài theo đơn vị file, các
file lại thường được tổ chức thành các thư mục.
- Bảo vệ (Protection) o Khi HT cho phép nhiều user và nhiều tiến trình đồng
thời. Cần phải có cơ chế bảo vệ để điều khiển việc truy cập của các tiến trình
hay các người dùng tới các tài nguyên hệ thống.
o HĐH cung cấp cơ chế để đảm bảo rằng tập tin, bộ nhớ, CPU, và những
tài nguyên khác chỉ được truy xuất bởi những tiến trình được phân quyền.
- An toàn (Security) o Ngăn cản mọi sự tấn công hệ thống từ bên trong và
bên ngoài hệ thống. Như là sự phá hoại của các virus, sự truy cập bất hợp
pháp, trộm cắp thông tin,...
- Quản lí tài nguyên mạng o HĐH phải hỗ trợ khả năng quản lí, chia sẻ tài
nguyên, truyền thông trên mạng thông qua các thành phần điều khiển giao tiếp mạng. - Thông dịch
o Đây là chức năng rất quan trọng của HĐH, đóng vai trò tạo giao diện
giữa máy tính và người dùng. Nó giúp máy tính hiểu và xử lí các chỉ thị
hay các lệnh của người dùng. -
Câu 4: Phân biệt hai khái niệm tiến trình và chương trình, trình bày các trạng thái cơ bản của một
tiến trình, vẽ lưu đồ trạng thái tiến trình.
Có hai đặc điểm cho phép phân biệt tiến trình với chương trình. Thứ nhất, chương trình là
một thực thể tĩnh, không thay đổi theo thời gian, trong khi tiến trình là thực thể
động. Chương trình là tập hợp các lệnh và dữ liệu chứa trong file gọi là file
chương trình hoặc file thực hiện được (executable), ví dụ file có đuôi exe của
Windows. Các lệnh này không thay đổi theo thời gian. Trong khi đó, tiến trình là
thực thể động bao gồm các lệnh, dữ liệu, ngăn xếp, con trỏ lệnh chỉ tới lệnh đang
được thực hiện. 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, ví dụ con trỏ lệnh luôn luôn thay đổi tùy thuộc vào lệnh thực hiện là lệnh lOMoARcPSD| 41967345
nào. Ngay cả trong trường hợp hai tiến trình được sinh ra từ cùng một chương
trình, mỗi tiến trình sẽ có con trỏ lệnh, dữ liệu, ngăn xếp khác với tiến trình kia.
Thứ hai, chương trình không sở hữu tài nguyên cụ thể, trong khi mỗi tiến trình
được cấp một số tài nguyên như bộ nhớ để chứa tiến trình, các cổng và thiết bị
vào/ra, các file mở, thời gian CPU để thực hiện lệnh. Như vậy, tiến trình là một
khái niệm liên quan chặt chẽ tới khái niệm máy ảo. Có thể coi mỗi tiến trình được
cấp một máy tính ảo và thực hiện trên máy tính ảo đó.
Các trạng thái cơ bản của một tiến trình:
Tại mỗi thời điểm một tiến trình có thể ở một trong các trạng thái sau:
+ Mới (new): tiến trình đang được tạo lập.
+ Sẵn sàng (ready): tiến trình chờ được cấp phát CPU để xử lí.
Đang thực hiện (running): các chỉ thị đang được thực thi.
+ Đợi (waiting): tiến trình tạm ngưng vì thiếu tài nguyên hay chờ một sự kiện nào
đó xẩy ra (I/O hay nhận tín hiệu).
+ Kết thúc (terminated): tiến trình hoàn thành việc thực thi. • Đọc thêm: •
- Trạng thái mới khởi tạo: tiến trình đang được tạo ra.
Hệ điều hành đã tạo ra các thông tin về tiến trình tuy
nhiên tiến trình chưa được thêm vào danh sách những
tiến trình được phép thực hiện. Thông thường, tiến
trình ở trạng thái này chưa nằm trong bộ nhớ. •
- Trạng thái sẵn sàng: tiến trình chờ được cấp CPU để
thực hiện lệnh của mình. •
- Trạng thái chạy: lệnh của tiến trình được CPU thực
hiện. Với những máy tính có một CPU và CPU có một
lõi, tại mỗi thời điểm chỉ có một tiến trình nằm trong trạng thái chạy. •
- Trạng thái chờ đợi: tiến trình chờ đợi một sự kiện gì
đó xảy ra, ví dụ chờ tín hiệu từ tiến trình khác hoặc chờ
kết thúc quá trình vào/ra. Trạng thái chờ đợi còn được
gọi là trạng thái bị phong tỏa (blocked). lOMoARcPSD| 41967345 •
- 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 nhưng vẫn
chưa bị xóa. Tiến trình thuộc về trạng thái này sau khi
đã thực hiện xong hoặc bị tiến trình khác kết thúc.
Câu 5: Mô tả hoạt động của tiến trình 4 trạng thái và 5 trạng thái .So sánh ưu nhược điểm của
từng loại. (Vẽ sơ đồ chuyển trạng thái của tiến trình và giải thích).
https://hedieuhanh.forumvi.com/t4176-topic poe.com
Câu 6: Điều độ tiến trình qua đoạn găng HĐH sử dụng những giải pháp phần cứng nào? Ưu
nhược điểm của các giải pháp đó -
Giaỉ pháp dùng cặp chỉ thị CLI và STI o Một số CPU cung cấp cặp chỉ thị
CLI ( Clean Interrupt) và STI (Setting Interrupt) để người lập trình thực
hiện thao tác mở ngắt và cấm ngắt của hệ thống
o Dùng cặp chỉ thị này như sau:
Trước khi vào đoạn găng tiến trình thực hiện chỉ thị CLI, để cấm
các ngắt trong hệ thống, khi đó ngắt đồng hồ không thể phát sinh,
nghĩa là không có một tiến trình nào khác có thể phát sinh, nhờ
đó mà tiền trình trong đoạn găng toàn quyền sử dụng tài nguyên
găng cho đến hết thời gian xử lý của nó
Khi kết thúc truy xuất tài nguyên gagnư, trước khi ra khỏi đoạn
găng, tiến trình thực hiện chỉ thị STI để cho phép ngắt trở lại. Khi
đó các tiến trình khác có thể vào đoạn găng.
Uư điểm: Đơn giản và dễ cài đặt lOMoARcPSD| 41967345
Nhược điểm: cần phải có sự hỗ trợ của CPU và dễ gây ra hiện
tượng troe toàn bộ hệ thống(1), giải pháp này không thể sử dụng
trên các hệ thống đa xử lý(2).
Đọc thêm: (1)Vì Khi tiến trình trong đoạn găng không có khả năng
ra khỏi đoạn găng nên nó không thể thực hiện chỉ thị STI để mở ngắt
cho hệ thống, nên không thể có tiến trình nào khác vào miên găng
được, hệ thống bị treo hoàn toàn.(2) Vì CLI chỉ cấm ngắt trên CPU
hiện tại chứ không thể cấm ngắt của các CPU khác. Tức là, sau khi
đã cấm ngắt, tiến trình trong đoạn gagnư vẫn có thể bị tranh chấp tài
nguyên găng bởi các tiền trình trên các CPU khác trong hệ thống
o Phương pháp dùng chỉ thị TSL ( Test and set)
Một số CPU cung cấp một chỉ thị đặc biệt cho phép kiểm tra và
cập nhật nội dung một vùng nhớ trong một thao tác không thể
phân chia được, gọi là Test and Set (TSL).
Để tổ chức điều độ tiện trình với TSL chương trình phải sử dụng
biến chia sẻ Lock, khởi gán bằng 0. Theo đó, mỗi tiến trình trước
khi vào đoạn găng phải kiểm tra giá trị của LOCK:
• Nếu LOcK = 0 thì vào đoạn găng
• Nếu LOcK =1 thì phải đợi cho đến khi nào LOcK = 0
Trước khi muốn vào đoạn găng thì phải gọi hàm
TestAndSetLock để kiểm tra giá trị trả về
• Nếu bằng false, là đang có một tiến trình trong đoạn găng,
thì phải chờ đến khi nào hàm trả về True
• Nếu bằng True thì tiến trình vào đoạn găng để sử dụng tài
nguyên găng. Khi kết thúc sử dụng tài nguyên găng thì
tiến trình phải đặt lại giá trị của Lock = 0 để các tiến trình
khác có thể vào đoạn găng.
• Uư điểm : đơn giản, dễ cài đặt
• Nhược điểm : cần phải có sự hỗ trợ của vi xử lý, gây lãng
phí thời gian xử lý của CPU do tồn tại hiện tượng chờ đợi
tích cực. (Hiện tượng chở đợi tích cực là hiện tượng CPU
chỉ chờ một sự kiện nào đó xảy ra mà không làm gì cả.)
Câu 7: Có những loại bộ lập lịch tiến trình nào? Trình bày chức
năng cơ bản của mỗi loại.
Có 6 bộ lập lịch chính đó là: FCFS, SJF, SRT, RR, MLQ, điều phối lập lịch với độ ưu tiên lOMoARcPSD| 41967345
- FCFS tiến trình yêu cầu CPU trước thì được cấp phát trước. Hàng đợi được tổ
chức theo kiểu FIFO o Đọc thêm : Ưu điểm: Giải thuật FCFS đơn giản, dễ
viết, dễ hiểu, chi phí tổ chức thực hiện thấp vì không phải thay đổi ưu tiên thứ
tự phục vụ. o Nhược điểm:
o + Trong trường hợp tiến trình đến trước có chu kỳ CPU dài thì các tiến
trình sau nó sẽ phải chờ lâu. Điều đó có nghĩa thời gian chờ đợi trung bình sẽ tăng.
o Khi CPU đã được phân bổ cho một tiến trình, tiến trình đó sẽ giữ CPU
cho đến khi giải phóng CPU (kết thúc hoặc yêu cầu I / 0). o + Do đó,
FCFS gây rắc rối đối với các hệ thống chia sẻ thời gian, trong đó mỗi
người dùng có được một phần CPU trong khoảng thời gian đều đặn. Sẽ
là thảm họa nếu cho phép một tiến trình giữ CPU trong thời gian dài. o
- Lập lịch với độ ưu tiên: mỗi tiến trình được gắn cho một độ ưu tiên tương ứng,
tiến trình có độ ưu tiên cao sẽ được chọn để cấp phát CPU trước o Gải thuật
lập trình với độ ưu tiên có thể theo nguyên tắc trung dụng hoặc không.
o Giaỉ thuật lập lịch với độ ưu tiên trưng dụng sẽ thu hồi CPU từ tiến
trình hiện hành để cấp phát cho tiến trình mới nếu độ ưu tiên của tiến
trình này cao hơn tiến trình hiện hành.
- Giaỉ thuật SJF: Trong giải thuật này, ưu tiên thực hiện tiến trình dựa vào giờ
CPU (burst Time) của mỗi tiến trình. Tiến trình nào có giờ CPU ngắn nhất
được cấp phát CPU trước.
- Giaỉ thuật SRT là giải thuật SJF trưng dụng. Khi một tiến trình mới đến hàng
đợi sẵn sàng trong khi một tiến trình khác đang thực thi, nếu tiến trình mới đến
có giờ CPU ngắn hơn thì thời gian giờ CPU còn lại của tiến trình đang thực thi,
CPU của tiến trình đang thi hành sẽ được trung dụng để cấp cho tiến trình mới vào.
- Giaỉ thuật RR: mỗi tiến trình được phân phối một lượng thời gian (time
quantum) để thực hiện. Sau khỏi TG đó nếu tiến trình chưa kết thức hoặc
không rơi vào trạng thái đợi thí nó được chuyển về cuối hàng đợi sẵn sàng.
o Hàng đợi sẵn sàng theo kiểu vòng tròn. Bộ lập lịch CPU phân bổ CPU
cho mỗi tiến trình trong khoảng thời gian lần lượng tử. Các tiến trình
đều có độ ưu tiên phục vụ như nhau.
- Giaỉ thuật MLQ: PP này chia hàng đợi sẵn sàng thành nhiều hàng đợi riêng lẻ,
mỗi tiến trình được gắn cố dịnh với 1 hàng đợi. Mỗi hàng đợi có một giải thuật lập lịch riêng nó. lOMoARcPSD| 41967345
o Các hàng đợi phía trên có độ ưu tiên cao hơn phía dưới nếu một tiến
trình soạn thảo giao tiếp được đưa vào hàng đợi sẵn sàng trong khi một
tiến trình lô dang chạy thì tiến trình lô sẽ bị trưng dụng CPU.
o Đọc thêm: Trong thực tế, PP tổ chức hàng đợi theo 2 mức được dùng khá phổ biến:
o 1. Hàng đợi cho các tiến trình hướng I/O (độ ưu tiên cao hơn). o 2.
Hàng đợi cho các tiến trình hướng CPU (độ ưu tiên thấp hơn). o
Câu 8: Trình bày các khái niệm giờ CPU, lập lịch CPU. Các tiêu chuẩn đánh giá giải thuật lập lịch CPU? 1. Giờ CPU (CPU Time):
Giờ CPU (CPU time) là thời gian mà một tiến trình đã thực thi trên trạng thái CPU. Nó
được đo bằng đơn vị thời gian như giây hoặc miligiây. Khi một tiến trình được thực
thi, nó sử dụng và sở hữu giờ CPU để thực hiện các câu lệnh của nó. Thời gian này
bao gồm cả thời gian tiến trình được thực thi trực tiếp (thời gian CPU thực tế) và
thời gian chờ đợi trong hàng đợi (thời gian CPU chờ đợi).
Giờ CPU quan trọng trong việc đo lường hiệu suất của một tiến trình hoặc hệ thống.
Nó có thể được sử dụng để tính toán tỷ lệ sử dụng CPU, hiệu suất tiến trình và thống kê hệ thống.
2. Lập lịch CPU (CPU Scheduling):
Lập lịch CPU (CPU scheduling) là quá trình quyết định xem tiến trình nào sẽ được
thực thi trên CPU và trong thời gian bao lâu. Khi có nhiều tiến trình đang chờ thực
thi, lập lịch CPU giúp quyết định thứ tự thực thi của các tiến trình đó.
Mục tiêu của lập lịch CPU là tối ưu hóa việc sử dụng CPU, đảm bảo rằng các tiến trình
được thực thi một cách công bằng và hiệu quả. Các thuật toán lập lịch CPU có thể
đưa ra quyết định dựa trên các yếu tố như độ ưu tiên của tiến trình, thời gian chờ
đợi, thời gian thực thi, hoặc các tiêu chí khác.
- Các tiêu chuẩn đánh giá giải thuật lập lịch CPU
- Lượng tiến trình được thực hiện xong. Tiêu chí này được tính bằng số lượng
tiến trình thực hiện xong trong một đơn vị thời gian. Trên thực tế, thời gian
thực hiện tiến trình rất khác nhau, có tiến trình cần nhiều thời gian, có tiến
trình ít hơn. Tuy nhiên, tiêu chí này mang tính trung bình và là một độ đo tính
hiệu quả của hệ thống.
- Hiệu suất sử dụng CPU. Một trong những yêu cầu sử dụng hiệu quả hệ thống
là cố gắng để CPU càng ít phải nghỉ càng tốt. Tỷ lệ phần trăm thời gian CPU
trong trạng thái hoạt động thay đổi tùy hệ thống cụ thể. lOMoARcPSD| 41967345
- Thời gian vòng đời trung bình tiến trình. Được tính bằng thời gian từ lúc có
yêu cầu khởi tạo tiến trình tới khi tiến trình kết thúc. Thời gian này bằng tổng
thời gian tải tiến trình, thời gian chờ đợi, chạy, vào/ra dữ liệu.
- Thời gian chờ đợi. Tính bằng tổng thời gian tiến trình nằm trong trạng thái
sẵn sàng và chờ được cấp CPU. Lưu ý rằng, thời gian chờ đợi lớn hay nhỏ chịu
ảnh hưởng trực tiếp của thuật toán điều độ CPU.
- Thời gian đáp ứng. Đây là tiêu chí hướng tới người dùng và thường được sử
dụng trong hệ thống tương tác trực tiếp. Đối với hệ thống như vậy, tiêu chí
quan trọng là đảm bảo thời gian từ lúc nhận được yêu cầu cho tới khi hệ thống
có phản ứng hay đáp ứng đầu tiên không quá lâu.
Trong số các tiêu chí nói trên, hai tiêu chí đầu tiên có giá trị càng lớn càng tốt,
trong khi đó ba tiêu chí cuối là thời gian chờ đợi và thời gian đáp ứng càng nhỏ
càng tốt. Riêng đối với thời gian đáp ứng, bên cạnh việc đảm bảo giá trị đáp ứng
trung bình nhỏ cũng cần đảm bảo để không tiến trình nào có thời gian đáp ứng quá lâu.
Câu 9: Khái niệm không gian địa chỉ lôgic và không gian địa chỉ vật lý? Cách ánh xạ một địa chỉ
lôgic tới một địa chỉ vật lý (có vẽ sơ đồ minh họa)?
Địa chỉ lôgic (địa chỉ tương đối): Là địa chỉ được tạo ra khi biên dịch chương trình nguồn.
Địa chỉ vật lí (địa chỉ tuyệt đối): Là địa chỉ xác định trong bộ nhớ vật lí.
Mỗi địa chỉ lôgic được ánh xạ tới một địa chỉ vật lí. Tập các địa chỉ lôgic được gọi
là không gian địa chỉ lôgic, tập tất cả các địa chỉ vật lí tương ứng được gọi là
không gian địa chỉ vật lí.
Cách ánh xạ một địa chỉ logic tới một địa chỉ vật lý: Ánh xạ địa chỉ logic (logical
address) tới địa chỉ vật lý (physical address) là quá trình chuyển đổi một địa
chỉ được sử dụng bởi một tiến trình trong không gian địa chỉ của nó thành
một địa chỉ tương ứng
trên bộ nhớ vật lý. Quá trình này được thực hiện bởi bộ điều khiển bộ nhớ
(Memory Management Unit - MMU) trong hệ thống máy tính. lOMoARcPSD| 41967345
Câu 10: a) Trình bày về cấp phát bộ nhớ liên tục với các phân khu cố định và khái niệm phân mảnh trong.
Phân chương cố định là phương pháp đơn giản nhất để phân chia bộ nhớ cho các tiến
trình. Bộ nhớ được phân thành những chương có kích thước cố định ở những vị trí cố
định. Mỗi chương chứa được đúng một tiến trình do đó số tiến trình tối đa có thể chứa
đồng thời trong bộ nhớ sẽ bị giới hạn bởi số lượng chương. Khi được tải vào, tiến trình
được cấp phát một chương. Sau khi tiến trình kết thúc, hệ điều hành giải phóng chương
và chương có thể được cấp phát tiếp cho tiến trình mới.
Khái niệm phân mảnh trong : Kích thước của các mảnh có thể bằng nhau hoặc không
bằng nhau. Việc chọn các mảnh có kích thước bằng nhau mặc dù đơn giản hơn một chút
song rất không linh hoạt. Khi tiến trình có kích thước lớn hơn kích thước mảnh sẽ không
thể tải vào mảnh và chạy được. Muốn cho mảnh chứa được các tiến trình lớn, ta phải
tăng kích thước của mảnh bằng kích thước của tiến trình lớn nhất. Do mỗi tiến trình
chiếm cả một chương, các tiến trình nhỏ cũng được cung cấp và chiếm cả chương như
một tiến trình lớn. Phần bộ nhớ đáng kể còn lại của mảnh sẽ bị bỏ trống gây lãng phí bộ
nhớ. Hiện tương này gọi là phân mảnh trong.
b) Trong phương pháp cấp phát bộ nhớ liên tục với các phân khu cố định có những cách tổ
chức hàng đợi nào? Trình bày nguyên tắc tổ chức và hoạt động của mỗi cách.
Có 2 cách tổ chức hàng đợi:
1. Tổ chức nhiều hàng đợi lOMoARcPSD| 41967345 -
Mỗi phân khu có một hàng đợi, khi một tiến trình mới được tạo, nó được đưa
vào hàng đợi của phân khu có kích thước nhỏ nhất cỏ thể chứa vừa tiến trình
o Cách tổ chức này có thể xảy ra trường hợp có hàng đợi đầy trong khi có
hàng đợi khác lại trống 2. Tổ chức 1 hàng đợi -
Tất cả các tiến trình được đặt trong 1 hàng đợi. Khi có 1 phân khu trống, tiến
trình đầu tiên có kích thước phù hợp sẽ được đưa vào phân khu để thi hành o
Cách này có thể dẫn đén một tiến trình nhỏ có thể bị trì hoãn nhiều lần o Để
khắc phục nhược điểm này, người ta đánh dấu mỗi lần tiến trình bị bỏ qua,
nếu quá k lần qui định thì tiến trình sẽ được nạp cho dù phân khu trống có kích thước lớn hơn.
Câu 11:a) Trình bày về khái niệm phân trang, mục đích của sự phân trang.
Phân trang là cơ chế quản lí bộ nhớ trong cho phép không gian địa chỉ vật lí của tiến trình không liên tục.
Không gian địa chỉ lôgic (được tạo ra bởi tiến trình) được phân ra thành nhiều khối có
kích thước bằng nhau, mỗi khối được gọi là 1 trang (page).
Không gian địa chỉ bộ nhớ chính cũng được phân ra thành nhiều phần có kích
thước bằng nhau sao cho mỗi phần chứa đúng một trang của tiến trình. Mỗi phần
của bộ nhớ chính được gọi là một khung trang (Page frame) . Đọc thêm: lOMoARcPSD| 41967345 lOMoARcPSD| 41967345
b) Cách ánh xạ một địa chỉ lôgic sang địa chỉ vật lý trong phân trang, vẽ sơ đồ minh họa lOMoARcPSD| 41967345 lOMoARcPSD| 41967345 lOMoARcPSD| 41967345 lOMoARcPSD| 41967345 lOMoARcPSD| 41967345
Câu 12: a) Trình bày khái niệm phân đoạn bộ nhớ. lOMoARcPSD| 41967345
b) Trình bày cơ chế chuyển đổi từ địa chỉ lôgic sang địa chỉ vật lý, vẽ sơ đồ minh họa.
Câu 13: So sánh kỹ thuật phân trang và phân đoạn.
Câu 14:a) Phương pháp cấp phát bộ nhớ ngoài liên tục:
Trình bày khái niệm, ưu điểm, nhược điểm, cho ví dụ minh họa.
b) Phương pháp cấp phát bộ nhớ ngoài liên kết: Trình bày khái niệm, ưu điểm, nhược
điểm, cho ví dụ minh họa.
Câu 15:a) Trình bày sự khác nhau cơ bản giữa hệ thống quản lí tập tin FAT16 và FAT32, những
hạn chế của hệ thống quản lý tập tin FAT.
b) Trình bày những ưu điểm của hệ thống quản lí tập tin NTFS.