You are on page 1of 68

Tài liệu HĐHNC

Câu 1: Trong hệ thống Symmeric multiproccesing ( đa xử lý đối xứng):

- Tất cả các processor có thể ngang hang nhau.

Câu 2: Mục đích của system call:

- Dùng để khởi động hệ thống.

Câu 3:Hai hoạt động chính của hdh trong quản lý process:

- Cung cấp cơ chế đồng bộ các tiến trình


- Cung cấp cơ chế xử lý deadlock.

Câu 4: Hoạt dộng chính của hdh trong quản lý bộ nhớ:

- Cung cấp và thu hồi không gian bộ nhớ khi cần.


- Theo dõi, quản lý các vùng nhớ trống và đã cấp phát
- Quyết định sẽ nạp chương trình nào khi có vùng nhớ trống

Câu 5: 5 hoạt động chính của hdh trong quản lý hệ thống tập tin:

- Tạo và xóa các tập tin


- Tạo và xóa các thư mục để tổ chức các tập tin
- Hỗ trợ căn bản để thao tác các tập tin và thư mục
- Sắp xếp các tập tin vào bộ nhớ thứ cấp
- Sao lưu các tập tin tren phương tiện lưu trữ ổn định

Câu 6: cấp phát bộ nhớ theo kiểu MVT ( Multiprogramming with a Variable number of
Tasks):

- Phần bộ nhớ khả dụng được gọi là hole được cấp một phần vừa đủ cho process , phần
càn lại tạo thành hole khác.

Câu 7: Phân mảnh ngoài (External fragmentation) khi cấp phát bộ nhớ là:

- Có đủ không gian nhớ để d/ứng y/cầu, không gian có sẵn không nằm liền kề., phần
lưu trữ bị phân mảnh thành rất rất nhiều lỗ nhỏ.

Câu 8 : Phân mảnh bên trong(internal fragmentation) khi cấp phát bộ nhớ là :

- Bộ nhớ cấp phát cho một tiến trình khác lớn hơn bộ nhớ yêu cầu.

Câu 9 : để giải quyết vấn de phan mảnh bên ngoài của bộ nhớ, hdh use cơ chế hợp tác
Compaction. Ý tưởng & dieu kiện của pp này là :

- Y.tuong : phân trang va phan đoạn.


- D.k : không gian địa chỉ logic của process là không gian liền kề nhau.

Câu 10 : không gian địa chỉ logic có 16 trang(Page) và mỗi trang có 512 từ nhớ (byte)
được ánh xạ vào 128 khung trang(Frame) thì :
- d/c luận lý có 13 bit và d/c vật lý có 16 bit

Câu 11 : các trạng thái có thể có của một process :

- New : tạo mới một process


- Running : các lệnh được thực thi
- Waiting: tiến trình đang chờ một số sự kiện xảy ra hay cấp phát một tài nguyên.
- Ready: quy trình sẵn sang xử lý các sự kiện
- Terminated: kết thúc process

Câu 12: Nhiệm vụ của bộ định thời dài hạn(long term schedule):

- Lựa chọn process trong vùng nhớ sau đó tải vào bộ nhớ để thực thi.

Câu 13 : Nhiệm vụ của bộ định thời ngắn hạn(sort term schedule):

- Lựa chọn process có sẵn để chỉ định cho CPU chạy quá trình đó.

Câu 14: sự khác biệt của bộ định thời dài hạn và bộ định thời ngắn hạn:

- Tính thường xuyên của công việc thực thi ( tần số thực hiện các tiến trình).

Câu 15: Một IO-bound process là gi và một CPU-bound process là gi:

- IO-bound process là: time thực thi nhập xuất lớn hơn time thực thi tính toán.
- CPU-bound process là: time thực thi tính toán lớn hơn nhập xuất.

Câu 16: hdh hỗ trợ cơ chế hợp tác (Compaction) giữa các process. Cho biết vài lý do
cũng như sự hữu ích khi các process lien kết vs nhau:

- Chia sẻ thong tin: nhiều ng có thể quan tâm cùng một mảng thong tin.
- Tăng tốc độ tính toán: các tác vụ sẽ chạy nhanh hơn
- Modun: chia các chức năng hệ thống thành những tiến trình hay luồng khác nhau.
- Thuận tiện: Người dung có thể thực hiện nhiều tác vụ cùng một thời điểm.

Câu 17: Cho biết các dk cần thiết để các process có thể hợp tác (Compation) với nhau
theo cách chia sẻ bộ nhớ( shared-memory) :

- Cho phép tốc độ tối đa và thuận tiện của việc thong tin cũng như nó có thể được thực
hiện tại tốc độ bộ nhớ khi bên trong một máy tính.

Câu 18: Cho biết RPC (Remove procedure call) được sử dụng khi nào và ý nghĩa của
nó:

- Sử dụng khi: một máy khách gọi một thủ tục trên một máy chủ từ xa cũng như nó sẽ
gọi một thủ tục địa phương.
- Ý nghĩa: che giấu những chi tiết mà cho phép thông tin lien lạc diễn ra bằng cách
cung cấp một stub trên máy khách.

Câu 19: mỗi process được biểu diễn trong hệ thống bằng Task Control block. 2 thông
tin có trong Task Control block:

- Thong tin định thời CPU


- Thông tin trạng thái nhập xuất.
Câu 20: Hàng đợi sẵn sang (ready queue) là hàng đợi:

- Chứa tất cả các process trong hệ thống.


- Chứa các process đang chờ đáp ứng từ IO
- Chứa các process trong bộ nhớ chính chờ CPU phục vụ.
- Tất cả đều sai.

Câu 21: Ba chức năng chính của hdh:

- Quản lý quá trình (process management)


- Quản lý bộ nhớ (memory management)
- Quản lý hệ thống lưu trữ (storage management)
- Giao tiếp với người dùng (user interaction)
Câu 22: Chỉ thị nào sau đây có thể thực hiện ở user mode:

- Access I/O device

Câu 23: Thế nào là thiết bị lưu trữ volatile và nonvolatile:

- Volatile: là thiết bị lưu trữ dễ mất nd, dữ liệu khi nguồn điện bị tắt và dữ liệu k tồn
tại dc lau.
- Nonvolatile: là thiết bị lưu trừ dài lâu và sẽ không bị mất khi nguồn điện bị tắt.

Câu 24: Các ưu điểm của Multiprocessor System(đa hệ thống):

- Tăng cường thông lượng: nhiều công việc được thực hiện trong thời gian ngắn.
- Kinh tế: đa hệ thống có giá thấp hơn so với nhiều hệ thống vì có thể chia sẻ thiết bị,
bộ nhớ và nguồn điện.
- Độ tin cậy cao: một process bị hỏng thì hệ thống k ngừng hoạt động mà vẫn chạy
bình thường(chạy chậm hơn).

Câu 25: Trong một hệ thống Asymmeric multiprocessing(đa xử lý đối xứng):

- Một processor định thời(schedule) và cấp phát (allocate) công việc đến các processor
khác.

Câu 26: Chọn 2 trong các hoạt động chính của hdh trong quản lý thiết bị lưu trữ(mass-
store management):

- Cấp phát không gian lưu trữ


- Định thời đĩa(Disk schedule)

Câu 27: Địa chỉ logic hay địa chỉ ảo(Logical address-vitual address) là d/c:

- Được tạo ra bởi CPU

Câu 28: Địa chỉ vật lý(Physical address) là d/c:

- Được tạo ra bởi đơn vị quản lý bộ nhớ(Memory management unit – MMU).

Câu 29: HDH sử dụng cặp con trỏ Base-limit trong không gian bộ nhớ logic của một
tiến trình để:

- CPU dựa vào đó tính ra địc chỉ vật lý của tiến trình.
- Để qui định vùng nhớ mà tiến trình có thể truy suất.
- Để đơn vị quản lý bộ nhớ(Memory management unit-MMU) xác định vùng địa chỉ ảo
của tiến trình.
- Tất cả đều đúng.

Câu 30: Cho biết nguyên lý và đặc điểm của cấp phát bộ nhớ kiểu MFT= đa chương
trình với tác vụ được đánh số cố định (Multiprogramming with Fixed number of Tast):

- Nguyên lý: phân chia bộ nhớ thành các vùng có kích thước cố định, mỗi vùng chứa
một tiến trình.
- Đặc điểm: khi một phân vùng trống, một tiến trình dc chọn từ đầu hang đợi vào và dc
nạp vào phân vùng trống. khi một process end, phân vùng có sẵn để dành lại cho một
process khác.

Câu 31: Cho biết không gian địa chỉ logic có 16 trang(Page) và mỗi trang có 512 từ
nhớ(byte) dc ánh xạ vào bộ nhớ vật lý 32 khung trang (Frame) thì:

- d/c logic có 14 bit và d/c vật lý có 16 bit.

Câu 32: Cho bit khong gian d/c logic có 8 trang (Page) và mỗi trang có 2048 từ nhớ
(byte) dc ánh xạ vào bộ nhớ vật lý 32 khung trang(Frame) thì:

- d/c luận lý có 14 bit và d/c vật lý có 16 bit

Câu 33: một máy tính cung cấp cho ng dung một không gian d/c logic là 20 bit. Nếu kích
thước trang bộ nhớ là 2KB thì bảng trang( page table) của mt này có bao nhiêu trang:

- 512

Câu 34: Các yêu cầu để process có thể chia sẻ bộ nhớ:

- Chúng có thể trao dổi thông tin bằng cách đọc và ghi dữ liệu trong khu vực chia sẻ.
các hình thức dữ liệu và vị trí dc xác định bởi các process này và không chịu sự kiểm
soát của hdh
- Các process không ghi dữ liệu vào cùng vị trí một cách đồng thời.

Câu 35: nếu một process có nhiều thread thì các thread này:

- Có cùng đoạn mã chương trình, dữ liệu và tài nguyên hệ thống.

Câu 36: cho 2 ví dụ minh họa cho ctrinh vs nhiều thread(multithread) hoạt động tốt
hơn so vs ctrinh một thread(single thread):

- Có thể sử dụng nhiều CPU


- Nhiều khách hang có thể truy cập wed cùng một thời điểm.

Câu 37: một thread có thể là user thread và cũng có thể là kernel thread và:

- Hdh quản lý kernel thread.

Câu 38: cho biết ý nghĩa vắn tắt của các mô hình quan hệ giữa user thread và kernel
thread:

- Nhiều-Một: ánh xạ nhieu luồng ng dung tới một luồng nhân.


- Một-Một: ánh xạ mỗi luồng ng dùng tới một luồng nhân tương ứng.
- Nhiều-Nhiều: đa hợp nhiều luồng ng dùng tới một số lượng nhỏ hơn hay bằng luồng
nhân.

Câu 39:định thời biểu ưu tiên (nonpreemptive scheduling) là kiểu định thời trong đó:

- Khi CPU dc cấp phát cho một process thì process đó sẽ giữ CPU cho đến khi hoàn
thành chu kỳ xử lý của nó.

Câu 40: khái niệm turnaround time trong định thời CPU(CPU scheduling) là:

- Tổng thời gian từ lúc một process dc đưa vào hệ thống cho đến khi nó hoàn thành.

Câu 41: để xử lý vùng critical section. Hdh có thể sử dụng một trong 2 phương pháp là
preemptive kernel và nonpreemptive kernel. Trong đó preemptive kernel là phương
pháp:

- Cho phép một process đang chạy ở kernel mode ngừng và CPU phục vụ process khác.

Câu 42: để xử lý vùng critical section. Hdh có thể sử dụng một trong 2 phương pháp là
preemptive kernel và nonpreemptive kernel. Trong đó nonpreemptive kernel là phương
pháp:

- Kernel–mode process sẽ thực hiện cho tới khi nó tự động giả phóng CPU.

Câu 43: giả sử process P1 và P2 cùng chia sẻ chung một semaphore synch. Trong P1 có
phát biểu S1 và P2 có phát biểu S2. Cho biết đoạn chương trình {…S2; sinal(synch);…}
trong P2 và {… wait(synch);S1…} trong P1 có tác dụng làm cho:

- S1 chỉ thực hiện sau khi S2 hoàn thành

Câu 44: một giải pháp đồng bộ bằng phần cứng (synchronization hardware) là giải
quyết vùng critical section bằng một khóa (lock). Cho biết đoạn chương trình sau có tác
dụng gì: do{ acquire lock; critical section; remainder section} while(true):

- Một process phải dành dc khóa trước khi vào critical section và giải phóng khóa khi
ra khỏi critical section.

Câu 45: cho biết điều kiện để có loại trừ tương hỗ (multual exclusion) trong vấn đề dead
lock là gì:

- Tài nguyên mà một process đang sử dụng phải ở chế độ không chia sẻ.

Câu 46: cho biết lợi ích của các nhà phát triển hdh thiết kế các hệ thống con nhập xuất
(I/O subsystem) độc lập vs phần cứng:

- Đơn giản hóa công việc của ng phát triển hdh.


- Đem lại sự thuận lợi cho các nhà sản xuất phần cứng.

Câu 47: khi controller đặt một tín hiệu vào interrupt-request line thì CPU sẽ thực hiện:

- Lưu lại trạng thái hiện tại và chuyển điều khiển đến đoạn thủ tục xử lý ngắt trong bộ
nhớ.
Câu 48: Chọn 2 hoạt động trong cơ chế DMA:

- DMA command block phải được ghi vào bộ nhớ.


- DMA controller ghi địa chỉ của DMA command block đến thanh ghi của CPU.

Câu 49: Cho biết nội dung của DMA command block:

- Khối lệnh này chỉ một con trỏ chỉ tới nguồn chuyển.
- Khối lệnh này chỉ một con trỏ chỉ tới đích chuyển.
- Khối lệnh này đếm số lượng byte dc chuyển.

Câu 50: thư viện Win32 thread (Win32 thread library) là:

- Thư viện dc cung cấp trên hệ thống window ở mức kernel (kernel-level)

Câu 51: thư viện Pthread là thread mở rộng của chuẩn POSIX là:

- Thư viện dc cung cấp ở mức user(user level)

Câu 52: quan hệ giữa kernel thread và user thread trên dhd Linux là gi:

- Many to many

Câu 53: định thời k ưu tiên ( nonpreemtive scheduling) xảy ra khi:

- Một process đang chạy chuyển sang trạng thái chờ hoặc khi một process kết thúc.

Câu 54: định thời có ưu tiên (preemtive scheduling) là kiểu định thời trong đó:

- Cho phép ngừng công việc đang xử lý một process để chuyển CPU đến phục vụ một
process khác.

Câu 55: khi có nhiều process chia sẻ cùng một không gian nhớ luận lý (logical address
space) thì có khả năng xảy ra race codition. Cho biết race condition là gì:

- Một số process truy cập và xử lý đồng thời tren cùng một dữ liệu dẫn đến kqua phụ
thuộc vào thứ tự truy cập.

Câu 56: critical section của một process là vùng mà ở đó:

- Process không dc phép thay đổi dữ liệu của nó.

Câu 57: một trong những dkien để có deadlock xảy ra trong hệ thống là:

- Tài nguyên ở trạng thái không chia sẻ


- Process đang giữ tài nguyên và yêu cầu them tài nguyên đang giữ bởi process khác.
- Tài nguyên cấp cho một process sẽ dc process đó giữ cho đến khi hoàn thành công
việc.

Câu 58: cho biết vắn tắt về các phương pháp xử lý deadlock:

- Sử dụng một số giao thức để ngăn chặn hay tránh deadlock, đảm bảo rằng hệ thống sẽ
không bao giờ đi vào trạng thái deadlock.
- Cho phép hệ thống đi vào trạng thái deadlock, phát hiện và sau đó phục hồi.
- Bỏ qua vấn đề deadlock, giả vờ deadlock chưa bao giờ xảy ra trong hệ thống.
Câu 59: một trong những điều kiện để tránh deadlock xảy ra trong hệ thống là:

- Tài nguyên ở trạng thái chia sẻ.


- Process chỉ dc yêu cầu tài nguyên khi nó không giữ bất cứ tài nguyên nào.

Câu 60: cho biết ý nghĩa của các thành phần sau trong một đồ thị cấp phát tài
nguyên(resource – allocation graph):

- Đỉnh của đồ thị: tập hợp các quá trình hoạt động trong hệ thống, chứa tất cả các loại
tài nguyên.
- Cạnh gán(assignment adge) : thể hiện loại tài nguyên Rj đã dc cấp phát tới quá trình
Pi.
- Cạnh yêu cầu: (request edge): quá trình Pi đã yêu cầu loại tài nguyên Rj và đang
chờ loại tài nguyên đó.

Câu 61: Với một đồ thị cấp phát tài nguyên của một hệ thống(resource- allocation
graph) nếu:

- Đồ thị không có vòng (cycle) thì không có process nào trong hệ thống bị deadlock.
- Đồ thị có vòng thì tất cả các process trong hệ thống bị deadlock.
- Đồ thị có vòng thì tất cả các process torng vòng bị deadlock.

Câu 62: Trong quản lý bộ nhớ External Fragment (phân mảnh bên ngoài) là gì:

- Là có đủ không gian nhớ để đáp ứng yêu cầu, không gian có sẵn không nằm liền kề,
phần lưu trữ bị phân mảnh thành rất nhiều lỗ nhỏ.

Câu 63 : cho biết nhiệm vụ của các bộ định thời :

- Định thời dài hạn( long term scheduler) là: lựa chọn tiến trình của vùng nhớ sau đó
tải vào vùng nhớ để thực thi.
- Định thời ngắn hạn(short term scheduler) là: lựa chọn giữa các tiến trình đã sẵn
sang và chỉ định một trong số chúng cho CPU.
- Định thời trung hạn(medium term scheduler) là: loại bỏ bớt các tiến trình khỏi bộ
nhớ để khỏi tranh chấp CPU do đó giảm bớt mức độ đa chương trình.

Câu 64: Cho biết các kiểu định thời xảy ra khi nào:

- Không ưu tiên(nonpreemtive scheduling):


+ Khi một quá trình chuyển từ trạng thái chạy sang trạng thái chờ.
+ Khi một quá trình kết thúc.
- Ưu tiên(preemptive scheduling):
+ Khi một quá trình chuyển từ trạng thái chạy sang trạng thái sẵn sàng.
+ Khi một quá trình chuyển từ trạng thái chờ sang trạng thái sẵn sàng.

Câu 65: Chọn process nào để thực thi là nhiệm vụ của bộ định thời(scheduler). Bộ định
thời dài hạn (ling term scheduler) có nhiệm vụ:

- Chọn process từ process pool để đưa vào bộ nhớ.

Câu 66: Nêu các tiêu chuẩn định thời (Scheduling Criteria):
- CPU utilization (Việc sử dụng CPU): chúng ta muốn giữ CPU bận nhiều nhất có
thể. Việc sd CPU có thể từ 0 → 100%
- Throught put (Thông lượng): Thông lượng là thước đo của công việc là số lượng
quá trình dc hoàn thành trên một đơn vị thời gian.
- Turnaround time(thời gian hoàn thành): là tổng các thời gian chờ đưa quá trình
vào bộ nhớ, chờ hang đợi sẵn sàng, thực thi CPU và thực hiện nhập xuất.
- Waiting time(thời gian chờ):là tổng thời gian chờ trong hang đợi sẵn sàng.
- Response time(thời gian đáp ứng):là thời gian từ lúc gửi yêu cầu cho tới khi đáp
ứng đầu tiên dc tạo ra. Là lượng thời gian mất đi từ lúc bắt đầu đáp ứng nhưng không
là thời gian mất đi để xuất ra đáp ứng đó.

Câu 67: Những điều kiện cần thiết gây ra deadlock( xảy ra đồng thời bốn điều kiện
sau):

- Multual exclusion ( loại trừ tương hỗ): ít nhất một tài nguyên phải được giữ trong
chế độ không chia sẻ, nghiã là chỉ một quá trình tại cùng một thời điểm có thể sử
dụng tài nguyên. Nếu một quá trình khác yêu cầu tàu nguyên đó, quá trình yêu cầu
phải tạm dừng cho tới khi tài nguyên được giải phóng.
- Hold and wait(giữ và chờ cấp thêm tài nguyên): quá trình phải đang giữ ít nhất
một tài nguyên và đang chờ để nhận tài nguyên thêm mà hiện đang giữ bởi quá trình
khác.
- No preemption (không đòi tài nguyên từ quá trình đang giữ chúng): các tài
nguyên không thể bị đòi lại, nghĩa là tài nguyên có thể được giải phóng chỉ tự ý bởi
quá trình đang giữ nó, sau khi quá trình đó hoàn thành tác vụ.
- Circular wait( tồn tại chu trình trong đồ thị cấp phát tài nguyên): một tập hợp các
quá trình Po, P1……. Pn đang chờ mà Po đang chờ 1 tài nguyên dc giữ bởi P1, P1
đang chờ tài nguyên giữ bởi P2……… Pn đang chờ tài nguyên giữ bởi Po.

Câu 68: Đồ thị cấp phát tài nguyên: nếu đồ thị không chứa chu trình thì không có quá trình
nào trong hệ thống bị deadlock. Nếu đồ thị có chứa chu trình thì deadlock có thể tồn tại.

Câu 69: các phương pháp xử lý deadlock ( Methods for hanhding deadlock):

- Sử dụng một giao thức để ngăn chặn hay tránh deadlock, đảm bảo hệ thống sẽ không
bao giờ đi vào trạng thái deadlock.
- Chúng ta có thể cho phép hệ thống đi vào trạng thái deadlock, phát hiện nó và phục
hồi.
- Bỏ qua vấn đề này, giả vờ deadlock không bao giờ xảy ra trong hệ thống.

Câu 70: Ngăn chặn deadlock(Deadlock prevention):

+ Ít nhất một trong 4 điều kiện này không thể xảy ra:

- Multual exclusion ( loại trừ tương hỗ):


- Hold and wait(giữ và chờ cấp thêm tài nguyên):
- No preemption (không đòi tài nguyên từ quá trình đang giữ chúng:
- Circular wait( tồn tại chu trình trong đồ thị cấp phát tài nguyên):

Câu 71: Các thuộc tính tập tin:


- Tên(name)
- Định danh(indentifier)
- Kiểu(type)
- Vị trí(location)
- Kích thước(size)
- Giờ(time), ngày(date), định danh ng dùng(user identification)

Câu 72: Khối điều khiển tiến trình PCB (process control block):

- Trạng thái tiến trình: new, ready,running, waiting, terminated.


- Bộ đếm chương trình
- Các thanh ghi CPU
- Thông tin định thời CPU
- Thông tin quản lý bộ nhớ
- Thông tin tính toán
- Thông tin trạng thái nhập xuất

Bài Tập

Câu 1:

Cho các giả thuyết sau:

Process Thời điểm đến Burst time


P1 0.0 11
P2 3.0 6
P3 7.0 5
P4 10.0 9
P5 13.0 11
a/ Hãy sử dụng giải thuật FCFS để tính thời gian chờ trung bình(không tính thời gian đến)

b/ Hãy sử dụng giải thuật SJF với hai trường hợp ưu tiên và không ưu tiên

c/ Sử dụng giải thuật RR với q=9

Câu 2:

Giả sử có 5 tiến trình(P0, P1, P2, P3, P4) và 3 tài nguyên (A, B, C) được đưa ra như sau:

Process Allocation Max Available


A B C A B C A B C
P0 2 5 2 7 5 3 2 5 3
P1 2 2 1 3 2 3
P2 5 1 1 9 3 2
P3 1 2 1 2 2 3
P4 4 1 2 5 2 2

a/ Hãy chỉ ra trạng thái an toàn

b/ Nếu P0 yêu cầu (2, 0, 1) cho biết trạng thái hệ thống.

c/ Nếu P4 yêu cầu(1, 1, 0) cho biết trạng thái hệ thống.


BÀI GIẢI

Câu 1:

a/Giải thuật FCFS:

P1 P2 P3 P4 P5
11 17 22 31 42

Thời gian đợi:

P1=0, P2=11, P3=17, P4=22, P5=31

Thời gian đợi trung bình:

(0+11+17+22+31)/5= 16,2

b/Giải thuật SJF:

TH1: không ưu tiên

P1 P3 P2 P4 P5
11 16 22 31 42

Thời gian đợi:

P1=0, P2=13, P3=4, P4=12, P5=18

Thời gian đợi trung bình:

(0+13+4+12+18)/5=9,4

TH2: ưu tiên

P1 P2 P3 P1 P4 P5
3 9 14 22 31 42

Thời gian đợi:

P1=11, P2=0, P3=2, P4=12, P5=18

Thời gian đợi trung bình:

(11+0+2+12+18)/5=8,6

c/ Giải thuật RR:

P1 P2 P3 P4 P5 P1 P5
0 9 15 20 29 38 40 42
Câu 2:

a/

Finish process Allocation Need Max work


A B C A B C A B C A B C
T P0 2 5 2 5 0 1 7 5 3 2 5 3
T P1 2 2 1 1 0 2 3 2 3 4 7 4
T P2 5 1 1 4 2 1 9 3 2 9 8 5
T P3 1 2 1 1 0 2 2 2 3 11 13 7
T P4 4 1 2 1 1 0 5 2 2 12 15 8
16 16 10

Hệ thống đang ở trạng thái an toàn vì chuỗi: P1, P2, P0, P3, P4 thoã mãn các điều kiện an toàn.

b/

P0 yêu cầu (2,0,1)

Ta có: Request (2,0,1) < Need (5,0,1) trạng thái lỗi, hệ thống không an toàn

Finish process Request Allocation Need Max Work


A B C A B C A B C A B C A B C
F P0 2 0 1 2 5 2 5 0 1 7 5 3 2 5 3
F P1 2 2 1 1 0 2 3 2 3
F P2 5 1 1 4 2 1 9 3 2
F P3 1 2 1 1 0 2 2 2 3
F P4 4 1 2 1 1 0 5 2 2

Hệ thống không an toàn.

c/ P4 yêu cầu (1,1,0)

Ta có: Request (1,1,0)= Need(1,1,0)

Request(1,1,0)< Available(4,1,0)

Phân phối tài nguyên:

Available= Available- Request

Allocation= Allocation+ Request

Need =Need -Request

Finish process Request Allocation Need Max Work


A B C A B C A B C A B C A B C
T P0 2 5 2 5 0 1 7 5 3 1 4 3
T P1 2 2 1 1 0 2 3 2 3 3 6 4
T P2 5 1 1 4 2 1 9 3 2 4 8 5
T P3 1 2 1 1 0 2 2 2 3 9 9 6
T P4 1 1 0 5 2 2 0 0 0 5 2 2 11 14 8
16 16 10

Hệ thống đạt trạng thái an toàn.

The End!

ĐỀ 1

1. Cho biết 3 chức năng chính của hệ điều hành:


a. Quản lý không gian trống
b. Phân bố lưu trữ
c. Định thời đĩa cứng
2. Chỉ thị nào sau đây có thể thực hiện ở user mode?
a. Set value of timer
b. Read the lock
c. Clear memory
d. Access I/O device
3. Thế nào là thiết bị lưu trữ non volatine
a. Thiết bị lưu trữ volatile là thiết bị mà dữ liệu sẽ không tồn tại lâu và sẽ bị mất
khi ngắt điện
b. Thiết bị non-volatile là thiết bị mà dữ liệu được lưu trữ dài lâu và sẽ không bị
mất khi ngắt điện
4. Cho biết các ưu điểm của MultiProcessor system
a. …Tăng thông lượng…………………………………………….
b. …Kinh tế……………………………………………..
c. …Độ tin cậy cao……………………………………………..
5. Trong một hệ thống Asymmetric multiprocessing
a. Tất cả các processor có quan hệ ngang hàng
b. Mỗi processor thực hiện tất cả các nhiệm vụ và độc lập với nhau
c. Mội process định thời (schedule) và cấp phát (allocate) công việc
d. N process chạy đồng thời trên N proccessor
6. Chọn 2 trong các hoạt động chính của hệ điều hành trong quản lý thiết bị
a. Tạo và xóa file lẫn thư mục
b. Cấp phát không gian lưu trữ
c. Ánh xạ file và thư mục lên thiết bị lưu trữ thứ cấp.
d. Định thời đĩa(Dish scheduling)
7. Địa chỉ logic hay địa chỉ ảo (Logical address- virtual address) là địa chỉ
a. Được tạo ra bởi đơn vị quản lý bộ nhớ (Memory management unit –MMU)
b. Được tạo ra bởi tính toán CPU
c. MMU chuyển 1 địa chỉ vật lý trong bộ nhớ thành địa chỉ ảo
d. CPU chỉ làm việc trên địa chỉ vật lý mà không quan tâm đến địa chỉ ảo.
8. Địa chỉ vật lý (Physical address) là địa chỉ
a. Được tạo ra bởi đơn vị quản lý bộ nhớ (Memory management unit –MMU)
b. Được tạo ra bởi tính toán CPU
c. CPU chuyển 1 địa chỉ vật lý trong bộ nhớ thành địa chỉ ảo
d. MMU chỉ làm việc trên địa chỉ ảo mà ko quan tâm đến địa chỉ vật lý
9. Hệ hiều hành sử dụng cặp con trỏ base – limit trong không gian bộ nhớ logic của 1
a. CPU dựa vào đó tính ra địa chỉ vật lý của tiến trình
b. Để quy định vùng nhớ mà 1 tiến trính có thể truy xuất
c. Để đơn vị quản lý bộ nhớ (Memory management unit-MMU) xác định vùng nhớ
d. Tất cả a, b, c đều đúng
10. Cho biết nguyên lý và đặc điểm của cấp phát bộ nhớ kiểu MFT (Multiprogramming
with…)
a. Một trong những phương thức đơn giản nhất cho việc cấp phát bộ nhớ là
phân chia bộ nhớ thành những phân vùng có kích thước cố định. Mỗi phân
vùng có thể chứa chính xác một tiến trình. Do đó, mức độ của đa chương
trình bị giới hạn bởi số lượng phân vùng
b. Trong phương thức đa phân vùng, khi một phân vùng trống, một tiến trình
được chọn từ hàng đợi đầu vào, và được nạp vào phân vùng trống. Khi một
tiến trình kết thúc, phân vùng có sẵn để dành lại cho một tiến trình khác..
11. Cho biết không gian địa chỉ logic có 16 trang (Page) và mỗi trang có 512 từ nhớ
(byte),được ánh xạ vào bộ nhớ vật lý 128 khung trang (Frame) thì
a. Địa chỉ luận lý có 13 bit và địa chỉ vật lý có 16 bit
b. Địa chỉ luận lý có 16 bit và địa chỉ vật lý có 13 bit
c. Địa chỉ luận lý có 9 bit và địa chỉ vật lý có 8 bit
d. Tất cả a, b,c đều sai
12. Cho biết không gian địa chỉ logic có 8 trang (Page) và mỗi trang có 2048 từ nhớ
(byte) …..khung trang (Frame) thì
a. Địa chỉ luận lý có 11 bit và địa chỉ vật lý có 5 bit
b. Địa chỉ luận lý có 14 bit và địa chỉ vật lý có 16 bit
c. Địa chỉ luận lý có 19 bit và địa chỉ vật lý có 5 bit
d. Địa chỉ luận lý có 11 bit và địa chỉ vật lý có 16 bit
13. Với bàng segment table như sau. Cho biết địa chỉ vật lý của các địa chỉ logic sau
Segment Base Limit
0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 260
a. 0, 430:……649…………………….
b. 1, 10:………2310…………………
c. 2, 50:…………140…………………..
d. 3, 400:………1727……………………..
e. 4, 112:………2064…………………….

14. Với bàng segment như table sau. Cho biết các địa chỉ logic sau đây có hợp lệ không.
Neu16 có thì cho biết địa chỉ vật lý tương ứng. neu16 ko thì gọi l2 địa chỉ không hợp
lệ.
Segment Base Limit
0 100 30
1 500 280
2 1220 100
3 1400 32
4 1600 200
f. 0, 50:…………không hợp lệ……………….
g. 1, 128:………628…………………
h. 2, 256:………… không hợp lệ …………………..
i. 3, 8:…………1408…………………..
j. 4, 128:………1728…………………….
15. 1 máy tính cung cấp cho người dùng 1 không gian địa chỉ logic là 20bit. Nếu kích
thước 2Kb thì bảng trang (page table)của máy tính này có bao nhiêu trang
a. 10
b. 1024
c. 512
d. Tất cà a, b,c đều sai
16. Cho biết các trang thái có thể có của 1 proccess
a. Mới(new): quá trình đang được tạo ra
b. Đang chạy(running): có chỉ thị đang được thực thi
c. Chờ(Wating): quá trình đang chờ sự kiện xảy ra(như hoàn thành việc nhập
xuất dữ liệu hay nhận tín hiệu)
d. Sẵn sang(ready): quá trình đang chờ được gán tới 1 bộ xử lý.
e. Kết thúc(terminated): qua trình hoàn thành việc thực thi
17. Cho biết nhiệm vụ của bộ định thời dài hạn (long-term scheduler)?
Chọn các quá trình từ vùng đệm và nạp cho bộ định thời công việc
18. Cho biết nhiệm vụ của bộ định thời ngắn hạn (short-term scheduler)?
Bộ định thời này chọn các quá trình trong bộ nhớ sẵn sàng thực thi và cấp phát
CPU tới các quá trình đó
19. Điều gì là vấn đề chính để làm nên sự khác biệt của bộ định thời dài hạn và bộ định
thời ngắn hạn
Đó là tính thường xuyên của công việc thực thi
20. Một I/O bound proccess là gì và 1 CPU bound proccess là gì?
Một I/O – Bound proccess là quá trình hướng nhập xuất.
CPU – Bound process là quá trình hướng CPU.

ĐỀ 2

1. Trong hệ thống Symmetric multiproccessing


a. 1 proccessor định thời (schedule) và cấp phát công việc đến các proccess khác
b. Tất cà các proccess có quan hệ ngang hàng
c. Mỗi proccess thực hiện 1 nhiệm vụ riêng biệt (speecific task)
d. Một proccess thực hiện kiểm soát hệ thống gọi là master proccessor
2. Cho biết mục đích của system call
a. Chuyển hệ thống từ user mode sang kernel mode
b. Cho phép chương trình của người đang yêu cầu dịch vụ của hệ điều hành
c. Cho phép chương trình của người điều khiển I/O
d. Dùng để khởi động hệ thống.
3. Chọn 2 trong số các hoạt động của hệ điều hành trong quản lý tiến trình proccess
management
a. Theo dõi các tiến trình bộ nhớ đang được các tiến trình sử dụng
b. Cung cấp các hệ thống bộ nhớ tiến trình
c. Xác định tiến trình (Proccess) và dữ liệu (Data) nào sẽ được đưa vào bộ nhớ hay
ra khỏi bộ nhớ
d. Cung cấp cơ chế xử lý deadlock
4. Chọn 1 trong các hoạt động chính của hệ điều hành trong quản lý bộ nhớ (memory
management)
a. Tạo và xóa user proccess lẩn system proccess
b. Cung cấp cơ chế xử lý deadlock
c. Cấp phát và phục hồi không gian bộ nhớ khi cần
d. Cung cấp cơ chế đồng bộ các tiến trình
5. Cho biết 5 hoạt động chính của hệ điều hành trong quản lý hệ thống thông tin (file
system management)
Tạo, xóa tập tin
Tạo xóa thư mục và tổ chức tập tin
Hỗ trợ căn bản để thao tác các tập tin và thư mục.
Sắp xếp các tập tin vào bộ nhớ thứ cấp (vd đĩa cứng….)
Sao lưu các tập tin trên phương tiện lưu trữ ổn định (không biến đổi)..
6. Cấp phát bộ nhớ theo kiểu MVT (multiprogramming with a Variable of Tasks)
a. Chia bộ nhớ thành 1 số phần có kích thước cố định gọi là hole
b. Phần bộ nhớ khả dụng gọi là hole được cấp 1 phần vừ đủ cho tiến trình, phần còn
lại tạo thành 1 hole khác.
c. Phần bộ nhớ khả dụng là 1 hole và chỉ cấp cho 1 tiến trình, sau khi tiến trình này
kết thúc thì cấp cho tiến trình khác
d. a, b, c đều sai
7. Cho biết phân mãnh ngoài (external fragmentation) khi cấp phát bộ nhớ là gì?
Sự phân mảnh bên ngoài tồn tại khi có đủ không gian nhớ để đáp ứng yêu cầu,
nhưng không gian có sẵn không nằm liền kề; phần lưu trữ bị phân mảnh thành
rất rất nhiều lỗ nhỏ
8. Cho biết phân mãnh trong (internal fragmentation) khi cấp phát bộ nhớ là gì?
Nếu bộ nhớ cấp phát cho một tiến trình có thể lớn hơn bộ nhớ yêu cầu. Khi đó,
sự khác nhau giữa 2 con số này là bộ nhớ phân mảnh từ bên trong, tức là ở bên
trong một phân vùng nhưng hiện không được sử dụng
9. Để giải quyết phân mãnh ngoài (external fragmentation) của bộ nhớ, hệ điều hành sử
dụng phương pháp Compaction. Cho biết ý tưởng chính của phương pháp này và điề
kiện để thực hiện nó?
Ý tưởng: phân trang và phân đoạn
Đ/K: không gian địa chỉ logic của process là không liền kề nhau
10. Cho biết không gian địa chỉ logic có 16 trang (Page) và mỗi trang có 512 từ nhớ
(byte),được ánh xạ vào bộ nhớ vật lý 128 khung trang (Frame) thì
a. Địa chỉ luận lý có 13 bit và địa chỉ vật lý có 16 bit
b. Địa chỉ luận lý có 16 bit và địa chỉ vật lý có 13 bit
c. Địa chỉ luận lý có 9 bit và địa chỉ vật lý có 8 bit
d. Tất cả a, b,c đều sai
11. Cho biết các trang thái có thể có của 1 proccess
a. Mới(new): quá trình đang được tạo ra
b. Đang chạy(running): có chỉ thị đang được thực thi
c. Chờ(Wating): quá trình đang chờ sự kiện xảy ra(như hoàn thành việc nhập
xuất dữ liệu hay nhận tín hiệu)
d. Sẵn sang(ready): quá trình đang chờ được gán tới 1 bộ xử lý.
e. Kết thúc(terminated): qua trình hoàn thành việc thực thi.
12. Cho biết nhiệm vụ của bộ định thời dài hạn (long-term scheduler)?
Chọn các quá trình từ vùng đệm và nạp cho bộ định thời công việc
13. Cho biết nhiệm vụ của bộ định thời ngắn hạn (short-term scheduler)?

Bộ định thời này chọn các quá trình trong bộ nhớ sẵn sàng thực thi và cấp
phát CPU tới các quá trình đó

14. Điều gì là vấn đề chính để làm nên sự khác biệt của bộ định thời dài hạn và bộ định
thời ngắn hạn
Đó là tính thường xuyên của công việc thực thi
15. Một I/O bound proccess là gì và 1 CPU bound proccess là gì?

Một I/O – Bound proccess là quá trình hướng nhập xuất.

CPU – Bound process là quá trình hướng CPU.

16. Hệ điều hành hỗ trợ cơ chế hợp tác (cooperation) giữa các process. Cho biết vài lý do
cũng như sự hữu ích khi các proccess liên kết với nhau?
Chia sẽ thông tin.
Tăng tốc tính toán.
Modularity.
Thuận tiện
17. Cho biết các điều kiện cần thiết để các proccess có thể hợp tác (cooperation) với nhau
theo cách chia sẻ bộ nhớ (share-memory)

Thông tin liên lạc giữa các tiến trình sử dụng bộ nhớ chia sẻ yêu cầu tiến
trình giao tiếp để thành lập một khu vực bộ nhớ chia sẻ.

Những tiến trình khác có nhu cầu giao tiếp sử đoạn bộ nhớ chia sẻ phải gán
nó vào không gian địa chỉ của chúng.

18. Cho biết RPC (Remote procedure call) được sử dụng khi nào và ý nghĩa của nó là gì?
cho việc sử dụng giữa các hệ thống với kết nối mạng.
cho phép thông tin liên lạc diễn ra bằng cách cung cấp một stub trên máy khách
19. Mỗi proccess được hiển thị trong hệ thống bằng Task block, chọn 2 thông tin có trong
Task Control Block (Proccess Control Block)
a. Thông tin định thời CPU
b. Thông tin trang thái nhập xuất
c. Dữ liệu người dùng
d. Thong tin DMA
20. Hàng đợi sẵn sàng (ready queue) là hàng đợi?
a. Chứa tất cả các proccess trong hệ thống
b. Chứa các proccess đang chờ đáp ứng từ I/O
c. Chức các proccess trong bộ nhớ chính chờ CPU phục vụ
d. Tất cả a, b,c đều sai
ĐỀ 1

21. Cho biết 3 chức năng chính của hệ điều hành:


a.cung cấp một môi trường cho người sử dụng để thực thi một chương trình trên phần
cứng máy tính một cách thuận tiện và hiệu quả.

b.Để phân bổ các nguồn tài nguyên riêng biệt của máy tính khi cần thiết để giải quyết
vấn đề nhất định. Tiến trình phân bổ nên được là ngang bằng và hiệu quả nhất có thể.

c.Là một chương trình kiểm soát nó phục vụ hai chức năng chính: (1) giám sát việc
thực thi các chương trình người dùng để ngăn ngừa các lỗi và không phù hợp sử dụng
máy tính, và quản lý (2) của hoạt động và Kiểm soát các thiết bị I / O.

22. Chỉ thị nào sau đây có thể thực hiện ở user mode?
e. Set value of timer
f. Read the lock
g. Clear memory
h. Access I/O device
23. Thế nào là thiết bị lưu trữ nonvolatine
c. ……………………………………………………………….
d. ……………………………………………………………………
24. Cho biết các ưu điểm của MultiProcessor system
Đa hệ thống có ba ưu điểm chính
Increased throughput (Tăng thông): nhiều việc được thực hiện trong thời gian
ngắn.

Economy (Kinh tế): đa hệ thống có thể chi phí ít hơn so với hệ thống tương đương
với một bộ xử lýnhiều bởi vì họ có thể chia sẻ periphrals, lưu trữ và các nguồn
cung cấp điện.

Increase reliability (Tăng độ tin cậy): Nếu chức năng có thể được phân
phối đúng trong một số bộ vi xử lý, sau đó thất bại của
một bộ vi xử lý sẽ không ngăn chặn hệ thống, chỉ làm chậm nó xuống.
25. Trong một hệ thống Asymmetric multiprocessing
e. Tất cả các processor có quan hệ ngang hàng
f. Mỗi processor thực hiện tất cả các nhiệm vụ và độc lập với nhau
g. Mội process định thời (schedule) và cấp phát (allocate) công việc
h. N process chạy đồng thời trên N proccessor
26. Chọn 2 trong các hoạt động chính của hệ điều hành trong quản lý thiết bị
e. Tạo và xóa file lẫn thư mục
f. Cấp phát không gian lưu trữ
g. Ánh xạ file và thư mục lên thiết bị lưu trữ thứ cấp.
h. Định thời đĩa(Dish scheduling)
27. Địa chỉ logic hay địa chỉ ảo (Logical address- virtual address) là địa chỉ
e. Được tạo ra bởi đơn vị quản lý bộ nhớ (Memory management unit –MMU)
f. Được tạo ra bởi tính toán CPU
g. MMU chuyển 1 địa chỉ vật lý trong bộ nhớ thành địa chỉ ảo
h. CPU chỉ làm việc trên địa chỉ vật lý mà không quan tâm đến địa chỉ ảo.
28. Địa chỉ vật lý (Physical address) là địa chỉ
e. Được tạo ra bởi đơn vị quản lý bộ nhớ (Memory management unit –MMU)
f. Được tạo ra bởi tính toán CPU
g. CPU chuyển 1 địa chỉ vật lý trong bộ nhớ thành địa chỉ ảo
h. MMU chỉ làm việc trên địa chỉ ảo mà ko quan tâm đến địa chỉ vật lý
29. Hệ hiều hành sử dụng cặp con trỏ base – limit trong không gian bộ nhớ logic của 1
e. CPU dựa vào đó tính ra địa chỉ vật lý của tiến trình
f. Để quy định vùng nhớ mà 1 tiến trính có thể truy xuất
g. Để đơn vị quản lý bộ nhớ (Memory management unit-MMU) xác định vùng nhớ
h. Tất cả a, b, c đều đúng
30. Cho biết nguyên lý và đặc điểm của cấp phát bộ nhớ kiểu MFT (Multiprogramming
with…)
c. Một trong những phương pháp đơn giản cho phân bổ bộ nhớ là để chia bộ nhớ
thành vài phân vùng cỡ cố định. Mỗi phân vùng có thể chứa chính xác một quy
trình. Do đó, mức độ đa lập trình bị ràng buộc bởi số của phân vùng.
d. Trong phương pháp multiplepartition này, khi phân vùng là miễn phí, quy trình
được chọn lựa từ hàng đợi nhập và được nạp vào phân vùng miễn phí. Khi quy
trình chấm dứt, phân vùng trở thành sẵn có cho tiến trình khác.
31. Cho biết không gian địa chỉ logic có 16 trang (Page) và mỗi trang có 512 từ nhớ
(byte),được ánh xạ vào bộ nhớ vật lý 128 khung trang (Frame) thì
e. Địa chỉ luận lý có 13 bit và địa chỉ vật lý có 16 bit
f. Địa chỉ luận lý có 16 bit và địa chỉ vật lý có 13 bit
g. Địa chỉ luận lý có 9 bit và địa chỉ vật lý có 8 bit
h. Tất cả a, b,c đều sai
32. Cho biết không gian địa chỉ logic có 8 trang (Page) và mỗi trang có 2048 từ nhớ
(byte) …..khung trang (Frame) thì
e. Địa chỉ luận lý có 11 bit và địa chỉ vật lý có 5 bit
f. Địa chỉ luận lý có 14 bit và địa chỉ vật lý có 16 bit
g. Địa chỉ luận lý có 19 bit và địa chỉ vật lý có 5 bit
h. Địa chỉ luận lý có 11 bit và địa chỉ vật lý có 16 bit
33. Với bàng segment table như sau. Cho biết địa chỉ vật lý của các địa chỉ logic sau
Segment Base Limit
0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 260
k. 0, 430:địa chỉ vật lý:…430 + 219 = 649
l. 1, 10: địa chỉ vl: 10 + 2300 = 2310
m. 2, 50: dcvl: 50 + 90 = 140
n. 3, 400: dcvl= 400 + 1327 = 1727………..
o. 4, 112: dcvl = 112 + 1952 = 2064….

34. Với bàng segment như table sau. Cho biết các địa chỉ logic sau đây có hợp lệ không.
Neu16 có thì cho biết địa chỉ vật lý tương ứng. neu16 ko thì gọi l2 địa chỉ không hợp
lệ.
Segment Base Limit
0 100 30
1 500 280
2 1220 100
3 1400 32
4 1600 200
p. 0, 50:…không hợp lệ…………….
q. 1, 128: dcvl = 128 + 500 = 628…………
r. 2, 256:….không hợp lệ
s. 3, 8: dcvl = 8 + 1400 = 1408………..
t. 4, 128: dcvl = 128 + 1600 = 1728…….
35. 1 máy tính cung cấp cho người dùng 1 không gian địa chỉ logic là 20bit. Nếu kích
thước………thì bảng trang (page table)của máy tính này có bao nhiêu trang
e. 10
f. 1024
g. 512
h. Tất cà a, b,c đều sai
36. Cho biết các trang thái có thể có của 1 proccess

37. Cho biết nhiệm vụ của bộ định thời dài hạn (long-term scheduler)?
Bộ định thời dài hạn lựa chọn các quá trình từ khối này và tải chúng vào bộ nhớ để
thực hiện
38. Cho biết nhiệm vụ của bộ định thời ngắn hạn (short-term scheduler)?
Bộ định thời ngắn hạn lựa chọn trong số các tiến trình đã sẵn sàng để thực hiện và
phân bổ CPU có thể một trong số chúng.
39. Điều gì là vấn đề chính để làm nên sự khác biệt của bộ định thời dài hạn và bộ định
thời ngắn hạn
Bộ định thời ngắn hạn có tốc độ rất nhanh. Bộ định thời dài hạn lại chậm hơn và nó
quyết định mức độ đa chương của hệ thống.
40. Một I/O bound proccess là gì và 1 CPU bound proccess là gì?
I/O bound process là một tiến trình dành nhiều thời gian cho I/O hơn là tính toán.
CPU …..dành nhiều thời gian cho tính toán hơn là I/O.

ĐỀ 2

21. Trong hệ thống Symmetric multiproccessing


e. 1 proccessor định thời (schedule) và cấp phát công việc đến các proccess khác
f. Tất cà các proccess có quan hệ ngang hàng
g. Mỗi proccess thực hiện 1 nhiệm vụ riêng biệt (speecific task)
h. Một proccess thực hiện kiểm soát hệ thống gọi là master proccessor
22. Chgo biết mục đích của system call
e. Chuyển hệ thống từ user mode sang kernel mode
f. Cho phép chương trình của người đang yêu cầu dịch vụ của hệ điều hành
g. Cho phép chương trình của người điều khiển I/O
h. Dùng để khởi động hệ thống.
23. Chọn 2 trong số các hoạt động của hệ điều hành trang quản lý tiến trình proccess
management
e. Theo dõi các tiến trình bộ nhớ đang được các tiến trình sử dụng
f. Cung cấp các hệ thống bộ nhớ tiến trình
g. Xác định tiến trình (Proccess) và dữ liệu (Data) nào sẽ được đưa vào bộ nhớ
hay ra khỏi bộ nhớ
h. Cung cấp cơ chế xử lý deadlock
24. Chọn 1 trong các hoạt động chính của hệ điều hành trong quản lý bộ nhớ (memory
management)
e. Tạo và xóa user proccess lẩn system proccess
f. Cung cấp cơ chế xử lý deadlock
g. Cấp phát và phục hồi không gian bộ nhớ khi cần
h. Cung cấp cơ chế đồng bộ các tiến trình
25. Cho biết 5 hoạt động chính của hệ điều hành trong quản lý hệ thống thông tin (file
system management)
Tạo và xóa các tập tin
Tạo và xóa các thư mục để tổ chức các tập tin
Hỗ trợ các kiểu nguyên thủy cho các thao tác tập tin và thư mục
Lập bản đồ các tập tin lên lưu trữ thứ cấp
Sao lưu các tập tin trên các phương tiện thông tin lưu trữ ổn định.

26. Cấp phát bộ nhớ theo kiểu MVT (multiprogramming with a Variable of Tasks)
e. Chia bộ nhớ thành 1 số phần có kích thước cố định gọi là hole
f. Phần bộ nhớ khả dụng gọi là hole được cấp 1 phần vừ đủ cho tiến trình, phần
còn lại tạo thành 1 hole khác.
g. Phần bộ nhớ khả dụng là 1 hole và chỉ cấp cho 1 tiến trình, sau khi tein16 trình
này kết thúc thì cấp cho tiến trình khác
h. a, b, c đều sai
27. Cho biết phân mãnh ngoài (external fragmentation) khi cấp phát bộ nhớ là gì?

Bên ngoài phân mảnh tồn tại khi có đủ tổng không gian bộ nhớ để đáp ứng một yêu
cầu, nhưng các không gian có sẵn không tiếp giáp, lưu trữ được chia nhỏ thành một
số lượng lớn các lỗ nhỏ.
Vấn đề phân mảnh có thể là nghiêm trọng. Trong trường hợp xấu nhất, chúng tôi có
thể có một khối bộ nhớ (hoặc lãng phí) miễn phí giữa hai quá trình.

8.Cho biết phân mãnh trong (internal fragmentation) khi cấp phát bộ nhớ là gì?

Phân mảnh bộ nhớ có thể vừa bên trong vừa ngoài. Nếu bộ nhớ được cấp cho quy trình
có thể là lớn hơn bộ nhớ đã yêu cầu. Thì, sự khác biệt giữa hai số này là bộ nhớ phân
mảnh bên trong nghĩa là bên trong phân vùng nhưng không phải đang dùng.

9.Để giải quyết phân mãnh ngoài (external fragmentation) của bộ nhớ, hệ điều hành sử
dụng phương pháp Copaction. Cho biết ý tưởng chính của phương pháp này và điề kiện
để thực hiện nó?

Một trong những giải pháp cho vấn đề phân mảnh bên ngoài là Compaction.
Mục đích là để shuffle (trộn) nội dung bộ nhớ để đặt tất cả các bộ nhớ miễn phí với
nhau trong một khối lượng lớn
Compaction không phải luôn luôn có thể thực hiện. Tuy nhiên, nếu di dời là
tĩnh và được thực hiện tại assembly hoặc load time, compaction không thể thực hiện,
compaction có thể thực hiện chỉ khi di dời là năng động và được thực hiện ở
execution time.

10.Cho biết không gian địa chỉ logic có 16 trang (Page) và mỗi trang có 512 từ nhớ
(byte),được ánh xạ vào bộ nhớ vật lý 128 khung trang (Frame) thì

e. Địa chỉ luận lý có 13 bit và địa chỉ vật lý có 16 bit


f. Địa chỉ luận lý có 16 bit và địa chỉ vật lý có 13 bit
g. Địa chỉ luận lý có 9 bit và địa chỉ vật lý có 8 bit
h. Tất cả a, b,c đều sai

11..Cho biết các trang thái có thể có của 1 proccess

Mới (new): quá trình đang được tạo ra


Đang chạy (running): các chỉ thị đang được thực thi
Chờ (waiting): quá trình đang chờ sự kiện xảy ra (như hoàn thành việc nhập/xuất hay
nhận tín hiệu)
Sẳn sàng (ready): quá trình đang chờ được gán tới một bộ xử lý.
Kết thúc (terminated): quá trình hoàn thành việc thực thi

16.Hệ điều hành hỗ trợ cơ chế hợp tác (cooperation) giữa các process. Cho biết vài lý do
cũng như sự hữu ích khi các proccess liên kết với nhau?

Có vài lý do để cung cấp môi trường cho phép hợp tác quy trình :

Chia sẻ thông tin: Vì nhiều người dùng có thể quan tâm đến cùng 1 thông tin ( tập tin
chia sẻ . . . )

Speedup tính toán: Nếu chúng ta muốn tác vụ đặc biệt là chạy nhanh, chúng ta phải chia
nhỏ nó thành subtasks, mỗi một trong những cái ấy sẽ thi hành song song với người khác.

Tính môđun: Để xây dựng hệ thống theo cách mô đun - chia hệ thống chức năng vào
riêng biệt quy trình hoặc luồng.

Tiện nghi: Người dùng có thể làm việc trên nhiều tác vụ cùng một lúc.

17.Cho biết các điều kiện cần thiết để các proccess có thể hợp tác (cooperation) với nhau
theo cách chia sẻ bộ nhớ (share-memory)

Chia sẻ bộ nhớ đòi hỏi hai hay nhiều quy trình đồng ý

Chúng có thể sau đó trao đổi thông tin bằng đọc và ghi dữ liệu trong lĩnh vực chia sẻ.
Dạng của dữ liệu và vị trí được quyết định bởi quy trình này và không là dưới điều khiển
của hệ điều hành.

Quy trình cũng có trách nhiệm cho bảo đảm rằng chúng không là viết cho vị trí tương tự
cùng một lúc.

18.Cho biết RPC (Remote procedure call) được sử dụng khi nào và ý nghĩa của nó là gì?

RPC được thiết kế như là một cách để trừu tượng cơ chế thủ tục gọi để sử dụng giữa các
hệ thống có kết nối mạng.
Các ngữ nghĩa của RPCs cho phép một khách hàng gọi một thủ tục trên một máy chủ từ
xa.

Hệ thống RPC ẩn các chi tiết cho phép thông tin liên lạc sẽ diễn ra bằng cách cung cấp
một sơ khai trên phía máy khách.

Sơ khai-client-side proxy cho thủ tục thực tế trên máy chủ

19.Mỗi proccess được hiển thị trong hệ thống bằng Task block, chọn 2 thông tin có trong
Task Control Block (Proccess Control Block)

e. Thông tin định thời CPU


f. Thông tin trang thái nhập xuất
g. Dữ liệu người dùng
h. Thong tin DMA

20.Hàng đợi sẵn sàng (ready queue) là hàng đợi?

e. Chứa tất cả các proccess trong hệ thống


f. Chứa các proccess đang chờ đáp ứng từ I/O
g. Chức các proccess trong bộ nhớ chính chờ CPU phục vụ
h. Tất cả a, b,c đều sai

1) Chọn hai trong các hoạt động chính của hệ điều hành trong quản lý thiết bị lưu trữ (mass-
storage management)
a. Tạo và xóa file lẫn thư mục
b. Cấp phát không gian lưu trữ
c. Ánh xạ file và thư mục lên thiết bị lưu trữ thứ cấp
d. Định thời đía
2) Địa chỉ logic hay địa chỉ ảo là địa chỉ
a. Được tạo ra bởi đơn vị quản lý bộ nhớ
b. Được tạo ra bởi tính toán của CPU
c. MMU chuyển một địa chỉ vật lý trong bộ nhớ thành địa chỉ ảo
d. CPU chỉ làm việc trên địa chỉ vật lý mà không quan tâm đến địa chỉ ảo
3) Địa chỉ vật lý là địa chỉ
a. Được tạo ra bởi đơn vị quản lý bộ nhớ
b. Được tạo ra bởi tính toán của CPU
c. CPU chuyển một địa chỉ vật lý trong bộ nhớ thành địa chỉ ảo
d. MMU chỉ làm việc trên địa chỉ vật lý mà không quan tâm đến địa chỉ ảo
4) Hệ điều hành sử dụng căp con trỏ base-limit trong không gian bộ nhớ logic của một tiến
trình để
a. CPU dựa vào đó để tính ra địa chỉ vật lý của tiến trình
b. Để qui định vùng nhớ mà một tiến trình có thể truy suất
c. Để đơn vị quản lý bộ nhớ xác định vùng địa chỉ ảo của tiến trình
d. Tất cả đều đúng
5) Trong quản lý bộ nhớ hãy cho biết khái niệm External Fragment là gì?

Sự phân mảnh bên ngoài tồn tại khi có đủ không gian nhớ để đáp ứng yêu cầu, nhưng
không gian có sẵn không nằm liền kề; phần lưu trữ bị phân mảnh thành rất rất nhiều
lỗ nhỏ
6) Trong quản lý bộ nhớ hãy cho biết khái niệm Internal Fragment là gì?
Nếu bộ nhớ cấp phát cho một tiến trình có thể lớn hơn bộ nhớ yêu cầu. Khi đó, sự
khác nhau giữa 2 con số này là bộ nhớ phân mảnh từ bên trong, tức là ở bên trong
một phân vùng nhưng hiện không được sử dụng
7) Trong quản lý bộ nhớ hãy cho biết khái niệm Compaction là gì? Điều kiện để thực hiện
Liên kết các bộ nhớ trống thành 1 khối, đây là 1 giải pháp chống phân mảnh
ngoài…
8) Cho biết nhiệm vụ của các bộ định thời
a. Dài hạn (long-term)
Lựa chọn tiến trình của vùng nhớ sau đó tải vào vùng nhớ để thực thi
b. Ngắn hạn (short-term)
Lựa chọn giữa các tiến trình đã sẵn sàng và chỉ định một trong số chúng cho
CPU
c. Trung gian ( medium-term )
Loại bỏ bớt các tiến trình khỏi bộ nhớ để khỏi tranh chấp CPU do đó giảm
bớt mức độ đa chương trình
9) Cho biết các kiểu định thời xảy ra khi nào
a. Không ưu tiên (non-preemptive):

Khi quá trình chuyển từ trạng thái chạy sang trạng thái chờ

Khi một quá trình kết thúc

b. Có ưu tiên (preemptive):
Khi một quá trình chuyển từ trạng thái chạy sang trạng thái sẵn sàng.
Khi một quá trình chuyển từ trạng thái chờ sang trạng thái sẵn sàng.
10) Cho biết các trạng thái có thể có của một quá trình:
a. Mới(new): quá trình đang được tạo ra
b. Đang chạy(running): có chỉ thị đang được thực thi
c. Chờ(Wating): quá trình đang chờ sự kiện xảy ra(như hoàn thành việc nhập xuất
dữ liệu hay nhận tín hiệu)
d. Sẵn sang(ready): quá trình đang chờ được gán tới 1 bộ xử lý.
i. Kết thúc(terminated): qua trình hoàn thành việc thực thi
11) Mỗi process được biểu diễn trong hệ thống bằng Task Control Block. Chọn 2 thông tin
có trong Task Control Block
a. Thông tin định thời CPU
b. Thông tin trạng thái nhập xuất
c. Dữ liệu người dùng
d. Thông tin DMA
12) Hàng đợi ready là hàng đợi
a. Chứa tất cả các process trong hệ thống
b. Chứa các process đang đợi đáp ứng từ I/O
c. Chứa các process trong bộ nhớ chính chờ CPU phục vụ
d. Tất cả đều sai
13) Chọn process nào để thực thi là nhiệm vụ của bộ định thời. Bộ định thời dài hạn (long-
term) có nhiệm vụ
a. Chọn process từ ready queue để đưa vào CPU thực hiện
b. Chọn process từ process pool để đưa vào bộ nhớ
c. Chọn process từ hàng đợi nhập xuất (I/O queue)
d. Tất cả đều sai
14) Cho biết mục đích của system call
a. Chuyển hệ thống từ user mode sang kernel mode
b. Cho phép chương trình của người dùng yêu cầu dịch vụ của hệ điều hành
c. Cho phép chương trình người dùng điều khiển I/O
d. Dùng để khởi động hệ thống
15) Chọn hai trong các hoạt động của hệ điều hành trong quản lý tiến trình
a. Theo dõi các vùng nhớ đang được tiến trình sử dụng
b. Cung cấp cơ chế đồng bộ các tiến trình
c. Xác định tiến trình va dữ liệu nào sẽ được đưa vào hay ra khỏi bộ nhớ
d. Cung cấp cơ chể sử lý deadlock
16) Cho biết 5 hoạt động chính của hệ điều hành trong quản lý hệ thống tập tin
a. ……………………………………………………………………………………
…….
b. ……………………………………………………………………………………
…….
c. ……………………………………………………………………………………
…….
d. ……………………………………………………………………………………
…….
e. ……………………………………………………………………………………
…….
17) Cho biết nhiệm vụ của các bộ định thời
a. Dài hạn (long-term)
……………………………………………………………………………………
……………………………………………………………………………………
………………
b. Ngắn hạn (short-term)
……………………………………………………………………………………
……………………………………………………………………………………
………………
c. Trung gian ( medium-term )
……………………………………………………………………………………
……………………………………………………………………………………
………………
18) Cho biết các kiểu định thời xảy ra khi nào
a. Không ưu tiên (non-preemptive):
……………………………………………………………………………………
……………………………………………………………………………………
…………
b. Có ưu tiên (preemptive):
……………………………………………………………………………………
……………………………………………………………………………………
…………
19) Nếu một process có nhiều thread thì các thread này
a. Có đoạn mã chương trình, dữ liệu và tài nguyên hệ thống khác nhau
b. Các thread có cùng đoạn mã chương trình, dữ liệu và tài nguyên hệ thống
c. Các thread có cùng tập thanh ghi
d. Cả a,b,c đều sai
20) Cho 2 ví dụ để minh họa chương trình với nhiều thread hoạt động tốt hơn so với chương
trình một thread
a. Có thể sử dụng nhiều CPU
b. Nhiều khách hàng có thể truy cập web cùng một thời điểm…
21) Cho biết ý nghĩa vắn tắt của các mô hình quan hệ giữa user thread và kernel thread
a. Nhiều – một: ánh xạ nhiều luồng người dùng tới một luồng
b. Một – một: ánh xạ mỗi luông người dùng tới một luồng nhân tương ứng
c. Nhiều - nhiều: đa hợp nhiều luồng nhười dùng tới một số lượng nhỏ hơn hay
bằng luồng nhân.
22) Cấp phát bộ nhớ theo kiểu MVT
a. Chia bộ nhớ thành một số phần có kích thước cố định gọi là hole
b. Phần bộ nhớ khả dụng gọi la hole được cấp một phần vừa đủ cho tiến trình,
phần còn lại tạo thành một hole khác
c. Phần bộ nhơ khả dụng là một hole và chỉ cấp cho một tiến trình, sau khi tiến trình
này kết thúc thì cấp cho tiến trình khác
d. Tất cả a, b, c đều sai
23) Nếu một process có nhiều thread thì các thread này
a. Có đoạn mã chương trình, dữ liệu và tài nguyên hệ thống khác nhau
b. Các thread có cùng đoạn mã chương trình, dữ liệu và tài nguyên hệ thống
c. Các thread có cùng tập thanh ghi
d. Cả a,b,c đều sai
24) Cho 2 ví dụ để minh họa chương trình với nhiều thread hoạt động tốt hơn so với chương
trình một thread
a. ……………………………………………………………………………………
b. ……………………………………………………………………………………
25) Một thread có thể là user thread và cũng có thể là kernel thread và
a. Kernel thread quản lý user thread
b. User thread quản lý kernel thread
c. Hệ điều hành quản lý kernel thread
d. Tất cả đều sai
26) Cho biết ý nghĩa vắn tắt của các mô hình quan hệ giữa user thread và kernel thread
a. ……………………………………………………………………………………
b. ……………………………………………………………………………………
c. ……………………………………………………………………………………
27) Định thời không ưu tiên (non-preemptive) là kiểu định thời trong đó:
a. Khi CPU được cấp phát cho một process thì process đó sẽ giữ CPU cho đến
khi hoàn thành chu kỳ xử lý của nó
b. Cho phép ngừng công việc đang xử lý một process để chuyển CPU đến phục vụ
một process khác
c. Kiểu định thời có liên quan đến thiết kế kernel của hệ điều hành
d. Tất cả đều đúng
28) Khái niệm turnaround time trong định thời CPU là
a. Tổng thời gian một process phải chờ trong hàng đợi sắn sàng
b. Tổng thời gian từ khi một yêu cầu được đưa vào hệ thống cho đến khi có đáp ứng
đầu tiên xảy ra
c. Tổng thời gian từ lúc một process được đưa vào hệ thống cho đến khi nó
hoàn thành
d. Tất cả đều đúng
29) Để xử lý vùng critical section, hệ điều hành có thể sử dụng một trong hai phương pháp là
preemptive kernel và nonpreemptive. Trong đó preemptive là phương pháp
a. Không xảy ra race condition trong cấu trúc dữ liệu của kernel
b. Kernel- mode process sẽ thực hiện cho đến khi nó tự động giải phóng CPU
c. Cho phép một process đang chạy ở kernel mode ngừng và CPU phục vụ
process khác
d. Tất cả đều sai
30) Để xử lý vùng critical section, hệ điều hành có thể sử dụng một trong hai phương pháp là
preemptive kernel và nonpreemptive. Trong đó non-preemptive là phương pháp
a. Kernel- mode process sẽ thực hiện cho đến khi nó tự động giải phóng CPU
b. Cho phép một process đang chạy ở kernel mode ngừng và CPU phục vụ process
khác
c. Xảy ra race condition trong cấu trúc dữ liệu của kernel
d. Tất cả đều sai
31) Giả xử xảy process P1, P2 cùng chia sẻ chung một semaphore synch. Trong P1 có phát
biểu S1 và P2 có phát biểu S2. Cho biết đoạn chương trình {…S2; signal(synch);…}
trong P2 và {…wait(synch);S1…} trong P1 có tác dụng làm cho
a. S2 chỉ thực hiện sau khi S1 hoàn thành
b. S1 chỉ thực hiện sau khi S2 hoàn thành
c. S1 và S2 phải thực hiện đồng thời
d. Tất cả đều sai
32) Một giải pháp đồng bộ phần cứng là giải quyết vùng critical section bằng một khóa. Cho
biết đoạn chương trình sau có tác dụng gì: do{ acquire lock; critical section, release lock,
remainder section} while(true)
a. Khóa vùng critical section để không cho process nạp vào
b. Một process phải giành được khóa trước khi vào critical section và phai giải
phóng khóa trước khi ra khỏi critical section
c. Critical section luôn luôn bị khóa khống chế thay đổi dữ liệu bên trong
d. Tất cả đều sai
33) Cho biết điều kiện để có thể loại trừ tương hỗ trong vấn đề deadlock là gì
a. Tài nguyên mà một process đang sử dụng phải ở chế độ chia sẻ
b. Tài nguyên mà một process đang sử dụng phải ở chế độ không chia sẻ
c. Tài nguyên mà một process đang sử dụng có thể chia sẻ hay không tùy thuộc vào
hệ thống
d. Tất cả đềy sai
34) Cho biết lợi ích của việc các nhà phát triển hệ điều hành thiết kế các hệ thống con nhập
xuất theo hướng độc lập với phần cứng
a. Đơn giản hóa công việc của người phát triển.
b. Đem lại sự thuận lợi cho các nhà sản xuất phần cứng.
35) Khi controler đặt một tín hiệu vào interrupt-request line thì CPU sẽ thực hiện
a. Lưu lại trạng thái hiện tại và chuyển điều khiển đến đoạn thủ tục xử lý ngắt
trong bộ nhớ
b. Hủy bỏ các tính toán hiện tại và thực hiện tính toán lại từ đầu
c. CPU đọc dữ liệu từ I/O
d. Tất cả đều sai
36) Chọn hai hoạt động trong cơ chế DMA
a. DMA command block phải được ghi vào bộ nhớ
b. DMA command block phải được ghi vào thủ tục xử lý DMA
c. CPU ghi địa chỉ của DMA command block đến thanh ghi của DMA controller
d. DMA controller ghi địa chỉ của DMA command block đến thanh ghi của
CPU
37) Cho biết nội dung của DMA command block
a. Khối lệnh này chỉ một con trỏ chỉ tới nguồn chuyển.
b. Khối lệnh này chỉ một con trỏ chỉ tới đích chuyển.
c. Khối lệnh này đếm số lượng byte được chuyển.
38) Thư viện Win32 thread là
a. Thư viện được cung cấp trên hệ thống Window ở mức kernel
b. Thư viện được cung cấp trên hệ thống Window ở mức user
c. Bao gồm cả 2 mức kernel và user
d. Tất cả đều sai
39) Thư viện Pthread là thư viện mở rộng của chuẩn POSIX là:
a. Thư viện được cung cấp ở mức kernel
b. Thư viện được cung cấp ở mức user
c. Bao gồm cả 2 mức kernel và user
d. Tất cả đều sai
40) Quan hệ giữa kernel thread và user thread trên hệ điều hành Linux là:
a. One to Many
b. One to One
c. Many to Many
d. Tất cả đều đúng
41) Định thời có ưu tiên (preemptive) là kiểu định thời trong đó:
a. Khi CPU được cấp phát cho một process thì process đó sẽ giữ CPU cho đến khi
hoàn thành chu kỳ xử lý của nó
b. Cho phép ngừng công việc đang xử lý một process để chuyển CPU đến phục
vụ một process khác
c. Định thời không yêu cầu sử dụng đến phần cứng chuyên biệt
d. Tất cả đều sai
42) Định thời không ưu tiên xảy ra khi
a. Một process đang chạy chuyển sang trạng thái chờ hoặc khi một process kết
thúc
b. Khi một process chuyển từ trạng thái chạy sang trạng thái sẵn sàng
c. Khi một process chuyển từ trạng thái chờ sang trạng thái sẵn sàng
d. Tất cả đều sai
43) Khi có nhiều process chia sẻ cùng một không gian nhớ luận lý thì có khả năng xảy ra
race condition. Cho biết race condition là gì?
a. Các process truy cập vào cùng không gian bộ nhớ ảo
b. Một số process truy cập và xử lý đồng thời trên cùng một dữ liệu dẫn đến kết
quả phụ thuộc vào thứ tự truy cập
c. Các process truy cập tuần tự nhau vào không gian vùng nhớ chia sẻ
d. Tất cả đều sai
44) Critical section của một process là vùng mà ở đó
a. Process không được phép thay đổi dữ liệu của nó
b. Process có thể thay đổi dữ liệu của nó
c. Process chỉ thay đổi dữ liệu được khi vùng này được chia sẻ với process khác
d. Tất cả đều sai
45) Một trong những điều kiện để có deadlock xảy ra trong hệ thống là
a. Tài nguyên cấp cho một process sẽ được process đó giữ cho đến khi hoàn thành
công việc
b. Process đang giữ tài nguyên và yêu cầu thêm tài nguyên đang giữ bởi process
khác
c. Tài nguyên ở trạng thái không chia sẻ
d. Tất cả đều đúng
46) Một trong những điều kiện để tránh xảy ra deadlock trong hệ thống:
a. Tài nguyên ở trạng thái chia sẻ
b. Tài nguyên ở trạng thái không chia sẻ
c. Process chỉ được yêu cầu tài nguyên khi nó không giữ bất cứ tài nguyên nào
d. A & c đúng
47) Cho biết ý nghĩa của các thành phần sau trong một đồ thị cấp phát tài nguyên
a. Đỉnh của đồ thị: tập hợp các quá trình hoạt động trong hệ thống, chứa tất cả
các loại tài nguyên
b. Cạnh gán: thể hiện loại tài nguyên Rj đã được cấp phát tới quá trình Pi
c. Cạnh yêu cầu: quá trình Pi đã yêu cầu loại tài nguyên Rj và đang chờ loại tài
nguyên đó
48) Với một đồ thị cấp phát tài nguyên của một hệ thống nếu
a. Đồ thị không có vòng thì không có process nào trong hệ thống bị deadlock
b. Đồ thị có vòng thì tất cả process trong hệ thống bị deadlock
c. Đồ thị có vòng thì process trong vòng bị deadlock
d. Tất cả đều đúng
1) Cho biết địa chỉ vật lý của các địa chỉ logic sau
Segment Base Limit
0 100 600
1 300 84
2 1190 100
3 1300 180
4 2900 260

a. 0,430: ……530……………430<600…
b. 1,100: ……ko hop le……………… do 100 > 84
c. 2,50: …hop le………1240………..
d. 3,400: …………ko hop le…………
e. 4,232: …………ko hop le…………
2) Cho biết địa chỉ vật lý của các địa chỉ logic sau
Segment Base Limit
0 1000 230
1 1500 380
2 1720 80
3 1400 32
4 1600 100

a. 0,500: ……………ko hop le……….


b. 1,128: ………… hop le………….
c. 2,256: …………ko hop le………….
d. 3,8: ………hop le…………….
e. 4,128: ………ko hop le…………….
3) FCFS

Process Arrival time Burst time


P1 0 20
P2 5 10
P3 15 8
P4 20 10

a. 10
b. 12
c. 2
d. Khác
4) SJF

Process Burst time


P1 14
P2 6
P3 16
P4 8

a. 11
b. 17.5
c. 12
d. Khác
5) Preemptive SJF

Process Arrival time Burst time


P1 0 15
P2 5 8
P3 10 7
P4 15 9

a. 8
b. 7.5
c. 5.5
d. Khác
6) zPreemptive SJF

Process Arrival time Burst time


P1 0 20
P2 5 10
P3 10 6
P4 14 8
a. 7.75
b. 6
c. 9
d. Khác
7) Non-preemptive SJF

Process Arrival time Burst time


P1 0 20
P2 5 10
P3 10 8
P4 21 5

a. 7.5
b. 11.25
c. 7.75
d. Khác
8) RR

Process Burst time


P1 16
P2 10
P3 20
P4 6

a.20 b.13 c.27 d.Khác

2.1 Mục đích của việc gọi hệ thống là gì?

Answer: Lời gọi hệ thống cho phép các tiến trình theo cấp người sử dụng của hệ điều
hành.

2.2 Năm hoạt động chính của một hệ điều hành liên quan đến
quản lý quá trình?
Answer:

a. Việc tạo ra và xoá của hai tiến trình người dùng và hệ thống.
b. Việc trì hoãn và khôi phục lại tiến trình.
c. Việc cung cấp cơ chế để đồng bộ hóa tiến trình.
d. Cung cấp cơ chế cho quá trình truyền thông tin.
e. Cung cấp sơ chế để xử lí deadlock.

2.3 Ba yếu tố chính của hệ điều hành liên quan đến quản lý bộ nhớ?
Answer:

a. Theo dõi phần nào của bộ nhớ đang được sử dụng và được sử dụng bởi ai.
b. Quyết định tiến trình nào sẽ được nạp vào bộ nhớ khi bộ nhớ trống.
c. cấp phát và thu hồi cấp phát không gian bộ nhớ khi cần thiết.

2.4 3 yếu tố chính của hệ điều hành liên quan tới quản lí lưu trữ bộ nhớ thứ cấp?
Answer: Quản lí không gian trống.

Cấp phát bộ nhớ.

Định thời đĩa

2.5 Mục đích của thông dịch lệnh là gì? Tại sao nó thường tách biệt với nhân(kernel)?
Answer: Thông dịch lệnh(the command interpreter) đọc lệnh từ người dùng hay từ tập
tin của các lệnh(tập tin chứa các lệnh) và thực thi các lệnh đó, thường bằng cách
chuyển chúng vào 1 hay nhiều lời gọi hệ thống(system calls).Nó không phải là 1 phần
của nhân(kernel) kể từ khi thông dịch lệnh có thể thay đổi.

2.6 Lời gọi hệ thống có thể thi hành những gì bởi thông dịch lệnh hay bắt đầu một tiến trình
mới?
Answer: trong hệ điều hành unix, lời gọi hệ thống phân nhánh theo sau bởi lời gọi hệ
thống exec để bắt đầu 1 tiến trình mới.lời gọi phân nhánh để thực thi tiến trình hiện
tại, trong khi exec gọi 1 lớp tiến trình mới dựa trên 1 thực thi khác nhau trong quá
trình gọi.

2.7 Mục đích của chương trình hệ thống?


Answer: Chương trình hệ thống được xem như 1 tập hợp các lời gọi hệ thống. Chúng
cung cấp các chức năng cơ bản để người dùng có thể sử dụng mà không cần phải viết chương
trình riêng để giải quyết các vấn đề thông thường.
2.8 Những thuận lợi của phương pháp phân lớp để thiết kế hệ thống là gì?
Những nhược điểm của việc sử dụng các phương pháp tiếp cận lớp là gi?

Answer: Như trong tất cả các trường hợp thiết kế modular, thiết kế hệ điều hành trong
modular thì có nhiều ưu điểm:

- hệ thống thì dễ dàng hơn với việc gỡ rối và sữa đổi với những thay đổi chỉ
ảnh hưởng các phần của hệ thống đã được giới hạn hơn là chạm vào tất cả
các phần của hệ điều hành.
- Thông tin được lưu chỉ nơi nó cần và chỉ có thể truy cập trong 1 khu vực
được xác định và hạn chế, do đó, bất kì lỗi nào ảnh hưởng đến dữ liệu đó
phải được giới hạn trong 1 module cụ thể hay lớp.

2.9 Năm dịch vụ được cung cấp bởi hệ điều hành là.các dịch vụ đó cung cấp những tiện ích gì
cho user.trong trường hợp nào thì sẽ không cung cấp các dịch vụ này.
Answer:

a. Program execution(chương trình thực hiện):các hệ điều hành tải nội dung của 1 tập
tin vào bộ nhớ và thực thi nó.chương trình kết thúc thực thi có thể bình thường hay
không bình thường(hiển thị lỗi).

b. IO operarion(thao tác xuất nhập):đĩa, băng, và các thiết bị khác… được truyền đạt ở
mức rất thấp. Người sd chỉ cần xác định các thiết bị và hoạt động thực hiện trên đó,
trong khi hệ thống chuyển đổi yêu cầu vào thiết bị những lệnh điều khiển cụ
thể.Chương trình không thể tin cậy để truy cập thiết bị mà họ cần được tiếp cận và
truy cập chung chỉ khi họ không sử dụng.

c. File-system manipulation(Thao tác hệ thống tập tin) Có nhiều chi tiết trong việc tạo
ra tập tin, xóa, cấp phát, và đặt tên mà người dùng không cần phải có để thực hiện.
Khối không gian đĩa được sử dụng lưu các tập tin phải được theo dõi.Xóa một tập tin
cần loại bỏ các thông tin về tên và giải phóng các khối cấp. Bảo vệ, kiểm tra để đảm
bảo truy cập file thích hợp

d.Communication(Giao tiếp-truyền thông) Mọi quá trình cần trao đổi thông tin với các
quá trình khác.Xảy ra hai cách:

1: giao tiếp giữa các quá trình thưc thi trên cùng máy tính

2 : giao tiếp trên hai quá trình dang thực thi trên các máy tính khác nhau dang
được kết nối bởi mọt mạng may tính.được thực hiện bằng bộ nhớ được chia sẽ hay
bằng kĩ thuật truyền thông điệp,trong đó các gói tin được truyền đi giữa các quá trinh
bởi hệ điều hành.

e. Error detection(Phát hiện lỗi) Phát hiện lỗi xảy ra ở cả phần cứng và phần mềm
cấp(băng từ ổ đĩa….). Ở cấp độ phần cứng, tất cả các chuyển dữ liệu phải được kiểm
tra để đảm bảo rằng dữ liệu không bị hỏng trên đường vận chuyển.Tất cả dữ liệu trên
phương tiện truyền thông phải được kiểm tra để đảm bảo tính toán đúng và không
đổi.Tại phần mềm cấp, phương tiện truyền thông phải được kiểm tra dữ liệu thống
nhất
2.11 Những thuận lợi chính của phương pháp microkernel(vi nhân) để thiết kế hệ thống?

Answer:Các lợi ích:

a. thêm mới 1 dich vụ mà không cần yêu cầu sữa đổi nhân(kernel).
b. Nó thì an toàn hơn khi nhiều hoạt động thì được làm trong chế độ người dùng so
với chế độ nhân(kernel).
c. 1 thiết kế kernel đơn giản và chức năng thông thường kết quả trong 1 nhiều hơn
hệ điều hành đang tin cậy.

2.12 Tại sao làm 1 vài hệ thống lưu trữ của hệ điều hành trong phần cứng và trong đĩa?

Answer: Đối với thiết bị nhất định, chẳng hạn như diện thoại di động, PDA cầm tay,
một đĩa với 1 hệ thống tập tin có thể ko có sẵn cho điện thoại.Trong trường hợp này, hệ điều
hành phải được lưu trữ trong phần cứng.

2.13 Dựa trên cơ sở nào hệ thống co thể lựa chọn hệ điều hành để khởi động? Chương trình
khởi động cần phải làm gì ?

Answer: Xét 1 hệ thống chạy WinXP và 3 bảng phân phối Linux khác
nhau(RedHat,Debian và Mandrake). Mỗi hệ điều hành sẽ được lưu trữ trên đĩa.trong hệ thống
khỏi động,một chương trình đặc biệt sẽ xác định hệ điều hành để khởi động. Điều này có
nghĩa là thay vì khởi động ban đầu cho một hệ điều hành, quản lý khởi động sẽ chạy trước
trong suốt quá trình hệ thống khởi động. Đó là quản lý khởi động có trách nhiệm xác định hệ
thống để khởi động. Thông thường các nhà quản lý phải khởi động hdh được lưu trữ tại địa
điểm nhất định của đĩa cứng. Khởi động các nhà quản lý thường cung cấp các user với một
lựa chọn hệ thống để khởi động, quản lý khởi động cũng thường được thiết kế để khởi động
một hệ điều hành mặc định nếu không có sự lựa chọn của người dùng.

13.1 Phát biểu ba lợi thế của việc đặt các chức năng trong một thiết bị điều
khiển(device controller), hơn là trong hạt nhân(kernel). Phát biểu ba khó khăn.

Answer:

* Ba lợi thế:

+Lỗi ít có khả năng gây ra một hoạt động để làm hệ thống sụp đổ.

+Hiệu suất có thể được cải thiện bằng cách sử dụng phần cứng chuyên dụng và các
thuật toán mã hoá cứng.

+Hạt nhân thì được đơn giản hoá bằng cách di chuyển thuật toán ra khỏi nó
* Ba nhược điểm:

+Lỗi thì khó khăn hơn để sửa chữa - một phiên bản firmware mới hoặc phần cứng
mới là cần thiết.

+Cải thiện các thuật toán tương tự như vậy đòi hỏi phải cập nhật phần cứng hơn chỉ
là một hạt nhân hoặc cập nhật trình điều khiển thiết bị.

+Nhúng các thuật toán có thể xung đột với việc sử dụng ứng dụng, của các thiết bị
gây hiệu suất giảm.

13.2 Các ví dụ về bắt tay trong Section 13,2 sử dụng 2 bit: một bit làm việc và một 1
bit chờ lệnh. Có thể thực hiện điều này bắt tay với chỉ có 1 bit kh ông? Nếu có, mô tả
các giao thức. Nếu không, hãy giải thích tại sao 1 bit là không đủ.

Answer:

Có thể, bằng cách sử dụng thuật toán sau đây. Giả sử chúng ta chỉ cần sử dụng
các bit làm viec (hoặc bit chờ lệnh; câu trả lời này là như nhau không phân
biệt). Khi bit được tắt, điều khiển được nhàn rỗi.
Máy chủ viết cho ra dữ liệu và đặt bit để báo hiệu rằng một hoạt động được
sẵn sàng (tương đương với việc thiết lập bit ch ờ lệnh ). Khi điều khiển hoàn
tất, nó sẽ xóa sạch các bit l àm vi ệc. m áy ch ủ sau đó khởi hoạt động tiếp
theo.

Giải pháp này yêu cầu cả hai máy chủ và bộ điều khiển đã đọc và ghi vào cùng
một bit,có thể l àm phức tạp mạch và tăng chi phí điều khiển.

13.3 Tại sao một hệ thống có thể sử dụng hướng gián đoạn I/O, để quản lý một nối
tiếp đơn cổng, nhưng bỏ phiếu I / O để quản lý một bộ xử lý đầu cuối, giống như thiết bị đầu
cuối tập trung không?

Answer:

Bỏ phiếu có thể được hiệu quả hơn gián đoạn I / O. Điều này
là trường hợp khi các I / O làm thường xuyên và trong thời gian ngắn. Mặc dù
một đơn cổng nối tiếp sẽ thực hiện I / O tương đối thường xuyên và nên
do đó sử dụng gián đoạn, một bộ sưu tập của cổng nối tiếp như là các thiết bị
đầu cuối
tập trung có thể sản xuất rất nhiều hoạt I/O động ngắn, và làm gián đoạn
lập với nhau có thể tạo ra một gánh nặng trên hệ thống. 1 Vòng bỏ phiếu đúng
lúc
có thể giảm bớt được tải mà không lãng phí nhiều nguồn tài nguyên
thông qua vòng lặp không có I / O cần thiết.
13.4 nếu xử lý lặp lại một vòng lặp chờ bận rộn, nhiều lần trước khi các I / O
hoàn tất. Nhưng nếu các I / O thiết bị đã sẵn sàng cho dịch vụ, bỏ phiếu có thể được nhiều
hiệu quả hơn là đánh bắt và gửi một gián đoạn. Mô tả
một chiến lược lai kết hợp bỏ phiếu, ngủ, và gián đoạn cho
I / O thiết bị dịch vụ. Đối với mỗi trong số ba chiến lược (bỏ phiếu trong sạch, tinh khiết
ngắt, lai), mô tả một môi trường máy tính trong đó có
chiến lược hiệu quả hơn là một trong những người khác.

Answer:

Một cách tiếp cận lai có thể chuyển đổi giữa các phòng phiếu và gián đoạn
tùy thuộc vào độ dài của các I / O hoạt động chờ đợi. Ví dụ,
chúng ta có thể thăm dò ý kiến và vòng N lần, và nếu thiết bị vẫn còn bận rộn
tại N +1,
chúng ta có thể thiết lập một ngắt và ngủ. Cách tiếp cận này sẽ tránh dài
bận rộn, chờ đợi chu kỳ. Phương pháp này sẽ là tốt nhất cho rất dài hoặc rất
ngắn thời gian bận rộn. Nó sẽ là không hiệu quả đó là I / O hoàn thành tại N +
T
(Trong đó T là một số nhỏ các chu kỳ) do chi phí của các phòng phiếu
cộng với việc thiết lập và bắt ngắt.
Tinh Khiết bỏ phiếu là tốt nhất với thời gian chờ đợi rất ngắn. Ngắt là tốt nhất
với
được biết đến thời gian chờ đợi lâu.

13.5 Làm thế nào để hệ thống tăng DMA đồng thời? Thiết kế phần cứng Phức tạp như thế
nào?

Answer:

DMA gia tăng đồng thời hệ thống bằng cách cho phép các CPU
thực hiện nhiệm vụ trong khi hệ thống truyền dữ liệu DMA qua hệ thống
và bộ nhớ bus. thiết kế phần cứng phức tạp vì DMA
điều khiển phải được tích hợp vào hệ thống, và hệ thống phải
cho phép bộ điều khiển DMA là một bus chủ. Chu kỳ cũng có thể ăn cắp
là cần thiết để cho phép CPU và bộ điều khiển DMA để sử dụng chia sẻ của
bus bộ nhớ

13.6 Tại sao nói quan trọng khi mở rộng quy mô bus v à tốc độ hệ thống thiết bị để CPU
tốc độ tăng?

Answer:

Xem xét một hệ thống, thực hiện 50% I / O và 50% tính to án.
Tăng gấp đôi hiệu suất CPU trên hệ thống này sẽ tăng
hệ thống tổng hiệu suất chỉ 50%. Tăng gấp đôi cả hai khía cạnh hệ thống
sẽ tăng hiệu suất bằng 100%. Nói chung, điều quan trọng để loại bỏ
các nút cổ chai hệ thống hiện tại, và để gia tăng của toàn hệ thống
thực hiện, hơn là mù quáng tăng hiệu suất của các cá nhân
hệ thống các thành phần.

13.7 Phân biệt giữa một trình điều khiển dòng và mô-đun một dòng.

Answer:

Các trình điều khiển dòng điều khiển một thiết bị vật lý có thể được
tham gia vào một hoạt động c ủa d òng. Các module dòng sửa đổi
luồng dữ liệu giữa người đứng đầu (giao diện người dùng) và trình điều khiển

FILE SYSTEM IMPLEMENTATION

Câu 1:

Hãy xem xét một tập tin hiện tại bao gồm 100 khối. Giả sử rằng khối điều khiển tập tin
(và ngăn chặn các chỉ số, trong trường hợp chỉ số mục được cấp phát) là đã có trong bộ
nhớ. Tính có bao nhiêu đĩa I / O hoạt động được yêu cầu để tiếp cận, liên kết, và lập chỉ
mục (đơn cấp) chiến lược phân bổ cho một khối.Trong trường hợp tiếp cận phân bổ, giả
định rằng không có chỗ để bắt đầu phát triển, nhưng có chỗ để phát triển kết thúc. Giả
sử rằng các khối thông tin sẽ được thêm vào lưu trữ trong bộ nhớ.
a. khối này sẽ được thêm ngay từ đầu.
b. khối này được thêm vào ở giữa.
c. khối này sẽ được thêm vào cuối.
d. khối được lấy ra từ đầu.
e. khối được lấy ra từ giữa.
f. khối được lấy ra từ cuối

Ans:

Contiguous Linked Indexed

a. 201 1 1

b. 101 52 1

c. 1 3 1

d. 198 1 0

e. 98 52 0

f. 0 100 0

Câu 2

Những vấn đề gì có thể xảy ra nếu như một hệ thống cho phép một hệ thống tập tin
được gắn kết đồng thời tại nhiều hơn 1 vị trí?
Ans:
Vấn đề là sẽ có nhiều đường đến cùng một tập tin, điều đó có thể gây nhầm lẫn cho người sử
dụng hoặc làm tăng những sai lầm (xóa một tập tin với một đường dẫn xóa các tập tin trong
tất cả các đường dẫn khác).

Câu 3:
Tại sao sơ đồ bit cho sự cấp phát tập tin phải được giữ trên khối lượng lưu trữ , thay vì
trong bộ nhớ chính?

Ans:
Vì trong trường hợp hệ thống bị treo (bộ nhớ bị lỗi) thì trong danh sách không gian trống sẽ
không bị mất tập tin,nhưng nó sẽ có thể mất nếu các sơ đồ bit đã được lưu trữ trong chính bộ
nhớ.

Câu 4:

Xét một hệ thống có hỗ trợ các chiến lược cấp phát liên tục, cấp phát liên kết,và cấp
phát chỉ mục.Cái tiêu chuẩn nào nên được sử dụng trong việc giải quyết có hiệu quả tốt
nhất cho một tập tin cụ thể?

Ans:
- Cấp phát liên tục: nếu tập tin thường được truy cập liên tục, nếu tập tin là tương đối nhỏ.
- Câp phát liên kết-nếu tập tin là lớn và thường truy cập liên tục.
- Cấp phát chỉ mục, nếu tập tin là lớn và thường truy cập ngẫu nhiên.

Câu 5:

1 vấn đề về cấp phát liên tục là người dùng phải cấp phát lại cho đủ không gian của
mỗi tập tin.Nếu như tập tin phát triển lớn hơn không gian cấp phát của nó,những hành
động đặc biệt phải được thực hiện. 1 phương pháp giải quyết cho vấn đề này là để xác
định cấu trúc tập tin bao gồm 1 khu vực tiếp giáp ban đầu(của 1 kích thước xác
định).Nếu khu vực này đầy, thì hoạt động của hệ thống tự động xác định diện tích đầy
mà có liên quan đến khu vực tiếp giáp ban đầu. Nếu diện tích đầy, một khu vực được
phân bổ. Hãy so sánh việc thực hiện của một tập tin với các tiêu chuẩn liên tục và thực
hiện liên kết .

Ans:

- Phương pháp này đòi hỏi chi phí cao hơn tiêu chuẩn cấp phát liên tục
- Nhưng nó lại đòi hỏi chi phí thấp hơn tiêu chuẩn cấp phát liên kết.

Câu 6:

Bộ nhớ đệm làm như thế nào để giúp cải thiện hiệu suất? Tại sao hệ thống không sử
dụng nhiều bộ nhớ đệm hơn or lớn hơn nếu như chúng là hữu ích?

Ans:

- Bộ nhớ đệm cho phép nhiều thành phần tốc độ khác nhau để truyền đạt hiệu quả hơn
bởi bộ lưu trữ dữ liệu với thiết bị chậm hơn, tạm thời,trong một thiết bị nhanh hơn
(bộ nhớ đệm). Bộ nhớ đệm gần như theo định nghĩa thì đắt hơn các thiết bị là bộ nhớ
đệm , để tăng số lượng hoặc kích thước của bộ nhớ đệm sẽ làm tăng chi phí của hệ
thống.

Câu 7:

Tại sao nó(bộ nhớ đệm) có lợi cho người sử dụng một hệ điều hành tự động cấp phát
trong nội bộ các bảng của chính nó? Các hình phạt gì từ hệ điều hành làm như vậy?

Ans:

Vì chức năng của bảng cho phép linh hoạt hơn trong hệ thống sử dụng các bảng mở rộng sẽ
không bao giờ vượt quá, tránh sử dụng các giới hạn nhân tạo. Thật không may,cấu trúc hạt
nhân và mã phức tạp hơn, do đó, có nhiều khả năng xảy ra lỗi. Việc sử dụng một hệ thống tài
nguyên có thể mất đi nhiều hơn nguồn lực (bằng cách phát triển để thích ứng với yêu cầu) so
với tĩnh bảng.

Câu 8:

Hãy giải thích làm như thế nào để lớp VFS cho phép một hệ điều hành dễ dàng hỗ trợ
nhiều loại hệ thống tập tin.

Ans:

VFS giới thiệu một lớp gián tiếp thực hiện hệ thống tập tin. Trong nhiều cách, nó tương tự
như kỹ thuật lập trình hướng đối tượng. Hệ thống các cuộc gọi có thể được thực hiện khái
quát (độc lập với kiểu tập tin hệ thống ). Mỗi kiểu tập tin hệ thống cung cấp các chức năng
gọi(call) và cấu trúc dữ liệu của nó với lớp VFS. Một cuộc gọi hệ thống được phiên dịch vào
đúng từng chức năng cụ thể cho mục tiêu tập tin hệ thống tại lớp VFS. Các chương trình cuộc
gọi không có mã tập tin hệ thống cụ thể, và các tầng trên của hệ thống cấu trúc cuộc gọi cũng
tương tự như hệ thống tập tin độc lập. Các tầng phiên dịch tại lớp VFS chuyển các cuộc gọi
cùng loại vào từng hoạt động của hệ thống tập tin cụ thể.

FILE SYSTEM INTERFACE

Câu 10.1

- 1 số hệ thống tự động xóa tất cả các file khi user logoff trừ phi User chỉ định save
chúng lại.
- 1 số hệ thống lại tự động save các file trừ phi User chỉ định delete chúng
Hãy thảo luận về 2 vấn đề trên?

Ans:
- Hệ thống tự động xóa file mà User ko cần thiết nhằm hạn chế tối đa không gian bộ nhớ cho
User.
- Lưu tất cả các file mà User ko chỉ định xóa an toàn nhằm hạn chế mất dữ liệu mà User vô
tình xóa, hoặc quên save => Recycle Bin

Câu 10.2

2 hệ thống trên thì hệ thống nào tốt hơn?


Ans:
- Mỗi hệ thống đều có những ưu điểm riêng tùy theo nhu cầu sử dụng của User
+ Hệ thống tự xóa thì giúp cho User giải phóng bộ nhớ, giúp cho các quá trình xử lý nhanh
hơn
+ Hệ thống lưu trữ thì giúp cho User hạn chế mất dữ liệu
-Nhưng tổng quát thì hệ thống tự xóa sẽ tốt hơn vì có thể sử dụng maximum bộ nhớ của hệ
thống(xóa catche)

Câu 10.3

Một số hệ thống thì hỗ trợ nhiều loại cấu trúc cho một tập tin của dữ liệu, trong khi
những hệ thống khác chỉ đơn giản là hỗ trợ một dạng byte. Điều gì là lợi thế và bất lợi?

Ans:
+ Lợi thế : việc hổ trợ các loại cấu trúc cho 1 tập tin là hổ trợ chủ yếu từ hệ thống, cá nhân ko
bắt buộc phải cung cấp hổ trợ này. Ngoài ra, nếu hệ thống cung cấp hỗ trợ cho tập tin có các
cấu trúc khác nhau, điều này có thể thực hiện đầy đủ và hỗ trợ hiệu quả hơn cho một ứng
dụng.

+ Bất lợi : của việc có sự hỗ trợ nhiều loại cấu trúc cho tập tin là làm tăng kích thước tập tin
trong hệ thống. Ngoài ra, các ứng dụng có thể yêu cầu các loại tập tin khác nhau, khác với
những gì được cung cấp bởi hệ thống , vì thế có thể không có khả năng chạy được trên hệ
thống.

Một chiến lược để thay thế cho các hệ thống không có hỗ trợ các cấu trúc tập tin và thay vào
đó để xử lý tất cả các tập tin như là một chuỗi các byte. Đây là phương pháp của hệ thống
UNIX.
+ Ưu điểm của phương pháp này là nó đơn giản hóa các hổ trợ từ hệ điều hành cho các tập
tin hệ thống, như là hệ thống không còn hổ trợ các loại cấu trúc cho các tập tin. Hơn nữa, nó
cho phép các ứng dụng có thể xác định cấu trúc tập tin, do đó làm giảm bớt các trường hợp là
một hệ thống không thể cung cấp một cấu trúc tập tin cần thiết cho một ứng dụng cụ thể.

Câu 10.4

Bạn có thể mô phỏng một cấu trúc thư mục đa cấp với một 1 cấu trúc thư mục đơn cấp
khi độ dài của tên được sử dụng tùy ý?
+ Nếu là có, hãy giải thích bạn đã làm điều đó như thế nào và nêu sự khác nhau của 2
mô hình cấu trúc này .
+ Nếu là không, giải thích những gì ngăn chặn mô phỏng của bạn thành công. Làm thế
nào bạn sẽ thay đổi câu trả lời nếu tên tập tin được giới hạn đến bảy ký tự?

Ans:
a. Nếu độ dài tên tùy ý thì có thể sử dụng mô phỏng cấu trúc thư mục đa cấp được. Điều này
có thể được thực hiện.
Ví dụ:
Bằng cách sử dụng các ký tự "." để cho biết sự kết thúc của một thư mục con.
Ví dụ, tên jim.java.F1: xác định rằng F1 là một tập tin trong thư mục con java mà lần lượt là
trong thư mục gốc jim.
b. Nếu tên tập tin được giới hạn đến bảy ký tự, thì sơ đồ trên có thể không được sử dụng và
do đó, nói chung, câu trả lời là không.
=>Phương pháp tiếp cận tốt nhất trong tình huống này là sẽ sử dụng một tập tin đặc biệt như
là một biểu tượng bảng (thư mục) để lập bản đồ có độ dài tên tùy ý (như jim.java.F1)đến độ
dài tên ngắn hơn tùy ý (như XX00743), cái mà sau đó được sử dụng để truy cập tập tin thực
tế.

Câu 10.5

Hãy giải thích mục đích của mở và đóng tiến trình?

Ans:
- Việc mở 1 tiến trình nhằm thông báo cho hệ thống biết hoạt động của 1 tên file nào đó.
- Việc đóng 1 tiến trình nhằm thông báo cho hệ thống biết rằng 1 tập tin nào đó ko còn
được sử dụng nữa bởi user, người mà đưa ra việc đóng tiến trình.

Câu 10.6

Hãy cho một ví dụ của một ứng dụng, trong đó dữ liệu trong một tập tin được
truy cập theo thứ tự sau:
a. Sequentially (liên tục)
b.Randomly (ngẫu nhiên)

Ans:

a. In ra nội dung của file.


b. In ra nội dung của bảng ghi i. Bảng ghi này có thể được tìm thấy bằng cách sử dụng
hàm hashing or kỹ thuật index

Câu 10.7

Trong một số hệ thống, thư mục con có thể được đọc và được viết bởi chính tác giả
user đó, cũng giống như tập tin thông thường có thể được.
a.Mô tả những vấn đề bảo vệ có thể phát sinh.
b.Hãy đưa ra kế hoạch đối phó với mỗi vấn đề bảo vệ được đưa ra ở câu a.

Ans:

a.Một mẫu thông tin được lưu trữ lại trong 1 danh sách thư mục là vị trí của tập tin.
Nếu user thay đổi vị trí đó, sau đó người đó lại truy xuất 1 tập tin khác thất bại=> đề án bảo
vệ truy cập.
b.Không cho phép user ghi trực tiếp vào thư mục con. Thay vào đó, cung cấp cho
hoạt động hệ thống để làm điều đó.

Câu 10.8

Xem xét một hệ thống hỗ trợ 5.000 người dùng. Giả sử bạn muốn cho phép 4990 người
sử dụng có thể truy cập một tập tin.
a. Bạn có thể làm như thế nào để chỉ định sự bảo vệ này trong Unix?
b. Bạn có thể đưa ra kế hoạch bảo vệ nào khác mà có mục đích hiệu quả hơn so
với đề án bảo vệ do Unix cung cấp không?
Ans:

a.Có 2 cách thực hiện được việc này là:


- Tạo một danh sách điều khiển truy cập với tên của tất cả 4990 người sử dụng
- Đưa 4990 người sử dụng vào trong một nhóm và thiết lập các truy cập nhóm
phù hợp. Chương trình này không thể luôn luôn được thực hiện khi nhóm người sử dùng bị
hạn chế bởi hệ thống.
b. Toàn bộ những truy xuất từ tập tin được áp dụng cho tất cả người dùng, trừ khi tên
đó xuất hiện trong danh sách điều khiển truy xuất với sự chấp nhận truy xuất khác. Với
chương trình này, bạn chỉ cần đưa tên của mười người dùng còn lại vào trong danh sách điều
khiển truy cập nhưng không cho phép có quyền truy cập đặc quyền .

Câu 10.9

Các nhà nghiên cứu đã cho rằng, thay vì có một danh sách truy cập có liên quan với mỗi
tập tin (quy định cụ thể mà người dùng có thể truy cập các tập tin, và làm thế nào),
chúng ta cần phải có một danh sách điều khiển người dùng kết hợp với mỗi người dùng
(quy định cụ thể các tập tin người dùng có thể truy cập, và làm thế nào). Thảo luận về
tương đối giá trị của hai đề án.

Ans:

- Danh sách tập tin điều khiển: khi thông tin kiểm soát truy cập tập trung ở vị trí duy
nhất, điều đó thì dễ dàng hơn để thay đổi thông tin điều khiển truy cập và điều này đòi hỏi
không gian ít hơn.
- Danh sách kiểm soát người dùng : Điều này đòi hỏi chi phi thấp hơn khi mở 1 tập
tin.

5.1 Một thuật toán lập lịch CPU ( CPU scheduling) xác định một sự sắp xếp cho việc
thực hiện của những hoạch định tiến trình. Cho n tiến trình sẽ được hoạch định trên 1
bộ xử lí, có bao nhiêu lịch trình khác nhau có thể xảy ra ở đó ? Đưa ra 1 công thức
thuật ngữ về n

- Answer: n! (n factorial = n × n – 1 × n – 2 × ... × 2 × 1).

5.2 Định nghĩa sự khác nhau giữa preemptive scheduling (sự lập lịch không ưu tiên)
và nonpreemptive scheduling (sự lập lịch ưu tiên)

-Anwer:

+ Preemptive scheduling (sự lập lịch không ưu tiên):

_ Cho phép 1 tiến trình được gián đoạn trong quá trình thực hiện của

_ Mang CPU ra và cấp phát nó cho 1 tiến trình khác

+ Nonpreemptive scheduling (sự lập lịch ưu tiên)

_ Đảm bảo rằng 1 tiến trình chỉ từ bỏ kiểm soát của CPU khi nó kết
thúc với CPU xử lí hiện tại của nó
5.3 Giả sử những tiến trình sau đây đến để thực hiện vào thời điểm chỉ định. Mỗi tiến
trình chạy sẽ được liệt kê số lượng của thời gian nó chạy. Trong trả lời các câu hỏi, sử
dụng Nonpreemptive scheduling (sự lập lịch ưu tiên) và cơ sở tất cả các quết định về
thông tin mà bạn có tại thời điểm quyết định này phải được thực hiện.

Process Arrival Time Burst Time

(Tiến trình) (Thời gian đến nơi) (Thời gian xử lí)

P1 0.0 8

P2 0.4 4

P3 1.0 1

a) Thời gian chờ trung bình cho tiến trình này với thuật toán FCFS (First Come,
First Server) là: 10.53
b) Thời gian chờ trung bình cho tiến trình này với thuật toán SJF (Short Test Job
First) là: 9.53
c) Giải thuật SJF phải cải thiện hiệu suất, nhưng thông báo rằng chúng ta đã chọn
để chạy quá trình P1 tại thời điểm 0 bởi vì chúng ta không biết 2 tiến trình
ngắn hơn nào sẽ đến sớm. Tính toán được rằng thời gian chờ trung bình sẽ là
nếu CPU bỏ đi nhàn rỗi cho 1 đơn vị đầu tiên và sau đó sự lập lịch SJF được
sử dụng. Hãy nhớ rằng tiến trình P1 và P2 đang chờ trong thời gian nhàn rỗi
này vì thế thời gian chờ đợi của chúng có thể tăng. Giải thuật này có thể được
gọi như kiến thức lập lịch của tương lai: 6.86
Remember: Thời gian chờ là thời gian kết thúc trừ thời gian đến, vì thế bạn phải
trừ thời gian đến để tính toán thời gian luân chuyển. FCFS sẽ là 11 nếu bạn quên
trừ thời gian đến

5.4 Điều gì là có lợi thế trong việc có thời gian định lượng (time-quantum) khác nhau
kích cỡ trên cấp độ khác nhau của một hệ thống hàng đợi nhiều cấp (Multilevel
Queue)?

-Answer: Quy trình cần phục vụ thường xuyên hơn, ví dụ, tiến trình tương tác như các
biên tập viên, có thể xếp trong hàng đợi với một thời gian định lượng nhỏ. Tiến trình
không có nhu cầu phục vụ thường xuyên có thể được xếp trong hàng đợi với một thời
gian định lượng lớn hơn, yêu cầu những sự chuyển đổi văn cảnh (context) ít hơn để
hoàn thành việc xử lý, và như vậy việc làm hiệu quả hơn khi sử dụng.

5.5 Nhiều thuật toán lập lịch CPU là tham số. Ví dụ, thuật toán RR yêu cầu một tham số để
chỉ ra các lát thời gian. Hàng đợi phản hồi nhiều cấp(Multilevel feedback queues) yêu cầu các
thông số để xác định số lượng hàng đợi, việc lập lịch trình các thuật toán cho mỗi hàng đợi,
các tiêu chuẩn được sử dụng để di chuyển các quy trình giữa các hàng đợi, và v…v… Những
thuật toán này thực sự tập hợp các thuật toán (Ví dụ, tập hợp của các thuật toán RR cho tất cả
các lát thời gian, v..v..). Một tập hợp các thuật toán có thể bao gồm một (Ví dụ, thuật toán
FCFS là thuật toán RR với một thời gian định lượng vô hạn). Quan hệ nào nắm giữ giữa các
cặp sau của bộ của các thuật toán?

a. Priority and SJF

b. Multilevel feedback queues and FCFS

c. Priority and FCFS

d. RR and SJF

- Answer:

a. Các công việc ngắn nhất có ưu tiên cao nhất.

b. Mức thấp nhất của MLFQ là FCFS.

c. FCFS đưa quyền ưu tiên cao nhất cho công việc có tồn tại dài nhất.

d. Không có

5.6 Giả sử một thuật toán lập lịch (Ở mức độ CPU lập lịch ngắn hạn) ủng hộ những
tiến trình đã sử dụng thời gian xử lý ít nhất trong thời gian qua. Tại sao thuật toán này
có lợi cho các chương trình I/O-ràng buộc (I/O-bound) và tuy thế không thường
xuyên làm chết đói những chương trình CPU- ranh giới (CPU-bound)?

- Answer: Có lợi cho các chương trình I/O-ràng buộc (I/O-bound) vì những CPU xử lí
yêu cầu tương đối ngắn của chúng. Tuy nhiên, các chương trình CPU- ranh giới
(CPU-bound ) sẽ không chết đói bởi vì các chương trình I/O-ràng buộc sẽ từ bỏ các
CPU tương đối thường xuyên đển I/O của chúng.

5.7 Phân biệt giữa bộ lập lịch PCS (PCS scheduling) và bộ lập lịch SCS (SCS
scheduling).

- Answer: bộ lập lịch PCS được thực hiện tại vị trí đối với tiến trình. Nó là cách thư
viện đề lịch chủ đề vào LWPs có sẵn. Bộ lập lịch SCS là trường hợp mà các hệ điều
hành lập lịch những luồng nhân. Trên hệ thống bằng cách sử dụng nhiều-một hoặc
nhiều-nhiều (many-to-one ormany-to-many), hai mô hình lập lichj căn bản là khác
nhau. Trên hệ thống sử dụng một -một (one-to-one), PCS và SCS là như nhau.

5.8 Giả sử một người sử dụng hệ điều hành cấp bản đồ chủ đề cho hạt nhân bằng cách
sử dụng mô hình many-to-many nơi lập lich được thực hiện thông qua việc sử dụng
các LWPs. Hơn nữa, hệ thống này cho phép các nhà phát triển chương trình để tạo ra
chủ đề theo thời gian thực. Có cần thiết để ràng buộc một sợi thời gian thực tới một
LWP?
- Answer: Có, nếu không một chủ đề người dùng có thể phải cạnh tranh cho một LWP
có sẵn trước khi được thực sự dự kiến. Bằng cách ràng buộc các chủ đề người sử dụng
một LWP, không có độ trễ trong khi chờ đợi một LWP có sẵn, luồng sử dụng thời
gian thực có thể được sắp xếp ngay lập tức.

❖ Chu kỳ CPU-I/O

▪ CPU-bound process có thời gian sử dụng CPU nhiều hơn thời gian sử dụng
I/O
▪ Phần lớn thời gian của I/O-bound process dùng để đợi I/O

❖ Phân loại các hoạt động định thời


▪ Định thời dài hạn (long-term scheduling):
+ Xác định chương trình nào sẽ được đưa vào hệ thống để thực thi
+ Quyết định mức độ đa chương (degree of multiprogramming)
+ Nếu càng nhiều process được đưa vào hệ thống
▪ Khả năng các process bị block có xu hướng giảm
▪ Sử dụng CPU hiệu quả hơn
▪ Mỗi process được phân chia khoảng thời gian sử dụng CPU thấp hơn
+ Thường có xu hướng đưa vào một tập lẫn lộn các CPU-bound process và
I/O-bound process

▪ Định thời trung hạn (medium-term sched.): process nào được đưa vào (swap
in), đưa ra khỏi (swap out) bộ nhớ chính
+ Quyết định về việc đưa process vào bộ nhớ chính, hay ra khỏi bộ nhớ
chính phụ thuộc vào yêu cầu quản lý đa chương (multiprogramming)
▪ Cho phép bộ định thời dài hạn chấp nhận nhiều process hơn số
lượng process mà có tổng kích thước được chứa vừa trong bộ nhớ
chính
▪ Nhưng nếu có quá nhiều process thì sẽ làm tăng việc truy xuất đĩa,
do đó cần phải lựa chọn đa chương (multiprogramming)cho phù
hợp
+ Được thực hiện bởi phần mềm quản lý bộ nhớ

▪ Định thời ngắn hạn (short-term sched.): process nào được thực thi tiếp theo
+ Xác định process nào được thực thi tiếp theo, còn gọi là định thời CPU
+ Được kích hoạt khi có một sự kiện có thể dẫn đến khả năng chọn một
process để thực thi
▪ Ngắt thời gian (clock interrupt)
▪ Ngắt ngoại vi (I/O interrupt)
▪ Lời gọi hệ thống (operating system call)
▪ Signal

❖ Tiêu chí định thời


+ Độ lợi CPU (CPU utilization): tối đa hoá
▪ Khoảng thời gian CPU bận, từ 0% đến 100%
▪ Cần giữ cho CPU càng bận càng tốt
+ Thời gian chờ (waiting time): tối thiểu hoá
▪ Thời gian chờ trong hàng đợi ready
▪ Các process nên được chia sẻ việc sử dụng CPU một cách công
bằng (fair share)
+ Thông năng (throughput): tối đa hoá
▪ Số lượng process hoàn tất trong một đơn vị thời gian
+ Thời gian đáp ứng (response time) : tối thiểu hoá
▪ Thời gian từ lúc có yêu cầu của người dùng (user request) đến khi
có đáp ứng đầu tiên (lưu ý: đáp ứng đầu tiên, chứ không phải
output)
▪ Thường là vấn đề với các I/O-bound process
+ Thời gian quay vòng (turnaround time): tối thiểu hoá
▪ Thời gian để một process hoàn tất, kể từ lúc nạp vào hệ thống
(submission) đến lúc kết thúc (termination)
▪ Là một trị đặc trưng cần quan tâm với các process thuộc dạng
CPU-bound
+ Thời gian quay vòng trung bình (average turnaround time)
+ Chế độ quyết định (decision mode)
▪ Chọn thời điểm hàm lựa chọn định thời thực thi
▪ Nonpreemptive (không ưu tiên)
• Một process sẽ ở trạng thái running cho đến khi nó bị block
hoặc nó kết thúc
o Chuyển từ trạng thái running sang waiting
o Kết thúc thực thi
▪ Preemptive(ưu tiên)
• Process đang thực thi có thể bị ngắt và chuyển về trạng thái
ready
• Tránh trường hợp một process độc chiếm (monopolizing)
CPU
o Chuyển từ trạng thái running sang ready
o Chuyển từ trạng thái waiting, new sang ready

❖ Dispatcher
+ Dispatcher sẽ chuyển quyền điều khiển CPU về cho process được chọn bởi
bộ định thời ngắn hạn
+ Bao gồm:
▪ Chuyển ngữ cảnh (sử dụng thông tin ngữ cảnh trong PCB)
▪ Chuyển về user mode
▪ Nhảy đến vị trí thích hợp trong chương trình ứng dụng để khởi động
lại chương trình (chính là program counter trong PCB)
+ Công việc này gây ra phí tổn
▪ Dispatch latency: thời gian mà dispatcher dừng một process và khởi
động một process khác

❖ Scheduling Algorithms (thuật toán lập lịch)


+ First Come First Served (FCFS)
▪ Hàm lựa chọn: chọn process đợi trong hàng đợi ready lâu nhất
▪ Chế độ quyết định: nonpreemptive
• Một process sẽ được thực thi cho đến khi nó bị block hoặc kết thúc
▪ FCFS thường được quản lý bằng một FIFO queue
▪ Example:
Process Burst time (ms)

P1 24
P2 3

P3 3

• Giả sử các process đến theo thứ tự P1 , P2 , P3


• Giản đồ Gantt cho việc định thời là:

• Thời gian đợi cho P1 = 0, P2 = 24, P3 = 27


• Thời gian đợi trung bình: (0 + 24 + 27)/3 = 17

+ Shortest Job First (SJF)*


Hàm lựa chọn: chọn process có thời gian thực thi CPU(CPU burst) nhỏ nhất sẽ được chọn
thực thi

▪ Chế độ quyết định: nonpreemptive


• Một process sẽ được thực thi cho đến khi nó bị block hoặc kết thúc
▪ Yêu cầu phải tính được thời gian thực thi CPU của process
▪ Example:

Process Burst Time

P1 6

P2 8

P3 7

P4 3

▪ Giản đồ Gantt khi định thời theo SJF

▪ Thời gian đợi trung bình = (3 + 16 + 9 + 0) / 4 = 7

▪ Dự đoán thời gian sử dụng CPU


(Thời gian sử dụng CPU chính là độ dài của CPU burst)
• Trung bình tất cả các CPU burst đo được trong quá khứ
• Nhưng thông thường những CPU burst càng mới càng phản ánh
đúng hành vi của process trong tương lai
• Một kỹ thuật thường dùng là sử dụng trung bình hàm mũ
(exponential averaging)
▪ τn+1 = tn + (1 - ) τn , 0 1
▪ τn+1 = tn + (1- ) tn-1 +…+ (1- )j τn-j +…+ (1-
)n+1 τ0
▪ Nếu chọn = ½ thì có nghĩa là trị đo được tn và trị dự đoán
τn được xem quan trọng như nhau.

6.1 Trong Phần 6.4, chúng ta đã đề cập việc cấm ngắt (disabling interrupts) thường xuyên có
thể ảnh hưởng đến đồng hồ của hệ thống (system’s clock). Giải thích lý do tại sao nó có thể
và làm thế nào để việc này có thể được giảm thiểu.

- Answer: Đồng hồ hệ thống được cập nhật lại mỗi khi các đồng hồ gián đoạn. Nếu
gián đoạn việc vô hiệu hóa đặc biệt (disabled-particularly) trong một thời gian dài.
Điều đó có thể làm đồng hồ của hệ thống chạy không chính xác. Các hệ thống đồng
hồ cũng được sử dụng cho mục đích lập kế hoạch. Ví dụ, lượng tử thời gian (time
quantum) cho một tiến trình được thể hiện như một số của nấc đồng hồ (clock ticks).
Mỗi khi đồng hồ gián đoạn (clock interrupt), lịch trình xác định (scheduler
determines) nếu lượng tử thời gian (time quantum) cho các tiến trình đang chạy hiện
tại đã hết hạn. Nếu ngắt đồng hồ đã bị vô hiệu hoá, các lịch trình có thể không chính
xác ấn định thời gian các lượng tử. Hiệu ứng này có thể được giảm thiểu bằng cách vô
hiệu hoá các ngắt đồng hồ chỉ thời gian rất ngắn.
6.2 Vấn đề thuốc lá hút thuốc (Cigarette-Smokers). Xem xét một hệ thống với ba tiến trình
hút thuốc và một tiến trình đại lý. Mỗi người hút thuốc liên tục cuộn một điếu thuốc và sau đó
hút nó.

Nhưng để cuộn và hút một điếu thuốc lá, người hút thuốc cần ba thành phần: thuốc lá, giấy,
và diêm. Một trong những tiến trình (người hút thuốc) có giấy, một có thuốc lá, và thứ ba đã
có diêm. Đại lý có một nguồn cung cấp vô hạn cả ba nguyên liệu trên. Hai nơi đại lý của các
thành phần trên bàn. Những người hút thuốc có thành phần còn lại sau đó làm và hút một
điếu thuốc lá, báo hiệu các đại lý hoàn thành. Đại lý sau đó đặt ra hai trong ba thành phần, và
chu kỳ lặp lại. Viết chương trình đồng bộ hóa các đại lý và người hút thuốc bằng cách sử
dụng Java đồng bộ hóa (Java synchronization.).

- Answer: Xin vui lòng tham khảo các trang web hỗ trợ cho các giải pháp mã nguồn.

6.3 Những lý do tại sao Solaris, Windows XP, và Linux thực hiện cơ chế nhiều khóa
(multiple

locking mechanisms). Mô tả những tình huống mà họ sử dụng spinlocks, mutexes,


semaphores, adaptive mutexes, and condition variables (các biến điều kiện). Trong mỗi
trường hợp, giải thích lý do tại sao cơ chế này là cần thiết.

- Answer: Các hệ điều hành cung cấp các khóa cơ chế khác nhau tùy thuộc vào ứng
dụng của nhà phát triển nhu cầu.
+ Spinlocks là hữu ích cho các hệ thống xử lý đa năng nơi mà một luồng
(Thread) có thể chạy trong một vòng busy-loop (lặp-bận rộn) (trong một thời
gian ngắn) thay vì phải gánh chịu các chi phí được đặt trong một hàng đợi
đang ngủ (sleep queue).
+ Mutexes là hữu ích để khóa các tài nguyên..
+ Solaris 2 sử dụng mutexes thích ứng, có nghĩa là mutex được thực hiện với
một khóa spin trên các máy đa năng
+ Cờ hiệu (Semaphores) và các biến điều kiện (condition variables) là công cụ
thích hợp hơn để đồng bộ hóa khi một tài nguyên phải được tổ chức trong một
thời gian dài, kể từ khi spinning không hiệu quả trong một thời gian dài.

6.4 Giải thích sự khác biệt, về mặt chi phí (cost), trong số ba loại lưu trữ dễ bay hơi (volatile),
không bay hơi (nonvolatile), và ổn định (stable).

- Dễ bay hơi (Volatile) dùng để lưu trữ và bộ nhớ cache bộ nhớ chính và rất nhanh. Tuy
nhiên, biến động lưu trữ không thể tồn tại sự cố hệ thống hoặc cung cấp năng lượng
xuống hệ thống.
- Không bay hơi (Nonvolatile) lưu trữ tồn tại hệ thống treo (system crashes) và hệ
thống hỗ trợ xuống (powered-down systems). Đĩa và băng là những ví dụ của lưu trữ
không bay hơi. Gần đây, các thiết bị USB bằng cách sử dụng chương trình chỉ đọc bộ
nhớ xóa được (EPROM) đã xuất hiện cung cấp lưu trữ không bay hơi.
- Ổn định (Stable) lưu trữ dùng để lưu trữ kỹ thuật không bao giờ có thể bị mất khi có
bản sao lưu dự phòng dữ liệu (thường là trên đĩa).
6.5 Giải thích mục đích của cơ chế trạm kiểm soát (checkpoint mechanism). Các điểm kiểm
tra thường xuyên phải được thực hiện không? Ảnh hưởng đến tần số của các điểm kiểm tra
được mô tả như thế nào:

+ Hệ thống hoạt động khi không có sự thất bại xảy ra (failure occurs)
+ Thời gian cần để phục hồi từ một hệ thống sụp đổ (system crash)
+ Thời gian cần để phục hồi từ một vụ tai nạn đĩa (disk crash)
- Answer: Biên bản ghi điểm kiểm tra chỉ ra rằng một bản ghi log và dữ liệu của nó
thay đổi đã được viết để lưu trữ ổn định và các giao dịch không cần phải làm lại trong
trường hợp treo hệ thống. Rõ ràng, điểm kiểm tra được thực hiện thường xuyên hơn,
các khả năng ít hơn đó là có cập nhật dư thừa phải được thực hiện trong quá trình
phục hồi
+ Hệ thống hoạt động khi không có sự thất bại xảy ra (failure occurs):
Nếu không có lỗi xảy ra, hệ thống phải chịu chi phí thực hiện các trạm kiểm
soát mà cơ bản là không cần thiết. Trong tình huống này, thực hiện các điểm
kiểm tra không thường xuyên sẽ dẫn đến hiệu năng hệ thống tốt hơn.
+ Thời gian cần để phục hồi từ một hệ thống sụp đổ (system crash):
Sự tồn tại của một bản ghi điểm kiểm tra có nghĩa là một hoạt động sẽ không
phải làm lại trong quá trình phục hồi hệ thống. Trong tình hình này, các điểm
kiểm tra thường xuyên hơn được thực hiện, thời gian phục hồi nhanh hơn từ
một hệ thống sụp đổ.
+ Thời gian cần để phục hồi từ một vụ tai nạn đĩa (disk crash):
Sự tồn tại của một bản ghi điểm kiểm tra có nghĩa là một hoạt động sẽ không
phải làm lại trong quá trình phục hồi hệ thống. Trong tình hình này, các điểm
kiểm tra thường xuyên hơn đã được thực hiện, thời gian phục hồi nhanh hơn
từ một vụ tai nạn đĩa.
6.6 Giải thích khái niệm về số nguyên tử giao dịch.

- Answer: giao dịch là một loạt các thao tác đọc và viết theo một số dữ liệu theo sau là
một thao tác hoàn tất (commit operation). Nếu loạt các hoạt động trong một giao dịch
không thể được hoàn thành, giao dịch phải được hủy bỏ và các hoạt động đó đã diễn
ra phải được cuộn lại (rolled back). Điều quan trọng là các loạt các hoạt động trong
một giao dịch xuất hiện như là một trong những hoạt động chia để đảm bảo tính toàn
vẹn của dữ liệu được cập nhật. Nếu không, dữ liệu có thể bị xâm nhập nếu thao tác
từ hai (hoặc nhiều hơn) các giao dịch khác nhau được trộn lẫn.
6.7 Cho thấy rằng một số lịch trình là có thể theo khoá 2 giai đoạn (two-phase locking) nhưng
không thể theo giao thức dấu thời gian (timestamp), và ngược lại.

- Answer: Một lịch trình tuân theo giao thức khoá 2 giai đoạn nhưng không theo giao
thức dấu thời gian là:

Lịch trình này không được phép trong giao thức dấu thời gian vì ở bước 7, W-
timestamp của B là 1.

Một lịch trình được phép trong giao thức dấu thời gian nhưng theo giao thức khoá 2
giai đoạn là:

Lịch trình này có thể không có khóa hướng dẫn thêm để làm cho nó hợp pháp theo
giao thức khoá 2 giai đoạn vì T1 phải mở khóa (A) giữa các bước 2 và 3, và phải khóa
(B) giữa các bước 4 và 5.

6.8 Câu lệnh wait (): trong tất cả các ví dụ chương trình Java là một phần của một vòng lặp
while.Giải thích lý do tại sao bạn luôn luôn cần phải sử dụng một câu lệnh while khi sử dụng
wait() và tại sao bạn không bao giờ sử dụng một câu lệnh if.

- Answer: Đây là một vấn đề quan trọng để nhấn mạnh! Java chỉ cung cấp thông báo ẩn
danh(anonymous) bạn không thể thông báo cho một chủ đề (thread) nhất định mà một
điều kiện nhất định là đúng sự thật. Khi chủ đề (Thread) đã được thông báo, đó là
trách nhiệm của nó kiểm tra lại điều kiện mà nó đang đợi (waiting for). Nếu một chủ
đề không kiểm tra lại các điều kiện, nó có thể đã nhận được thông báo mà không có
tình trạng này có được đáp ứng.
Chương 7

7.1:Nêu 3 ví dụ về deadlocks mà không liên quan đến môi trường hệ thống máy tính:

Answer:
+ hai xe ô tô cùng đi qua một qua một cái cầu 1 chiều từ hai hướng ngược nhau

+ một người xuống cầu thang trong khi người khác đang đi lên

+ hai con tàu cùng di chuyển hướng về với nhau trên một đường ray.

+ hai người thợ mộc đóng những chiếc đinh trong khi có một cái búa và một xô
đinh.deadlocks xảy ra khi một người có búa và người khác có xô đinh.

7.2:Giả dụ hệ thống đang ở trạng thái unsafe.hãy chỉ cách để nó có thể xử lý để hoàn
thành việc thi hành mà không bị deadlocks.

Answer:

Một trạng thái unsafe không nhất thiết sẽ dẫn đến deadlocks nhưng chúng ta không thể đảm
bảo rằng deadlocks sẽ không xảy ra.vì thế hệ thống trong trạng thái unsafe vẫn có thể cho
phép tiến trình hoàn thành mà không dẫn đến deadlocks.xem xét trạng thái nơi hệ thống có 12
tài nguyên được phân phát giữa những tiến trình p0,p1 và p2.tài nguyên được phân phát theo
chính sách sau:
Hiện thời hai tài nguyên là có giá trị.Hệ thống này trong trạng thái unsafe như quá tiến trình
p1 đã có thể hoàn thành,do đó được tổng 4 tài nguyên trống.nhưng chúng ta không thể bảo
đảm rằng tiến trình p0 và p2 có thể hoàn thành.tuy nhiên có khả năng tiến trình sẽ giải phóng
tài nguyên trước khi có bất cứ request nào thêm nữa.ví dụ,tiến trình 2 đã có thể giải phóng tài
nguyên do đó tổng số tài nguyên tăng lên 5,điều này cho phép tiến trình p0 hoàn thành và sẽ
trống 9 tài nguyên,vì thế cho phép tiến trình p2 hoàn thành tốt.

7.3 chứng minh tính chất an toàn thuật toán hiện tại trong phần 7.5.3 đòi hỏi một phép
toán bâc m * n^2

Answer:

Hình 7.1 cung cấp 1 code jave mà thực thi thuật toán an toàn của banker algorithm(hoàn tất
việc thực thi của banker algorithm là một giá trị với source code download).

Có thể thấy vòng lập ngoài cùng cả hai vòng lập đều diệt qua n lần –quy định n^2 sự thi hành
trong phạm vi vòng lặp ngoài này là hai vòng lặp bên trong liên tục với vòng lập m lần >> vì
thế thuật toán này đòi hỏi O(m * n^2).

7.4 xem như máy tính chạy 5000 tác vụ mỗi tháng mà không tránh khỏi
deadlock,deadlock xảy ra hai lần mỗi tháng,và hệ thống phải terminate và retun 10 tác
vụ mỗi deadlock.mỗi tác vụ giá khoản $2 (in cpu time),và những tác vụ đã kết thúc chỉ
làm một nữa khi chúng bị hũy bỏ.

Một người lập trình hệ thống phải đánh giá được thuật toán tránh khỏi deadlock
( giống như thuật toán của banker) có thể cài đặt được trong hệ thống để tăng thêm thời
gian thực thi trung bình mỗi tác vụ 10%.Vì hiền thời máy có 30% thời gian để
không,tất cả 5000 tiến trìn mỗi tháng vẫn có thể chạy,mặc dù thời gian xoay vòng tăng
lên trung bình khoản 20%

a.lập luận gì cho việc cài đặt thuật toán tránh khỏi deadlock ?

b.lập luận ngược lại những gì cài đặt thuật toán tránh khỏi deadlock ?

Answer : lập luận cho việc cài đặt tránh khỏi deadlock trong hệ thống là những gì chúng ta có
thể chắc chắn deadlock không bao giờ xảy ra.cộng thêm không kể thời gian xoay vòng tăng
lên,tất cả 5000 tác vụ có thể vẩn chạy.

Một lập luận ngược lại việc cài đặt phần mềm tránh khỏi deadlock là deadlock xảy ra hiếm
khi và chúng hao phí ít hơn khi chúng xảy ra.

7.5.hệ thống có thể tìm ra tiến trình nào là đang starve không? Nếu có hãy giải
thích,nếu không hãy giải thích làm thế nào hệ thống có thể giao ước với vấn đề starve.

Answer: starvation là 1 topic khó khăn để định nghĩa as it may mean different
things for different systems. Mục đích của câu hỏi này,chúng ta sẽ định nghĩa starvation như
một trạng thái bởi đó tiến trình phải đợi quá thời gian hợp lý – có thể vô hạn định- trước khi
nhận một tài nguyên được yêu cầu.một cách tìm ra starvation định nghĩa ở thời gian giai đoạn
đầu tiên-T-điều đó dường như vô lý.khi một tiến trình yêu cầu tài nguyên,1 timer được bắt
đầu.nếu thời gian trôi qua vượt quá T,khi đó tiến được xem như là starvation.

Một cách phân phát với starvation để chấp nhận policy nơi tài nguyên được gán giá trị chỉ để
xử lý sự chờ đợi dài nhất.ví dụ ,nếu tiến trình Pa đang đợi tài nguyên x lâu hơn tiến trình
Pb,request từ tiến trình Pb sẽ bị hoãn lại cho đến khi request của tiến trình Pa được thõa mãn.

1 cách khác mà ít chặt chẽ hơn những gì đã trình bày,trong diễn tiến này tài nguyên có thể
được cấp cho tiến trình mà đang đợi ít hơn tiến trình khác,miễn sao tiến trình kia không bị
starva,tuy nhiên nếu tiến trình kia xem như starva thì request của nó sẽ được thõa mãn trước.

7.6: hãy xem nguên tắt cấp phát tài nguyên sau. Requests and releases đến tài nguyên là
được phép tại bất kì thời gian nào.nêu một request đến tài nguyên không được thõa
mãn bởi vì tài nguyên là không có giá trị,sau khi chúng ta check bất kì tiến trình nào đã
bị khóa,quá trình đợi cho những tài nguyên.nếu chúng muốn yêu cầu tài nguyên,sau khi
những tài nguyên được lấy đi và chuyễn đến tiến trình request.vector của tài nguyên cái
mà tiến trình đang đợi được tăng lên để chứa những tài nguyên được lấy đi.

Ví dụ: xét hệ thống với 3 loại tài nguyên và vector có giá trị ban đầu là (4,2,2).nếu tiến
trình P0 yêu cầu (2,2,1),nếu P1 yêu cầu (1,0,1),sau đó nếu p0 yêu cầu (0,0,1) nó đã bị
khóa (tài nguyên kh có giá trị),nếu P2 bây giờ yêu cầu (2,0,0), nó sẽ get 1 giá trị (1,0,0)
và giá trị đã được cấp phát đến p0(từ khi P0 bị khóa).sự cấp phát vector của p0 sẽ giãm
xuống (1,2,1) và nó cần thêm vector (1,0,1)

a.dealock có thể xảy ra không ? nếu có hãy giải thích,nếu không hãy chỉ định tình trạng
cần thiết không thể xảy ra.

b. indefinite blocking có thể xảy ra không.giải thích?

Answer: a: deadlock không xảy ra vì preemption được hiện hành.

B: Có.1 quá trình không bao giờ chiếm được tất cả tài nguyên nó cần đến,nếu chúng liên tục
được ưu tiên trước bởi 1 series của request như những tiến trình của C.

7.7: giả sử bạn code được thuật toán an toàn tránh khỏi deadlock và bây giờ được yêu
cầu để thực thi thuật toán deadlock-detection(sự dò tìm deadlock).bạn có thể làm một
cách đơn giản bởi việc sử dụng code thuật toán safety(sự an toàn) và định nghĩa lại
Maxi = Waitingi + Alloca tioni, nơi mà Waitingi là 1 vector chỉ định rõ tiến trình tài
nguyên i đang đợi, và Alloca tioni như định nghĩa trong section 7.5 không?

Answer: có. Lượng tối đa vector trình bày có thể làm maximum tiến trình request.khi tính
toán thuật toán safety(sự an toàn) chúng ta cần sử dụng matrix để trình bày representsMax—
Allocation . một cách khác là Max = Need + Allocation. Tùy theo câu hỏi ,Waiting matrix
thực hiện một vai trò tương tự để Need matrix.vì thế Max = Waiting + Allocation.
7.8: có thể bị deadlock mà chỉ có một tiến trình đơn không? Giải thích.

Answer: không. Theo điều này 1 cách trực tiếp từ điều kiện hold-and-wait.( This follows
directly from the hold-and-wait condition)

8. Memory Management 8-web

8.1: sự khác nhau giữa địa chỉ luận lý và địa chỉ vật lý.

Answer: địa chỉ luận lý không tham chiếu đến địa chỉ có thực hiện tại;đúng hơn nó tham
chiếu đến 1 địa chỉ trừu tượng trong trong khoản trống của địa chỉ trừu tượng.sự trái ngược
này với địa chỉ vật lý nó tham chiếu đến địa chỉ vật lý thật trong bộ nhớ.1 địa chỉ luận lý được
tạo bởi cpu và translate vào trong địa chỉ vật lý bởi đơn vị quản lý bộ nhớ(MMU).vì thế địa
chỉ vật lý được tạo bởi MMU.

8.2: giả dụ máy tính trong chương trình có thể tách ra hai phần riêng biệt:code và
data.cpu biết được hay không nó muốn 1 lệnh (truy xuất lệnh) hoặc data (truy xuất dử
liệu hoạc lưu trữ).vì thế hai cặp thanh ghi giới hạn cơ bản được cung cấp : 1 cho lệnh và
một cho data.cặp thanh ghi lệnh base-limit là chỉ đọc 1 cách tự động,vì thế chương trình
có thể được share bởi nhiều user khác nhau,thảo luận sự thuận lợi và bất lời của hệ
thống này.

Answer: thuận lợi chính của hệ thống này là nó là một bộ phận hữu ích cho việc share code
và data.ví dụ việc copy của 1 trình soạn thảo hoặc trình biên dịch cần được giữ trong bộ
nhớ,và code này có thể được share đến tất cả các tiến trình cần truy cập đến trình soạn thảo
hoặc trình biên dịch code.1 lợi ích khác là sự bảo vệ code tránh khỏi sự chỉnh sữa không
chính xác.chỉ có 1 bất lời là code và dữ liệu phải bị tách biệt,điều mà thường xuyên tham gia
vào trong compiler-generated code.

8.3: tại sao kích cở trang nhớ luôn luôn có bậc 2?

Answer: việc gọi lại paging là được thực thi bởi breaking up một địa chỉ vào trong trang nhớ
và 1 số offset.hiệu dụng quan trọng của nó để break địa chỉ vào trong trang nhớ bít X và
offset bít Y,đúng hơn là nó thực thi tính toán trong địa chỉ để tính ra số trang nhớ và
offset.bởi vì vị trí mỗi bít được bố trí theo bậc 2,sự phân chia 1 địa chỉ giữa những bít result
trong kích thước trang nhớ là bậc hai.

8.4: không gian địa chỉ luận lý của 8 trang nhớ của 1024 mỗi kí tự được ánh xạ vào
trong bộ nhớ vật lý 32 frames.
a : có bao nhiêu bit để thể hiện địa chỉ luận lý?

b: có bao nhiêu bít để thể hiện địa chỉ vật lý?

Answer: a:địa chỉ luận lý 13 bit

b:địa chỉ vật lý 15 bít.

8.5: ảnh hưởng của việc cho phép hai entry vào page table để trỏ đến cùng page frame
trong bộ nhớ là gì ? giải thích làm thế nào ảnh hưởng này có thể sữ dụng để giảm giá trị
của thời gian cần đê copy 1 số lượng lớn của bộ nhớ từ một vùng nhớ khác,hiệu quả của
việc updating một vài byte trong 1 page đến 1 page khác là gì?

Answer: để cho phép hai entry trong một page table trỏ đến cùng 1 page frame trong bộ
nhớ,người sữ dụng có thể share code hoặc data.nếu code lập lại,khoản trống bộ nhớ có thể
lưu thông qua việc share của chương trình lớn như là soạn thảo,biên dịch text và hệ thống
database.”copy-ing” một số lượng lớn của bộ nhớ có thể không hiệu quả bởi khó khăn page
table trỏ đến cùng 1 vị trí bộ nhớ.

Tuy nhiên việc share của nonreentrant code data chính để bất kì user có thể truy cập đến code
modify nó và sự modify bị phản xạ trong việc copy của user khác.

8.6 : mô tả mechanism bởi một segment có thể thuộc về khoản trống địa chỉ của hai quá
trình khác.

Answer:

Từ khi segment table là sự tập hợp của thanh ghi base–limit,segments có thể được share khi
entry trong segment table của hai tác vụ khác nhau trỏ đến cùng một vị trí vật lý.hai segment
table phải đồng nhất về base pointers.và con số segment được share phải cùng trong hai tiến
trình

8.7: segment đang share giữa những tiến trình mà không đòi hỏi cùng segment number
là có thể trong một dynamically linked segmentation system không?

a.định nghĩa hệ thống rằng cho phép static linking và sharing của những segment mà không
đòi hỏi cũng những số segment.

b.miêu tả pageing scheme để cho phép pages được share mà không đòi hỏi cùng page
numbers

answer:

cả hai vấn đề giảm bớt chương trình có thể để cả hai tham chiếu code và data của riêng nó
không cần biết segment hoặc page number được liên kết với địac chỉ. MULTICS được giải
quyết vấn đề này bởi 4 thanh ghi liên kết với mỗi tiến trình,một thanh ghi có địa chỉ của
chương trình segment hiện tại,thanh ghi khác có base address cho stack,1 cái có base address
cho global data và cái cuối cũng thế.ý tưởng là tất cả tham chiếu phải gián tiếp thống qua
thanh ghi để maps đến segment hiện tại hoặc page number.băng việc thay đổi thanh ghi,cùng
code có thể thực hiện cho tiến trình khác mà không cùng page hoặc segment number.

8.8: trong IBM/370,bảo vệ bộ nhớ được quản lý thông qua việc sự dụng keys.một key là
một đại lượng 4 bit..mỗi 2K block của bộ nhớ có 1 key (key lưu trữ) được liên kết với
nó.CPU cũng có key (key bảo vệ)liên kết tới nó.công đoạn lưu trữ là chỉ đươc phép nếu
cả hai key là trùng nhau,hoạc một trong hai số 0.việc quản lý bộ nhớ scheme sau có thể
được sử dụng 1 cách hữu ích với hardware này không?\

A,máy không vỏ bọc.

B:hệ thống single-user

C: Multiprogramming với những con số được fix của tiến trình

D; Multiprogramming với một biến số của tiến trình

E: paging

F:segmentation

Answer:

A:sự bảo vệ không cần thiết,set key hệ thống thành 0.

B: set key hệ thống thành 0 khi trong chế độ supervisor(giám sát)

C:khoản kích cở phải được fix tăng lên 2k bytes,phân bổ key với bộ nhớ blocks

D: Same as above.

E:kích cở frame phải tăng lên 2k bytes,phân bổ key với pages.

F:kích cở segment phải được tăng lên 2k bytes,phân bổ key với segments.

9. Virtual Memory 9-web

9.1:ở bên dưới những trường hợp nào làm cho page bị hư hỏng?hãy miêu tả những tác
động của hệ điều hành khi page bị lỗi?

Answer: page bị lỗi khi một truy cập đến page mà không đưa vào vị trí bộ nhớ chính
được.hdh sẽ kiểm tra việc truy cập bộ nhớ,sẽ hủy bỏ chương trình nếu nó không hợp lệ.nếu
nó hợp lệ thì một frame trống được định vị và yêu cầu đến I/O để đọc page cần thiết bên
trong frame trống.trong lúc I/O hoàn thành thì process table và page table được update và
quy trình được restart.
9.2: giả sử bạn có một chuổi page-reference cho tiến trình với frame m(lúc đầu tất cả
đều trống).chuổi page-reference có độ dài p;n riêng biệt page number xuất hiện trong
nó.hảy trả lời những câu hỏi về thuật toán pagereplacement:

a. liên kết phía dưới trong number of page lỗi là gì?

b. liên kết phía trên trong number of page lỗi là gì?

Answer: a. n

b. p

9.3:chọn kĩ thuật lập trình bên dưới và cấu trúc nào “good” và “not good” cho môi
trường demand-paged ? Giải thích câu trả lời của mình?

a.stack

b. Hashed symbol table (bảng băm đơn giảm)

c. Sequential search(tìm kiếm tuần tự)

d. Binary search (tìm kiếm nhị phân)

e. Pure code

f. Vector operations

g. Indirection(thao tác gián tiếp)

answer:

a. Stack—good.

b. Hashed symbol table—not good.

c. Sequential search—good.

d. Binary search—not good.

e. Pure code—good.

f. Vector operations—good.

g. Indirection—not good.

9.4: hãy xem những thuật toán page-replacement bên dưới.xắp xếp cấp bậc những thuật
toán trong five-point scale từ “bad” đến “perfect” để ăn khớp với chế độ page-fault của
chúng.tách những thuật toán Suffer from Belady’s anomaly from those that do not.
a. LRU replacement(sự chuyển đổi)

b. FIFO replacement

c. Optimal replacement(sự chuyển đổi tối ưu)

d. Second-chance replacement

answer:

Rank Algorithm Suffer from Belady’s anomaly

1 Optimal no

2 LRU no

3 Second-chance yes

4 FIFO yes

9.5: khi bộ nhớ ảo được thực thi trong hệ thống máy tính,đây là certain costs được kết
hợp với công nghệ và certain benefits.liệt kê những costs and the benefits.có thể cho
costs vượt quá benefits được không?nếu có thì những biện pháp gì có thể chắc chắn
rằng điều đó không xảy ra?

Answer: costs là được hardware bổ sung và thời gian truy cập chậm hơn. Benefits sữ dụng
tốt bộ nhớ và khoảng trống địa chỉ luân lý lớn hơn khoảng trống địa chỉ vật lý

9.6: hdh hổ trợ paged virtual memory,sử dụng bộ xử lý trung tâm với thời gian xoay
vòng 1 microsecond. Những cost bổ sung 1 microsecond đến page truy cập khác hơn
page hiện tại.pages có 1000 từ và thiết bị paging là một drum xoay 3000 vòng mỗi phút
và transfer 1 triệu từ mỗi giây.những thống kê sau để đo obtained từ hệ thống.

- 1 phần trăm của tất cả quy trình được thực thi accessed một trang khác hơn trang
hiện tại.

- những quy trình được thực thi page khác,80% accessed 1 page có sẵn trong bộ nhớ.

- khi 1 page mới được yêu cầu,page được thay thế modified 50 phần trăm thời gian.

Tính quá trình thời gian có ích trong hệ thống này,giả thiết cho rằng hệ thống đang
chạy chỉ 1 tiến trình trong lúc drum tranfer.

Answer:

effective access time = 0.99 × (1 _sec + 0.008 × (2 _sec)

+ 0.002 × (10,000 _sec + 1,000 _sec)

+ 0.001 × (10,000 _sec + 1,000 _sec)

= (0.99 + 0.016 + 22.0 + 11.0) _sec


= 34.0 _sec

9.7: xem mảng hai chiều A : int A[][] = new int[100][100];

Nơi A[0][0] tại vị trí 200,trong một hệ thống paged memory với kích thước page
200.một tiến trình nhỏ trong page 0( vị trí 0 đến 199) cho việc quản lý matrix;vì thế mỗi
lệnh truy cập sẽ từ page 0.

Cho 3 page frame,có bao nhiêu page lỗi phát sinh bởi những vòng lập array-
initialization sau đây,bằng sử dụng LRU,và giả định page frame 1 có tiến trình trong
nó,và hai cái đầu có empty không?

a. for (int j = 0; j < 100; j++)

for (int i = 0; i < 100; i++)

A[i][j] = 0;

b. for (int i = 0; i < 100; i++)

for (int j = 0; j < 100; j++)

A[i][j] = 0;

Answer: a.50

b.5,000

9.8.xem những chuổi page tham chiếu sau:

1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6.
Có bao nhiêu page lỗi xuất hiện cho những thuật toán replacement sau,cho rằng
1,2 ,3,4,5,6,hoặc 7 frame?nhớ tất cả những frame trống ban đầu,vì thế những page duy
nhất đầu tiên của bạn sẽ mất tất cả mỗi cost lỗi.
• LRU replacement?( chuyển đổi)

• FIFO replacement
• Optimal replacement
Answer:Number of frames LRU FIFO Optimal

1 20 20 20

2 18 18 15

3 15 16 11

4 10 14 8

5 8 10 7
6 7 10 7

7 7 7 7

9.9: cho rằng bạn muốn sữ dụng thuật toán paging để yêu cầu reference bit nhưng
hardware không cung cấp điều đó.tóm tắt làm thế nào bạn có thể mô phỏng reference
bit even nếu không được đáp ứng bởi hardware,hoặc giải thích tại sao không thể làm
điều đó,nếu có thể hãy tính what the cost

would be.

Answer: bạn có thể sử dụng valid/invalid bit được hổ trợ trong hardware để mô phỏng
reference bit.

Thiết lập ban đầu bit là invalid.1 reference đầu tiên trap tới hdh được phát sinh,hdh sẽ thiết
lập bit software thành 1 và reset bit vaild/invalid thành vaild.

9.10: bạn có thể ngĩ ra thuật toán page-replacement mới mà bạn cho rằng có thể tối ưu
hơn.trong vài trường hợp test lỗi. Belady’s anomaly occurs.thuật toán mới có tối ưu
không?giải thích?

Answer:

Không.một thuật toán tôi ưu sẽ không suffert từ Belady’s Anomaly bởi vì – theo định nghĩa-
một thuật toán tối ưu sẽ thay thế page mà sẽ không được sữ dụng cho thời gian dài.xảy ra
Belady’s anomaly khi thuật toán page-replacement evicts một page mà được cần đến trong
thời gian gần nhất.một thuật toán tối ưu sẽ không được chọn như 1 page.

9.11: sự phân chia là giống nhau đến paging nhưng uses variable-sized “pages.” Định
nghĩa hai thuật toán segment-replacement cơ bản trong FIFO and LRU
pagereplacement schemes,nhớ răng từ khi segments là không cùng size, segment chọn
lựa được thay thế không thể đủ lớn để vượt qua vị trí liên tục lớn cho segment cần
thiết.xem cách của hệ thống nơi segment không thể xây dựng lại,và những cho hệ thống
nơi chúng có thể.

Answer:

a. FIFO. Tìm segment đầu tiên đủ lớn để cung cấp segment đi vào.nếu sự dịch chuyển
là không có thể và không một segment nào đủ lớn,thì chọn 1 kết hợp của những
segment nơi mà bộ nhớ kề nhau, đó là “closest to the first of the list” và nó có thể
dung nạp segment mới,nếu sự dịch chuyển là có thể,bố trí lại bộ nhớ vì thế segment n
đầu tiên đủ lớn cho incoming segment là kề nhau trong bộ nhớ.cộng 1 vài phần chổ
trống thừa lại để danh sách chổ trống trong cả hai trường hợp.
b. LRU. Chọn segment mà không dùng trong thời gian dài nhất và đủ lớn,cộng thêm 1
vài chổ trống dư lại để vào danh sách trống free.nêu không segment nào đủ lớn thì
chọn kết hợp với những segment “oldest” kề nhau trong bộ nhớ để đủ độ lớn.nếu sự
dịch chuyển là có giá trị,sắp xếp lại segments cũ n kề nhau trong bộ nhớ và thay thế
chúng với một segment mới.
9.12: xem hệ thống máy tính demand-paged nơi cấp độ của multiprogramming hiện
thời được chỉnh sữa 4 lần,hệ thống được xác định gần đây quết định việc sữ dụng CPU
và paging disk.kết quả là một trong những khả năng sau đây.cho mỗi trường hợp .điều
gì xảy ra?cấp độ của multiprogramming có thể được tăng lên đến hết sự tận dụng của
CPU không?sự giúp đở paging là gì?

a. CPU utilization 13 percent; disk utilization 97 percent

b. CPU utilization 87 percent; disk utilization 3 percent

c. CPU utilization 13 percent; disk utilization 3 percent

answer:

a.ký tự gạch chéo xuất hiện

b.sự tận dụng CPU là thích đáng cao nhất cho phép duy nhất và cấp độ tăng lên của
multiprogramming.

c.cấp độ tăng lên của multiprogramming.

9.13:

Chúng ta có hdh cho một máy uses base and limit registers,nhưng chúng ta modified để
cung cấp page table.page table có thể được thiết lập để simulate base và limit registers
không? Chúng có thể như thế nào hoặc tại sao chúng kh có thể?

Answer: page table có thể thiết lập để trở thành simulate base and limit registers được cung
cấp bởi bộ nhớ được gán trong fixed-size segments.trong cách này,base của segment có thể
được thêm vào page table và valid/invalid bit được sử dụng để chỉ ra rằng những phần nhỏ
của segment lưu trú trong bộ nhớ.ở đây sẽ có 1 vài vấn đề với sự phân mảnh bên trong.

12.1 Việc đẩy mạnh tìm kiếm được mô tả trong bài tập 12.3 là điển hình của ổ đĩa cứng.
Ngược lại, đĩa mềm (và nhiều đĩa cứng được sản xuất trước những năm giữa thập niên
1980) thường tìm kiếm ở một tỷ lệ cố định. Giả sử rằng các đĩa trong bài tập 12.3
thường xuyên có một tỷ lệ tìm kiếm bất biến hơn là một gia tốc tìm kiếm bất biến (a
constant acceleration Seek), vì vậy thời gian tìm kiếm là của công thức t = x + yL, trong
đó t là thời gian tính bằng mili giây và L là khoảng cách tìm kiếm. Giả sử rằng thời gian
để tìm kiếm một hình trụ liền kề là 1 mili giây, giống trước, và là 0,5 mili giây cho mỗi
hình trụ bổ sung.
a. Viết một phương trình cho thời gian tìm kiếm như là một hàm tìm kiếm khoảng cách.
b. Sử dụng hàm tìm kiếm thời gian từ phần một, tính tổng thời gian tìm kiếm cho từng
lịch trình trong bài tập 12.2. Câu trả lời của bạn giống như nó đã được cho trong bài
tập 12.3 (c)?
c. Tỷ lệ tăng tốc của bộ lập lịch nhanh nhất hơn FCFS trong trường hợp này là bao
nhiêu phần trăm?
Answer:
a. t = 0,95 + 0.05L
b. FCFS 362.60; SSTF 95.80; SCAN 497.95; LOOK 174.50; C-SCAN 500.15;

(and C-LOOK 176.70). SSTF vẫn là người chiến thắng, và được xem là đứng thứ 2.
c. (362,60-95,80) / 362,60 = 0,74 Tỷ lệ tăng tốc của SSTF trên FCFS là 74%, đối với khìa
cạnh thời gian tìm kiếm. Nếu chúng ta bao gồm các chi phí của độ trễ quay và chuyển dữ
liệu, tỷ lệ tăng tốc sẽ ít hơn.

12.2 Lập kế hoạch cho đĩa, trừ lịch FCFS, có hữu ích trong một môi trường người sử
dụng đơn hay không? Giải thích câu trả lời của bạn.

Answer: Trong một môi trường người sử dụng đơn, các hàng đợi I/O thường là rỗng.
Yêu cầu thường đến từ một quá trình đơn cho một khối hoặc cho một chuỗi các khối liên tiếp.
Trong những trường hợp này, FCFS là một phương pháp lập kế hoạch kinh tế cho đĩa. Nhưng
LOOK gần như là dễ dàng để lập trình và sẽ cho hiệu suất tốt hơn nhiều khi nhiều quy trình
được thực hiện đồng thời I/O, chẳng hạn như khi một trình duyệt Web lấy dữ liệu ẩn bên mặt
phía sau trong khi hệ điều hành được phân trang và các ứng dụng khác đang hoạt động tại
mặt phía trước.

12,3 Giải thích tại sao lịch SSTF có xu hướng ủng hộ những vòng xoay ở giữa hơn là
những cái ngoài cùng và những cái trong cùng.

Answer: Trung tâm của đĩa là vị trí có khoảng cách trung bình nhỏ nhất cho tất cả các
track khác. Do đó, đầu đọc đĩa có xu hướng chuyển từ các cạnh của đĩa. Đây là một cách
khác để nghĩ về nó. Các vị trí hiện tại của đầu đọc chia vòng xoay thành hai nhóm. Nếu đầu
đọc không ở trung tâm của đĩa và một yêu cầu mới đến, các yêu cầu mới có nhiều khả năng ở
nhóm bao gồm phần trung tâm của đĩa, do đó, đầu đọc có nhiều khả năng di chuyển theo
hướng đó.

12,4 Tại sao độ quay trễ thường không được xem xét trong việc lập lịch đĩa? Làm thế
nào bạn sẽ thay đổi SSTF, SCAN, và C-SCAN để bao gồm tối ưu hoá độ trễ?

Answer: Hầu hết các ổ đĩa không xuất thông tin vị trí quay của mình đến host. Ngay
cả nếu họ đã làm, thời gian để thông tin này để đạt được lên lịch sẽ phải chịu sự thiếu chính
xác và thời gian tiêu thụ bằng cách lập lịch là biến, vì thế thông tin vị trí quay sẽ trở nên
không chính xác. Hơn nữa, các yêu cầu đĩa này thường được đưa ra trong điều khoản của số
khối hợp lý, và các ánh xạ giữa các khối logic và địa điểm vật lý là rất phức tạp.
12.5 Làm thế nào để sử dụng một ổ đĩa RAM ảnh hưởng đến lựa chọn của bạn của một
thuật toán lập lịch đĩa? Những yếu tố bạn cần phải xem xét? Do đó những cân nhắc áp
dụng cho đĩa cứng lên lịch, cho rằng các tập tin hệ thống cửa hàng gần đây đã sử dụng
các khối trong một bộ nhớ cache bộ nhớ đệm trong bộ nhớ chính?

Answer: Đĩa nỗ lực lập kế hoạch để giảm thời gian chi phí của vị trí đầu đĩa. Từ một
đĩa RAM có thời gian truy cập thống nhất, lập kế hoạch phần lớn là không cần thiết so sánh
giữa đĩa RAM và bộ nhớ cache đĩa chính không có ý nghĩa đối với ổ cứng lên lịch bởi vì
chúng tôi lịch trình chỉ có bộ đệm cache nhớ, không phải là yêu cầu tìm thấy dữ liệu của họ
trong bộ nhớ chính.
12.6 Tại sao nó quan trọng để cân bằng hệ thống tập tin I / O trong số các đĩa và bộ điều
khiển trên một hệ thống trong một môi trường đa nhiệm?

Answer: Một hệ thống có thể thực hiện chỉ với tốc độ chậm nhất của các nút cổ chai
(bottle-neck). Nhiều hoặc đĩa điều khiển thường xuyên các nút cổ chai trong hệ thống hiện
đại như năng lực cá nhân của họ không thể theo kịp với các hệ thống Bus và CPU. Bằng cách
cân bằng I / O trong số các đĩa và bộ điều khiển, không một đĩa cá nhân và cũng không điều
khiển được quá tải, do đó nút cổ chai là tránh.

12.7 Những cân bằng liên quan đến việc đọc lại các trang mã từ hệ thống tập tin so với
sử dụng không gian trao đổi để lưu trữ chúng là gì?

Answer: Nếu các trang mã được lưu trữ trong không gian trao đổi, họ có thể được
chuyển nhanh hơn vào bộ nhớ chính (vì giao hoán đổi không gian được điều chỉnh để thực
hiện nhanh hơn so với giao nói chung hệ thống tập tin). Sử dụng không gian trao đổi có thể
yêu cầu thời gian khởi động khi các trang được sao chép có một: quá trình gọi thay vì chỉ
được phân trang ra để trao đổi không gian theo yêu cầu. Ngoài ra, nhiều không gian hoán đổi
phải được giao nếu nó được sử dụng cho cả mã và các trang dữ liệu.

12.8 Có cách nào để thực hiện lưu trữ thực sự ổn định? Giải thích câu trả của bạn.

Answer: Lưu trữ thực sự ổn định sẽ không bao giờ bị mất dữ liệu.. Kỹ thuật cơ bản
cho việc lưu trữ ổn định là duy trì nhiều bản sao của dữ liệu, do đó nếu một bản bị phá hủy,
một số bản sao khác vẫn có sẵn để sử dụng. Nhưng đối với chương trình bất kỳ, chúng ta có
thể tưởng tượng được một thảm họa lớn đủ để tất cả các bản sao bị phá hủy.

12.9 Thuật ngữ "nhanh rộng SCSI-II " (fast wide SCSI-II) chỉ một SCSI Bus hoạt động
ở tốc độ dữ liệu là 20 MB/giây khi nó di chuyển một gói các byte giữa các máy chủ và
thiết bị.. Giả sử rằng một đĩa "nhanh rộng SCSI-II " quay: 7200 RPM, có kích thước
khu vực là 512 byte, và nắm giữ 160 sector để theo dõi theo dõi.
a. Ước tính tỷ lệ chuyển giao bền vững của ổ đĩa này bằng megabyte / giây.
b. Giả sử rằng ổ đĩa có 7000 chai, 20 bài hát mỗi xi lanh, một chuyển đổi thời gian đầu
(từ một đĩa khác) là 0,5 milliseco lẻ, và một hình trụ liền kề thời gian tìm kiếm của 2
phần nghìn giây. Sử dụng thông tin này bổ sung để cung cấp cho một ước tính chính xác
của tốc độ truyền tải bền vững cho một chuyển rất lớn.
c. Giả sử rằng trung bình thời gian tìm kiếm cho các lái xe là 8 mili giây. Ước tính 1/Os /
giây và tốc độ chuyển giao có hiệu quả cho một khối lượng công việc truy xuất ngẫu
nhiên mà đọc các lĩnh vực cá nhân được rải rác trên ổ đĩa.
d. Tính tôi ngẫu nhiên truy cập / O theo tỷ lệ thứ hai và chuyển giao cho tôi / kích cỡ O
của 4 KB, 8 KB, và 64 kilobyte.
e. Nếu nhiều yêu cầu được trong hàng đợi, một thuật toán lập lịch trình như SCAN sẽ
có thể giảm trung bình tìm kiếm từ xa. Giả sử rằng một khối lượng công việc truy xuất
ngẫu nhiên là đọc các trang 8-kilobyte, chiều dài hàng đợi trung bình là 10, và các thuật
toán lập lịch làm giảm thời gian trung bình tìm đến 3 nilliseconds. Bây giờ tính toán I /
O / giây và tốc độ chuyển giao có hiệu quả của ổ đĩa.
Answer:
a. Đĩa quay 120 lần / giây, và quay mỗi chuyển một ca khúc của 80 KB. Như vậy, tỷ lệ
chuyển giao bền vững có thể được xấp xỉ giao phối là 9.600 KB / s.

b. Giả sử : 100 chai là một chuyển rất lớn. Tỷ lệ chuyển là tổng số byte chia tổng thời gian.
Bytes: 100 cyl 20 TRK / cyl * 80 KB / TRK, tức là 160.000 KB. Thời gian: quay theo dõi
chuyển đổi thời gian + thời gian + thời gian chuyển đổi tích xi lanh. Thời gian luân chuyển là
2000 trks/120 trks ... nghĩa là, mỗi .. giây, 16.667s. Theo dõi chuyển đổi tinne là 19 cyl 100
switch-.percyl 0,5 ms, tức là, 950 MNS. Xi lanh chuyển đổi thời gian là 99 * 2 MNS, tức là,
198 MNS. nhus, tổng thời gian là 16,667 + 0,950 + 0,198, tức là 17,815 s. (Chúng tôi là bỏ
qua bất kỳ ban đầu tìm kiếm và latenc quay mà có thể thêm khoảng 12 ms đến lịch trình, tức
là 0,1%.) Như vậy tốc độ truyền tải là 8981,2 KB / s. Các chi phí của theo dõi và tích xi lanh
chuyển đổi là khoảng 6,5%.

c. Thời gian mỗi lần chuyển nhượng là 8 MNS để tìm kiếm + 4,167 MNS quay trung bình độ
trễ + 0,052 MNS (tính từ 1 / (120 trk_per ... 160 thứ hai khu vực .. per_trk)) để roaate một
khu vực qua các đầu đĩa trong quá trình đọc. ', Vệ tính truyền mỗi giây là 1 / ví dụ,
(0,012219), 81,8. Kể từ khi chuyển từng là 0,5 KB, tốc độ truyền tải là 40,9
KB / s.

d. Chúng tôi bỏ qua theo dõi và qua xi lanh cho simplidty Để đọc các kích thước 4 KB, 8 KB,
và 64 KB, các 1/Os tương ứng cho mỗi thứ hai được tính từ thời gian trễ quay vòng tìm
kiếm,, và EER transf quay thời gian như trong mục trước đó, cho (tương ứng) 1 / (0,0126), 1 /
(0,013), và 1 / (0,019). Vì vậy, chúng tôi nhận được 79,4, 76,9, và 52,6 eers transf / giây,
tương ứng. tỷ lệ chuyển giao thu được từ 4, 8, và 64 lần i các / suất O, cho 318 kB / s, 615
KB / s, và
3366 KB / s, tương ứng.

e. Từ 1 / (3 4,167 ÷ 0,83), chúng tôi có được 125 1/Os / giây. Từ 8 kB / i / O chúng ta có


1000 KB / s.

12.10 nhiều hơn một ổ đĩa có thể gắn vào một chiếc Bus SCSI. Đặc biệt, một nhanh sẽ
rộng SCSI-bus (xem bài tập 12,9) có thể được kết nối với tối đa 15 ổ đĩa. Hãy nhớ rằng
các xe buýt này đã có một băng thông là 20 MB / giây. Bất cứ lúc nào, chỉ có một gói tin
có thể ông chuyển trên xe buýt giữa cache intemnal một số của đĩa và máy chủ. Tuy
nhiên, một đĩa có thể di chuyển cánh tay đĩa của nó trong khi một số ổ đĩa khác là
chuyển một gói tin trên xe buýt. Ngoài ra, một đĩa có thể chuyển dữ liệu giữa các đĩa từ
tính của nó và bộ nhớ cache nội bộ của mình trong khi một số ổ đĩa khác là chuyển một
gói tin trên xe buýt. Xem xét tỷ lệ chuyển giao tha: bạn tính toán cho khối lượng công
việc khác nhau trong bài tập 12.9, thảo luận về bao nhiêu đĩa có thể được sử dụng hiệu
quả bởi một bus "nhanh rộng SCSI-II ".

Answer: Đối với 8 kB ngẫu nhiên 1/Oson một đĩa nhẹ nhàng, nơi mà thời gian truy cập ngẫu
nhiên được tính toán được khoảng 13 MNS (xem Tập thể dục 12,9), tốc độ truyền tải hiệu
quả là khoảng 615 MB / s. Trong trường hợp này, 15 đĩa sẽ có tốc độ truyền tải tổng hợp của
ít hơn 10 MB / s, không nên bão hòa các xe buýt. Đối với 64 KB ngẫu nhiên đọc vào một đĩa
tải nhẹ, tốc độ truyền tải là khoảng 3,4 MB / s, do đó, năm hoặc ít hơn các ổ đĩa sẽ bão hoà xe
buýt. Đối với 8 kB đọc với một hàng đợi đủ lớn để giảm trung bình tìm đến 3 MNS, tốc độ
truyền tải là khoảng 1 MB / s, do đó, với băng thông có thể là đủ để chứa 15 đĩa.

12.11 Remapping của khối xấu bởi sparing ngành, lĩnh vực có thể ảnh hưởng đến hiệu
suất trượt. Giả sử rằng ổ đĩa trong 12,9 Tập thể dục có một tal của 100 thành phần xấu
ở vị trí ngẫu nhiên và mỗi khu vực xấu được ánh xạ tới một phụ được đặt trên một bản
nhạc khác nhau, nhưng trong cùng một xi lanh. Ước tính số lượng 1/Os / giây và hiệu
quả tvve tốc độ truyền cho một khối lượng công việc truy xuất ngẫu nhiên gồm 8-
kilobyte đọc, với chiều dài hàng đợi của 1 (có nghĩa là, sự lựa chọn của lịch itthm algoi
không phải là một yếu tố). Vhat là tác dụng của một khu vực xấu đến hiệu suất?

Trả lời: từ đĩa giữ 22.400.000 ngành, xác suất Iequesting một trong 100 thành phần ánh xạ
lại là rất nhỏ. Một ví dụ về một sự kiện tồi tệ nhất là chúng tôi cố gắng đọc, nói, một 8 kB
trang, nhưng một trong những khu vực từ giữa là bị lỗi và đã được ánh xạ lại đến vị trí có thể
tồi tệ nhất trên một track trong xi lanh đó. Trong trường hợp này, thời gian thu hồi có thể là 8
MNS để tìm kiếm, cộng với hai thiết bị chuyển mạch theo dõi và hai latencies toàn quay. Rất
có thể là một bộ điều khiển modem sẽ đọc tất cả các yêu cầu các ngành tốt từ theo dõi ban
đầu trước khi chuyển sang theo dõi các phụ tùng để lấy khu vực ánh xạ lại và do đó sẽ phải
trả chỉ có một chuyển đổi theo dõi và độ trễ quay Vì vậy, thời gian sẽ là 8 MNS tìm 4,17
MNS độ trễ trung bình 0,05 MNS roaational theo dõi chuyển đổi 8,3 độ trễ quay MNS 0,83
MNS đọc thời gian (8 KBis 16 ngành, 1/lOofa theo dõi luân chuyển). Như vậy, thời gian để
phục vụ yêu cầu này sẽ là 21,8 MNS, cho một iate 1 / o của 45,9 yêu cầu / giây và băng thông
hiệu quả của 367 KB / s. Đối với một ứng dụng bị hạn chế thời gian có thể vấn đề này, nhưng
tác động tổng thể trong các bình quân của 100 thành phần ánh xạ lại và 22.400.000 ngành tốt
là con số không.

12,12 Trong một máy hát tự động đĩa, những gì sẽ là ảnh hưởng của các tập tin có cởi
mở hơn so với số lượng ổ đĩa trong máy hát tự động không?
Trả lời: Hai câu trả lời kết quả xấu có thể dẫn. Một khả năng là nạn đói trong những ứng
dụng có vấn đề ngăn chặn 1/Os để băng không được lắp vào ổ đĩa. Một pomibility là đòn,
như Jukebox là chỉ huy để chuyển đổi băng sau mỗi hoạt động 1 / 0.

12,13 nếu đĩa từ cứng cuối cùng có cùng chi phí cho mỗi gabyte cũng như băng, băng sẽ
trở nên lỗi thời, hoặc họ sẽ vẫn là cần thiết? Giải thích câu trả lời của bạn.
Trả lời: Băng có thể dễ dàng tháo rời, do đó, chúng rất hữu ích để sao lưu off-site và chuyển
số lượng lớn các dữ liệu (do hộp mực gửi). Theo quy định, một đĩa cứng từ tính không phải là
một phương tiện di động.

12,14 Đôi khi nói băng mà là một phương tiện truy cập tuần tự, trong khi đĩa từ là một
phương tiện truy cập ngẫu nhiên. Trong thực tế, sự phù hợp của một thiết bị lưu trữ
cho các truy cập ngẫu nhiên phụ thuộc vào kích thước chuyển giao. Các tỷ lệ trarsfer
strearing hạn biểu thị tốc độ dữ liệu cho một tha chuyển: đang được tiến hành, trừ ảnh
hưởng của độ trễ truy cập Ngược lại, tốc độ truyền tải fective các 'là tỷ lệ của tổng số
byte trên mỗi giây tổng số, bao gồm cả thời gian trên không như độ trễ truy cập.
Giả sử rằng, trong một máy tính, bộ nhớ đệm cấp-2 có một độ trễ truy cập của 8 nano
giây và chuyển với tốc độ truyền tải là 800 MB / giây, bộ nhớ chính có một độ trễ truy
cập là 60 nano giây và chuyển với tốc độ truyền là 80 MB / giây , các đĩa từ có một độ
trễ truy cập là 1,5 phần nghìn giây và chuyển với tốc độ truyền tải của 5 MB / giây, và ổ
băng có một độ trễ truy cập của 60 conds và tran.sfer tốc độ truyền tải của 2 MB / giây.
a. Truy cập ngẫu nhiên làm cho tốc độ truyền tải hiệu quả của thiết bị giảm, bởi vì
không có dữ liệu được chuyển giao trong thời gian truy cập. Đối với các đĩa được mô tả,
tỷ lệ chuyển giao hiệu quả nếu một truy cập trung bình theo sau là một tnansfer
streaming của 512 byte, 8 kilobyte, megabyte 1, và 16 MB là những gì?
b. Việc sử dụng một thiết bị được tốc độ truyền tải te tỷ lệ chuyển giao có hiệu quả để
streaming. Tính toán sử dụng các ổ đĩa để truy cập ngẫu nhiên mà thực hiện chuyển
giao trong từng bốn kích cỡ được đưa ra trong phần a.
c. Giả sử rằng một sử dụng là 25 phần trăm (hoặc cao hơn) được coi là chấp nhận được.
Sử dụng hiệu quả các số liệu đưa ra, tính toán kích thước nhỏ nhất cho đĩa tnansfer cho
phép sử dụng chấp nhận được.
d. Hoàn thành các câu sau đây: đĩa A là một dev truy xuất ngẫu nhiên phó cho chuyển
lớn hơn byte, và là một thiết bị truy cập tuần tự để chuyển nhỏ hơn.
e. Tính tnanseer kích cỡ tối thiểu mà cho chấp nhận được izaatimm util cho bộ nhớ
cache, bộ nhớ, và băng.
f. khi là một chiếc máy một thiết bị truy xuất ngẫu nhiên, và khi nó là một thiết bị truy
cập tuần tự?
Answer:
a. Đối với 512 bvtw, tốc độ truyền tải hiệu quả được tính như sau.
ETR e chuyển kích thước / chuyển thời gian.
Nếu x là chuyển kích thước, sau đó chuyển giao thời gian là ((x / srR) + độ trễ).
Thời gian chuyển giao là 15nis + (s12B/sMB / giây) = 15.0097ms.
tốc độ truyền tải hiệu quả là do 512B/J.5.0097ms = 33,12 KB / giây.
ETR cho SKB = .47MB/sec.
ETR cho 4.65MB/sec MB.
ETR cho 16MB - 4.98MB/sec.
b. Sử dụng các thiết bị cho 5128-33,12 KB / giây / 5MB/sec -
.0064 = .64
Đối với 8KB tăng 9,4% =.
Đối với 1MB = 93%.
Đối với 16MB - 99,6%.
c. tính toán 0,25 - ETR / STR, giải quyết đối với kích thước chuyển X.
STR • 5MB, do đó, 1.25MB / S ETR •.
1.2sMB/sr ((X / 5) + 0,015) = X.
25x '+ 0,018 HT = X.)
X = 0,025 MB.
d. đĩa là một thiết bị nandom-truy cập cho chuyển lớn hơn K byte (nơi K> đĩa khối kích
thước), và isa thiết bị truy cập tuần tự để chuyển nhỏ hơn.

e. Tính toán kích thước tối thiểu chuyển giao cho sử dụng chấp nhận được
bộ nhớ cache:
STR = 800MB, ETR = 200, độ trễ = 8 10 .n
200 (XMB / sào 8 X 10 -) = XMB.
0,25 XMB 1600 10 = XMB.
X = 2,24 byte.
Tính toán cho bộ nhớ:
STR = 80MB, ETR = 20, L = 60 10 -.,
20 (XMB / so 60 * 10.) = XMB.
0,25 XMB 1200 10 = XMB.
X = 1,68 byte.
Tính toán cho băng:
STR = 2MB, ETR = 0,5, L = 60.
0,5 iXMB / 2 60) = XMB.
0,25 XMB 30 = XMB.
X = 40MB.
f. phụ thuộc vào cách nó đang được sử dụng. Giả sử chúng ta đang sử dụng băng để khôi
phục lại một sao lưu. Trong trường hợp này, băng hoạt động như một thiết bị truy cập tuần tự
mà chúng tôi đang tuần tự đọc các nội dung của cuốn băng. Một ví dụ khác, giả sử chúng ta
đang sử dụng băng từ để truy cập vào một loạt các hồ sơ lưu trữ trên băng. Trong trường hợp
này, truy cập vào băng là tùy ý và do đó được coi là ngẫu nhiên.

12,15: Giả sử chúng tôi đồng ý rằng: 1 kilobyte là 1.024 byte, 1 megabyte là
1,0242 byte, và gigabyte 1 là 1,024 bytes. tiến trình này tiếp tục thông qua terabyte,
petabytes, và exabyte (1,0246). Có một số dự án mới eurrently propoeed khoa học có kế
hoạch để ghi lại và lưu trữ một vài exabyte dữ liệu trong thập kỷ tiếp theo. Để trả lời
những câu hỏi sau đây, bạn sẽ cần phải thực hiện một vài giả định hợp lý, nhà nước các
giả định rằng bạn thực hiện.
a. ổ đĩa nhiều như thế nào sẽ được yêu cầu phải tổ chức 4 exabyte dữ liệu?
b. Có bao nhiêu băng maaetic sẽ được yêu cầu tổ chức 4 exabyte dữ liệu?
c. Làm thế nào nhiều băng quang học sẽ được yêu cầu phải tổ chức 4 exabyte dữ liệu
(xem tập 12,21)?
d. Có bao nhiêu hộp lưu trữ ba chiều sẽ được yêu cầu lbld 4 exabyte dữ liệu (xem tập
12,20)?
e. Có bao nhiêu feet khối không gian lưu trữ sẽ mỗi req tùy chọn qirre
Answ er
a. Giả sử rằng một dnive đĩa chứa 10 GB. Sau đó, 100 đĩa giữ 1 TB, 100.000 đĩa giữ 1 PB, và
100.000.000 đĩa giữ 1 EB. Để lưu trữ 4 EBwould yêu cầu khoảng 400 triệu đĩa. Nếu một
băng từ chứa 40 GB, chỉ 100.000.000 băng sẽ được yêu cầu. Nếu băng quang nắm giữ nhiều
dữ liệu hơn 50 lần so với băng từ, 2 triệu quang băng là đủ. Nếu một mực ba chiều có thể lưu
trữ 180 CB, khoảng 22.200.000 hộp mực sẽ được yêu cầu.
b. Một ổ đĩa 3,5 là khoảng 1 "cao, 4 rộng, và 6 'sâu. Trong chân, đây là 1 / 12 của 1 / 3 của 1 /
2, hoặc 1 / 72 feet khối. Đóng gói densel số 400 đĩa miulion sẽ chiếm 5.600.000 feet khối.
Nếu chúng ta cho phép một nhân tố của hai không gian không khí và không gian cho nguồn
điện, công suất yêu cầu là khoảng 11 triệu feet khối.
c. hộp băng A 1 / 2 "là 1" cao và hình vuông 4.5. Các 'Olu UEE là khoảng 1 / 85 feet khối
Đối với 100.000.000 băng từ cked denseh âm lượng được khoảng 1,2 triệu feet khối. Cho 2
triệu băng quang học khối lượng là 23.400 feet khối.
d. cD.ROM A là 4,75 'trong đường kính và khoảng 1 / 16 "dày Nếu chúng ta giả định rằng
một đĩa holostore được lưu trữ trong một khe cắm thẻ thư viện đó là 5 hình vuông và 1 / 8"
rộng, chúng tôi tính toán khối lượng 22.200.000 đĩa được khoảng 40.000 feet khối.

You might also like