Tải bản đầy đủ (.pdf) (40 trang)

109 câu hỏi đề cương môn nguyên lý hệ điều hành

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.36 MB, 40 trang )

Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 1
Đề cương Nguyên lý hệ điều hành
K57C – CNTT
www.K57C.com
Câu 1: Hãy trình bày sự phân loại theo nguyên lý hoạt động của hệ điều hành. Hệ
điều hành được phát triển theo hướng nào, cho biết sự tiến hóa của các hệ điều
hành. Hệ điều hành MSDOS và Windows 98, 2000, XP được xếp vào loại hệ điều
hành nào.

Phân loại hệ điều hành theo nguyên lý hoạt động:
Hệ thống xử lý theo lô:
- Hệ thống xử lý theo lô đơn giản – Batch Systems.
- Hệ thống xử lý theo lô đa chương – Multiprogrammed Batch Systems
(Hệ thống đa chương – Multiprograming System)
Hệ thống chia sẻ thời gian – TimeSharing Systems hay còn gọi là
Multitasking – đa nhiệm.
Hệ thống song song – Parallel Systems
Hệ thống phân tán – Distributed Systems.
Hệ thống xử lý thời gian thực – Realtime Systems.

Hệ điều hành được phát triển theo hướng:
Mainframe OS (Hệ điều hành cho các máy tính lớn).
Server OS (Hệ điều hành cho các máy chủ).
Multiprocessor OS (Hệ điều hành cho máy nhiều CPU)
PC OS (Hệ điều hành cho máy tính cá nhân).
Real-time OS (Hệ điều hành thời gian thực dành cho các máy chuyên biệt)
Embedded OS (Hệ điều hành nhúng: Hệ điều hành dành cho máy, thiết bị
kỹ thuật số hỗ trợ cá nhân – PDA, thiết bị di động, thiết bị truy cập không
dây…)
Smart Card OS (Hệ điều hành cho các thẻ chip)



Sự tiến hóa của các hệ điều hành:
Các hệ điều hành được phát triển song song với sự phát triển của máy tính điện tử.
Ban đầu, các hệ điều hành làm việc theo phương pháp trọn gói, sau đó được bổ
sung thêm các tính năng có thể đáp ứng được nhu cầu công việc của người sử
dụng và sự phát triển của hệ thống máy tính.
Với thế hệ máy tính thứ nhất (1945 – 1955) thì không có hệ điều hành.
Các chương trình đều viết trong ngôn ngữ máy và đưa vào máy bằng cách nối dây
trên các bảng cắm nối (plugboard). Không có sự phân biệt giữa chương trình của
người sử dụng và chương trình điều khiển.
Thế hệ máy tính thứ 2 (1955 – 1965): Tốc độ, bộ nhớ của máy tính tăng
lên. Thông tin nhập vào máy qua bìa đục lỗ (punched card) hoặc băng. Từ thế hệ
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 2
này bắt đầu có hệ điều hành, lúc này chỉ là các HDH đơn chương trình, mỗi lúc chỉ
cho phép thực hiện một chương trình của người sử dụng. Đây là loại hệ điều hành
xử lý theo lô đơn giản.
(Trong chế độ sử lý theo lô, nhiệm vụ xử lý (JOB) là một hoặc nhiều công việc
liên hoàn. Các JOB của nhiều công việc được sắp xếp liên tiếp nhau. Hệ điều hành
xử lý theo lô đơn giản nhằm loại trừ thời gian chết của CPU khi chuyển tiếp giữa
các công đoạn trong một công việc là nét chủ đạo của hệ điều hành đối với các
máy tính thế hệ 2.)
Thế hệ máy tính thứ 3 (1965 – 1980): các máy tính xây dựng với công
nghệ mạch tích hợp. Chế độ bộ nhớ ảo được đưa vào bắt đầu từ thế hệ này.
Cải tiến quan trọng ở thế hệ này là chế độ đa chương trình (Multi-program). Chế
độ đa chương trình nhằm song song hóa các thiết bị ngoại vi để tận dụng thời gian
CPU, trong chế độ này nhiều chương trình cùng được nạp vào trong bộ nhớ. Hệ
điều hành đa chương trình sử dụng cơ chế đa chương và Spooling (Simultaneous
Peripheral Operation On Line – nghĩa là thao tác ngoại vi đồng thời theo kiểu
thường trực).

Hệ điều hành chia sẻ thời gian (Time Sharing) xuất hiện thay thế được
những bất tiện khi xử lý các chương trình có thứ tự ưu tiên trong cơ chế đa
chương. Vì tính năng cùng tiến triển giúp cho nhiều nhiệm vụ có thể thực hiện một
cách có ý nghĩa mà hệ điều hành có cơ chế phân chia thời gian còn gọi là hệ điều
hành đa nhiệm (Multi-task). Nói đúng hơn, phân chia thời gian là cách thức để
thực hiện chế độ đa nhiệm trên các máy tính chỉ có một bộ xử lý. Do nhu cầu phục
vụ nhiều người dùng nên xuất hiện cơ chế đa người dùng, một hệ thống đa người
dùng (Multi-users) đương nhiên phải là hệ thống đa nhiệm, tuy nhiên nếu chỉ có
một người dùng người ta cũng thực hiện chế độ đa nhiệm. Điểm khác nhau giữa
một hệ thống đa nhiệm và một hệ thống nhiều người sử dụng là vấn đề quản lý
giao tiếp với nhiều người sử dụng ở nhiều trạm cuối (terminal) có thể từ xa.
Thế hệ máy tính thừ 4 (1980 đến hiện tại): xuất hiện hệ điều hành cho
máy tính cá nhân (PC OS) và hệ điều hành của các máy tính lớn (mini và
mainframe OS). PC OS lúc này là DOS, WINDOWS, MAC/OS. Mini và
mainframe OS chủ yếu là UNIX.

Phân loại theo nguyên lý hoạt động thì hệ điều hành MSDOS được xếp vào loại
hệ điều hành xử lý theo lô đơn giản, đơn người sử dụng.
Windows 98, 2000, XP: là hệ điều hành chia sẻ thời gian, đa nhiệm, đa người sử
dụng.

Câu 2: Mô tả các thành phần hệ thống cơ bản của hệ điều hành. Nêu các chương
trình hệ thống của hệ điều hành windows có chức năng quản lí bộ nhớ trong, bộ
nhớ phụ.

Các thành phần của hệ điều hành (Gồm 8 thành phần cơ bản sau):
Quản lý tiến trình,
Quản lý bộ nhớ chính,
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 3

Quản lý bộ nhớ phụ,
Quản lý hệ thống nhập xuất,
Quản lý hệ thống tập tin,
Hệ thống bảo vệ,
Hệ thống cơ chế dòng lệnh.
Trong đó:
Quản lý tiến trình
Một chương trình không thực hiện được gì cả nếu như nó không được CPU
thi hành. Một tiến trình là một chương trình đang được thi hành, nhưng ý nghĩa
của nó còn rộng hơn. Một công việc theo lô là một tiến trình. Một chương trình
người dùng chia xẻ thời gian là một tiến trình, một công việc của hệ thống như
soopling xuất ra máy in cũng là một tiến trình.
Một tiến trình phải sử dụng tài nguyên như thời gian sử dụng CPU, bộ nhớ,
tập tin, các thiết bị nhập xuất để hoàn tất công việc của nó. Các tài nguyên này
được cung cấp khi tiến trình được tạo hay trong quá trình thi hành. Khi tiến trình
được tạo, nó sử dụng rất nhiều tài nguyên vật lý và luận lý.cũng như một số khởi
tạo dữ liệu nhập. Ví dụ, khảo sát tiến trình hiển thị trạng thái của tập tin lên màn
hình. Đầu vào của tiến trình là tên tập tin, và tiến trình sẽ thực hiện những chỉ thị
thích hợp, thực hiện lời gọi hệ thống để nhận được những thông tin mong muốn và
hiển thị nó lên màn hình. Khi tiến trình kết thúc, hệ điều hành sẽ tái tạo lại các tài
nguyên có thể được dùng lại
Một tiến trình là hoạt động (active) hoàn toàn-ngược lại với một tập tin trên
đĩa là thụ động (passive)-với một bộ đếm chương trình cho biết lệnh kế tiếp được
thi hành.Việc thi hành được thực hiện theo cơ chế tuần tự , CPU sẽ thi hành từ
lệnh đầu đến lệnh cuối.
Một tiến trình được coi là một đơn vị làm việc của hệ thống. Một hệ thống
có thể có nhiều tiến trình cùng lúc , trong đó một số tiến trình là của hệ điều hành,
một số tiến trình là của người sử dụng. các tiến trình này có thể diễn ra đồng thời.

Vai trò của hệ điều hành trong việc quản lý tiến trình là :

Tạo và hủy các tiến trình của người sử dụng và của hệ thống.
Ngưng và thực hiện lại một tiến trình.
Cung cấp cơ chế đồng bộ tiến trình.
Cung cấp cách thông tin giữa các tiến trình.
Cung cấp cơ chế kiểm soát deadlock

Quản lý bộ nhớ chính:
Trong hệ thống máy tính hiện đại, bộ nhớ chính là trung tâm của các thao
tác, xử lý. Bộ nhớ chính có thể xem như một mảng kiểu byte hay kiểu word. Mỗi
phần tử đều có địa chỉ. Đó là nơi lưu dữ liệu được CPU truy xuất một cách nhanh
chóng so với các thiết bị nhập/xuất. CPU đọc những chỉ thị từ bộ nhớ chính. Các
thiết bị nhập/xuất cài đặt cơ chế DMA cũng đọc và ghi dữ liệu trong bộ nhớ chính.
Thông thường bộ nhớ chính chứa các thiết bị mà CPU có thể định vị trực tiếp. Ví
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 4
dụ CPU truy xuất dữ liệu từ đĩa, những dữ liệu này được chuyển vào bộ nhớ qua
lời gọi hệ thống nhập/xuất.
Một chương trình muốn thi hành trước hết phải được ánh xạ thành địa chỉ
tuyệt đối và nạp vào bộ nhớ chính.Khi chương trình thi hành, hệ thống truy xuất
các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. Ngay cả khi tiến trình
kết thúc, dữ liệu vẫn còn trong bộ nhớ cho đến khi một tiến trình khác được ghi
chồng lên.
Để tối ưu hóa quá trình hoạt động của CPU và tốc độ của máy tính, một số
tiến trình được lưu giữ trong bộ nhớ. Có rất nhiều kế hoạch quản trị bộ nhớ do có
nhiều ứng dụng bộ nhớ khác nhau và hiệu quả của các thuật toán phụ thuộc vào
tùy tình huống cụ thể. Lựa chọn một thuật toán cho một hệ thống được mô tả trước
phụ thuộc vào nhiều yếu tố, đặc biệt là phần cứng của hệ thống.
Hệ điều hành có những vai trò như sau trong việc quản lý bộ nhớ chính:
Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.
Quyết định tiến trình nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể

dùng được.
Cấp phát và thu hồi bộ nhớ khi cần thiết.

Quản lý bộ nhớ phụ :
Mục tiêu chính của hệ thống máy tính là thi hành chương trình. Những
chương trình với dữ liệu truy xuất của chúng phải được đặt trong bộ nhớ chính
trong suốt quá trình thi hành. Nhưng bộ nhớ chính quá nhỏ để có thể lưu giữ mọi
dữ liệu và chương trình, ngoài ra dữ liệu sẽ mất khi không còn được cung cấp
năng lượng. Hệ thống máy tính ngày nay cung cấp hệ thống lưu trữ phụ. Đa số các
máy tính đều dùng đĩa để lưu trữ cả chương trình và dữ liệu. Hầu như tất cả
chương trình : chương trình dịch, hợp ngữ, thủ tục, trình soạn thảo, định dạng
đều được lưu trữ trên đĩa cho tới khi nó được thực hiện, nạp vào trong bộ nhớ
chính và cũng sử dụng đĩa để chứa dữ liệu và kết quả xử lý. Vì vậy một bộ quản lý
hệ thống đĩa rất quan trọng cho hệ thống máy tính.

Vai trò của hệ điều hành trong việc quản lý đĩa:
Quản lý vùng trống trên đĩa.
Định vị lưu trữ.
Lập lịch cho đĩa.
Vì hệ thống đĩa được sử dụng thường xuyên, nên nó phải được dùng hiệu quả.Tốc
độ của toàn bộ hệ thống tuỳ thuộc rất nhiều vào tốc độ truy xuất đĩa.

Quản lý hệ thống nhập xuất:
Một trong những mục tiêu của hệ điều hành là che dấu những đặc thù của các thiết
bị phần cứng đối với người sử dụng thay vào đó là một lớp thân thiện hơn, người
sử dụng dể thao tác hơn. Một hệ thống nhập/xuất bao gồm:
Hệ thống buffer caching.
Giao tiếp điều khiển thiết bị (device drivers) tổng quát.
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 5

Bộ điều khiển cho các thiết bị phần cứng.
Chỉ có device driver mới hiểu đến cấu trúc đặc thù của thiết bị mà nó mô tả.

Quản lý hệ thống tập tin:
Hệ thống quản lý tập tin là thành phần rõ ràng nhất trong hệ điều hành.
Máy tính có thể lưu trữ thông tin trong nhiều dạng thiết bị vật lý khác nhau: băng
từ, đĩa từ, đĩa quang, Mỗi dạng có những đặc thù riêng về mặt tổ chức vật lý.
Mỗi thiết bị có một bộ kiểm soát như bộ điều khiển đĩa (disk driver) và có những
tính chất riêng. Những tính chất này là tốc độ, khả năng lưu trữ, tốc độ truyền dữ
liệu và cách truy xuất.
Để cho việc sử dụng hệ thống máy tính thuận tiện, hệ điều hành cung cấp
một cái nhìn logic đồng nhất về hệ thống lưu trữ thông tin. Hệ điều hành định
nghĩa một đơn vị lưu trữ logic là tập tin. Hệ điều hành tạo một ánh xạ từ tập tin
đến vùng thông tin trên đĩa và truy xuất những tập tin này thông qua thiết bị lưu
trữ.
Một tập tin là một tập hợp những thông tin do người tạo ra nó xác định.
Thông thường một tập tin đại diện cho một chương trình và dữ liệu. Dữ liệu của
tập tin có thể là số, là ký tự, hay ký số. Tập tin thường có dạng tự do, như tập tin
văn bản, nhị phân (là tập tin chứa dãy các bit).

Vai trò của hệ điều hành trong việc quản lý tập tin:
Tạo và xoá một tập tin.
Tạo và xoá một thư mục.
Hỗ trợ các thao tác trên tập tin và thư mục.
Ánh xạ tập tin trên hệ thống lưu trữ phụ.
Backup tập tin trên các thiết bị lưu trữ.

Hệ thống bảo vệ:
Trong một hệ thống nhiều người sử dụng và cho phép nhiều tiến trình diễn
ra đồng thời, các tiến trình phải được bảo vệ đối với những hoạt động khác. Do đó,

hệ thống cung cấp cơ chế để đảm bảo rằng tập tin, bộ nhớ, CPU, và những tài
nguyên khác chỉ được truy xuất bởi những tiến trình có quyền. Ví dụ, bộ nhớ đảm
bảo rằng tiến trình chỉ được thi hành trong phạm vi địa chỉ của nó. Bộ thời gian
đảm bảo rằng không có tiến trình nào độc chiếm CPU. Cuối cùng các thiết bị
ngoại vi cũng được bảo vệ.
Hệ thống bảo vệ là một cơ chế kiểm soát quá trình truy xuất của chương
trình, tiến trình, hoặc người sử dụng với tài nguyên của hệ thống. Cơ chế này cũng
cung cấp cách thức để mô tả lại mức độ kiểm soát.
Hệ thống bảo vệ cũng làm tăng độ an toàn khi kiểm tra lỗi trong giao tiếp giữa
những hệ thống nhỏ bên trong.

Hệ thống cơ chế dòng lệnh:
Một trong những phần quan trọng của chương trình hệ thống trong một hệ
điều hành là cơ chế dòng lệnh, đó là giao tiếp giữa người sử dụng và hệ điều hành.
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 6
Một số hệ điều hành đặt cơ chế dòng lệnh bên trong hạt nhân, số khác như
MS-DOS và UNIX thì xem hệ điều hành như là một chương trình đặc biệt, được
thi hành khi các công việc bắt đầu hoặc khi người sử dụng login lần đầu tiên.
Các lệnh đưa vào hệ điều hành thông qua bộ điều khiển lệnh. Trong các hệ thống
chia xẻ thời gian một chương trình có thể đọc và thông dịch các lệnh điều khiển
được thực hiện một cách tự động. Chương trình này thường được gọi là bộ thông
dịch điều khiển card, cơ chế dòng lệnh hoặc Shell. Chức năng của nó rất đơn giản
đó là lấy lệnh kế tiếp và thi hành.
Mỗi hệ điều hành sẽ có những giao tiếp khác nhau, dạng đơn giản theo cơ
chế dòng lệnh, dạng thân thiện với người sử dụng như giao diện của Macintosh có
các biểu tượng, cửa sổ thao tác dùng chuột.
Các lệnh có quan hệ với việc tạo và quản lý các tiến trình, kiểm soát nhập
xuất, quản lý bộ lưu trữ phụ, quản lý bộ nhớ chính, truy xuất hệ thống tập tin và cơ
chế bảo vệ.


Các chương trình hệ thống của hệ điều hành windows có chức năng quản lí
bộ nhớ trong, bộ nhớ phụ:
Quản lý bộ nhớ là một trong những nhiệm vụ quan trọng và phức tạp nhất
của hệ điều hành. Bộ phận quản lý bộ nhớ xem bộ nhớ chính như là một tài
nguyên của hệ thống dùng để cấp phát và chia sẻ cho nhiều tiến trình đang ở trong
trạng thái active. Các hệ điều hành đều mong muốn có nhiều hơn các tiến trình
trên bộ nhớ chính. Công cụ cơ bản của quản lý bộ nhớ là sự phân trang (paging) và
sự phân đoạn (segmentation). Với sự phân trang mỗi tiến trình được chia thành
nhiều phần nhỏ có quan hệ với nhau, với kích thước của trang là cố định. Sự phân
đoạn cung cấp cho chương trình người sử dụng các khối nhớ có kích thước khác
nhau. Hệ điều hành cũng có thể kết hợp giữa phân trang và phân đoạn để có được
một chiến lược quản lý bộ nhớ linh hoạt hơn.

Câu 3: (Mô tả
sơ đồ, chức năng và quan hệ giữa các mođun.)
Quá trình khởi động máy tính. Hệ điều hành thực sự nắm quyền kiểm soát máy
tính ở giai đoạn nào? Trình bày cách thức tổ chức hoạt động giữa CPU và các
thiết bị I/O

a) Lược đồ cơ bản về tổ chức hoạt động của phần cứng máy tính
- Các thiết bị kết nối với nhau bằng các đường bus.
- Một hoặc nhiều CPU, thiết bị điều khiển kết nối thông qua đường truyền
chung cùng truy nhập đến bộ nhớ được chia sẻ.
- Sự thực hiện đồng thời của CPU và các thiết bị dẫn đến cạnh tranh sử
dụng bộ nhớ
- Màn hình sử dụng bộ nhớ thông qua card đồ hoạ
- Bàn phím, chuột, máy in thông qua các bản mạch điều khiển để sử dụng
bộ nhớ.
- CPU trực tiếp sử dụng bộ nhớ.

Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 7



b) Quá trinh khởi động máy tính:
- Bootstrap program được nạp tại thời điểm bật máy (BIOS).Kiểm tra các
thành phần của máy tính. Quá trình này gọi là POST – Power Of Selt
Test. POST kiểm tra các thiết bị bộ nhớ, bo mạch chính, card màn hình,
ổ mềm, ổ cứng, bàn phím, chuột xem chúng có sẵn sàng làm việc
không?
- Khởi động tất cả các bộ phận của hệ thống.
- Nạp hạt nhân của hệ điều hành và thực thi. (BIOS chuyển giao quyền
điều khiển cho hệ điều hành.)
- Các chức năng lưu trữ cơ bản được lưu trứ trong ROM hoặc EPROM
được gọi là phần sụn (firmware).

c) Hệ điều hành thực sự nắm quyền kiểm soát máy tính khi nạp hạt nhân của
hệ điều hành và thực thi.

d) Cách thức tổ chức hoạt động của CPU và các thiết bị I/O:
- Thiết bị I/O và CPU có thể thực hiện đồng thời.
- Mỗi bộ phận điều khiển thiết bị đảm nhận một thiết bị riêng biệt.
- Mỗi thiết bị điều khiển có một bộ đệm (buffer) cục bộ.
- CPU chuyển dữ liệu từ (đến) bộ nhớ chính đến (từ) bộ đệm cục bộ.
- I/O chuyển dữ liệu từ thiết bị đến bộ đệm cục bộ của bộ điều khiển.
- Bộ điều khiển thiết bị báo cho CPU biết để CPU dừng hoạt động và
phục vụ cho nó bằng một interrupt (ngắt).

Câu 4: Hãy mô tả hoạt động của ngắt (interrupt ), các phương pháp điều khiển

ngắt (sơ đồ mô tả điều khiển đồng bộ và không đồng bộ) và giải thích về sơ đồ và
ý nghĩa của bảng các trạng thái của thiết bị I/O.

Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 8
Định nghĩa: Ngắt (interrupt) là hiện tượng tạm ngừng thực hiện 1 tiến trình để
chuyển sang thực hiện 1 tiến trình khác khi có 1 sự kiện xảy ra trong hệ thống tính
toán.

Hoạt động của ngắt:
- Lưu đặc trưng của ngắt (xác định chương trình con xử lý ngắt là chương
trình được gọi đến khi có dấu hiệu ngắt phát sinh).
- Lưu trạng thái của tiến trình bị ngắt.
- Ngắt chuyển điều khiển đến 1 chương trình con xử lý ngắt thông qua
vectơ ngắt (là vectơ chứa địa chỉ của các chương trình con xử lý ngắt).
- Thực hiện chương trình con xử lý ngắt .
- Phục hồi lại tiến trình bị ngắt và phục vụ tiếp.
 HĐH không trực tiếp xử lý ngắt

Phương pháp điều khiển ngắt:
)


Đồng bộ (synchronous): Sau khi I/O bắt đầu, điều khiển (quyền kiểm soát) được
chuyển tới chương trình của người sử dụng chỉ khi I/O đó hoàn thành.
- Yêu cầu I/O đc đưa ra, chương trình của người sử dụng chờ dấu hiệu
ngắt I/O hoàn thành. CPU sẽ trong trạng thái chờ cho đến khi có một
ngắt tiếp.
- Mỗi thời điểm chỉ có 1 yêu cầu I/O được giải quyết, ko xử lý đồng thời.
- Không có sự chồng chéo trong xử lý I/O.

Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 9
 như vậy: tiến trình đang chạy, nếu gặp ngắt thì dừng lại, k xử lý nữa để nhận tín
hiệu từ I/O. I/O hoàn thành thì tiến trình lại chạy tiếp. Các tiến trình chờ được xử
lý xếp hàng thành dòng đợi.

Không đồng bộ (asynchronous): Sau khi I/O bắt đầu, điều khiển được chuyển tới
chương trình của người sử dụng mà không chờ I/O hoàn thành.
- System call là một yêu cầu của user chuyển tới hệ điều hành đòi hỏi đáp
ứng I/O.
- I/O không đồng bộ cho phép I/O đồng thời.
 như vậy: khi tiến trình đang chạy, HĐH vẫn có thể nhận I/O bên ngoài mà
không cần dừng vì có nhiều luồng (thread) để xử lý các ngắt khác nhau.

Bảng trạng thái (device-status table) chứa các entry của mỗi thiết bị I/O ghi
kiểu, địa chỉ và trạng thái. (bảng xem trong slide)
Hệ điều hành tra cứu vào bảng thiết bị I/O để xác định trạng thái thiết bị và sửa đổi
bảng nhập vào bao gồm thêm thông tin ngắt I/O mới.
Sơ đồ:



Câu 5: Giải thích lược đồ các thiết bị lưu trữ, phân tích nguyên lý hoạt động và
đặc tính của từng loại thiết bị lưu trữ?
Trình bày nguyên lý và hoạt động của kỹ thuật caching?


Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 10
Lược đồ các thiết bị lưu trữ





Giải thích lược đồ
Từ trên xuống dung lượng lưu trữ tăng dần còn tốc độ xử lý giảm dần.
⌂ Registers: thanh ghi.
⌂ Cache: bộ nhớ đệm.
⌂ Main memory: bộ nhớ chính.
⌂ Electronic disk: bộ nhớ thứ cấp
⌂ Magnetic disk: đĩa từ
⌂ Optical disk: đĩa quang
⌂ Magnetic tapes: băng từ

Nguyên lý hoạt động và đặc tính của từng loại:
⌂ Registers:
- Nguyên lý hoạt động -> dữ liệu được chuyển từ bộ nhớ chính vào các
thanh ghi, tính toán trên chúng, sau đó chuyển kết quả vào bộ nhớ
chính.
- Đặc tính: tốc độ truy xuât nhanh, bộ nhớ dung lượng nhỏ

Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 11
⌂ Cache:
- Nguyên lý hoạt động -> khi 1 chương trình cần truy xuất dữ liệu từ ổ
đĩa: đầu tiên bộ nhớ cache được kiểm tra
Nếu có, dữ liệu được lấy trực tiếp từ cache.
Không có, dữ liệu đc sao tới cache và đc sử dụng.
- Đặc tính: tốc độ truy xuất nhanh, bộ nhớ dung lượng nhỏ
⌂ Main memory:

- Nguyên lý hoạt động: ->khi CPU thực thi 1 chỉ thị trước tiên nó đọc các
chỉ thị từ bộ nhớ và nạp vào bộ nhớ chính sau đó nó đọc và viết dữ liệu
từ bộ nhớ chính trong chu kỳ lấy dữ liệu.
- Đặc tính: tốc độ truy xuất nhanh CPU có thể truy xuất trực tiếp, bộ nhớ
dung lượng lớn.
⌂ Electronic disk:
- Nguyên lý hoạt đông ->theo cơ chế đọc ghi dữ liệu nhanh chóng bằng
một tập hợp các phần tử từ hóa trên các đĩa quay.
- Đặc tính: tốc độ truy xuất trung bình là thiết bị lưu trữ mở rộng cung
cấp khả năng lưu trữ lớn và lâu dài.
⌂ Magnetic disk:
- Nguyên lý hoạt động ->theo cơ chế di chuyển đầu đọc (ghi) đến trực
tiếp vị trí lưu trữ dữ liệu.
- Đặc tính: kim loại cứng hoặc khối phủ các vật liệu ghi từ tính tốc độ
truy xuất chậm, Khả năng lưu trữ lớn.
⌂ Optical disk:
- Nguyên lý hoạt động ->đọc ghi dữ liệu trên nguyên tắc quang học, dùng
tia sáng laser.
- Đặc tính: lưu trữ dữ liệu dạng số dùng phương tiện quang học để lưu
thông tin tốc độ truy xuất chậm, khả năng lưu trữ lớn.
⌂ Magnetic tapes:
- Nguyên lý hoạt động ->theo cơ chế đọc ghi tuần tự phải đợi để băng từ
quay đến phần cần đọc hoặc ghi dữ liêu.
- Đặc tính: dải nhựa tổng hợp hẹp đc phủ các vật liệu ghi từ tính, tốc độ
truy xuât chậm, lưu trữ lớn, đc sử dụng rộng rãi.

Caching: kỹ thuật làm tăng tốc độ xử lý của hệ thống bằng cách:
Thực hiện copy thông tin tới thiết bị nhớ nhanh hơn để tăng tốc độ xử lý
của hệ thống.
Giữ lại các dữ liệu mới được truy nhập trong thiết bị tốc độ cao đó.

Yêu cầu: dữ liệu phải được lưu trữ đồng bộ trong nhiều mực hệ thống
nhớ để nhất quán (consistent).
Vì dung lượng cach có hạn, yêu cầu có sự quản lý cach (cache
management) để tăng hiệu năng.



Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 12
Đọc để hiểu bản chất
// Cache là tên gọi của bộ nhớ đệm – nơi lưu trữ các dữ liệu nằm chờ các ứng
dụng hay phần cứng xử lý. Mục đích của nó là để tăng tốc độ xử lý (có sẵn xài liền
không cần tốn thời gian đi lùng sục tìm kéo về). việc truy xuất 1 byte dữ liệu trong
bộ nhớ RAM có thể nhanh hơn hàng ngàn lần nếu truy xuất từ một ổ đĩa cứng.
Nói một cách bài bản, cache là một cơ chế lưu trữ tốc độ cao đặc biệt. Nó có thể
là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc
lập.Có hai dạng lưu trữ cache được dùng phổ biến trong máy tính cá nhân là
memory caching (bộ nhớ cache hay bộ nhớ truy xuất nhanh) và disk caching (bộ
nhớ đệm đĩa).//
Nguyên lý hoạt động:
+) khi 1 chương trình cần truy xuất dữ liệu từ ổ đĩa: đầu tiên bộ nhớ cache được
kiểm tra
*) nếu có, dữ liệu được lấy trực tiếp từ cache.
*) ko có, dữ liệu đc sao tới cache và đc sử dụng.



Câu 6: Trình bày cấu trúc phân lớp của hệ điều hành OS/2.
Sơ đồ:



Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 13
Trong sơ đồ trên ta thấy hệ điều hành được chia thành các lớp (bậc) mỗi lớp
được xây dựng trên 1 lớp bên dưới.Lớp dưới cùng(lớp 0) là phần cứng ,lớp cao
nhất là giao tiếp người sử dụng.Với Khả năng mô đun hóa ,các lớp được chon 1 số
thao tác và được phục vụ bởi chỉ lớp bậc dưới của nó.
Các ứng dụng của người sử dụng giao tiếp với hệ điều hành thông qua lớp
giao tiếp các chương trình ứng dụng đã được lập trình sẵn,ngoài ra hệ điều hành
còn cung cấp thư viện API (giao diện lập trình ứng dụng)được thiết kế theo kiểu
hướng đối tượng và là giao tiếp cho người lập trình.Kế đó là các hệ thống con.
Dưới các hệ thống con là phần nhân của hệ thống,phần này gồm quản li bộ
nhớ,gửi các tác vụ,quản lí thiết bị.Lớp dưới cùng là phần cứng nó cũng được chia
thành các mô đun độc lập.Do cấu trúc phân lớp nên khi các chương trình ứng dụng
được gửi xuống hệ điều hành nó trở thành các chương trình độc lập điều này làm
cho hệ điều hành có tính đa nhiệm.

Sự khác biệt cơ bản giữa OS/2 với Unix là:
OS/2 có cấu trúc phân lớp còn Unix có cấu trúc đơn giản chỉ gồm 2 phần là
các chương trình hệ thống và phần nhân.
Trong Unix người sử dụng dùng các chương trình ứng dụng dựa trên các
chương trình con có sẵn của hệ điều hành,người sử dụng gử các yêu cầu tới
shell, shell biên dịch chung sau đó gửi tới nhân.
Trong Unix các chương trình con nằm ngoài nhân do vậy người dung có
thể thêm bớt các chương trình con.
Unix hướng tới hệ thống lớn đa người dùng.

Câu7: Hãy trình bày cấu trúc phân lớp của hệ điều hành UNIX. Sự khác biệt cơ
bản về cấu trúc của 2 loại hệ điều hành OS2 là gi?
Trong cấu trúc phân lớp hãy chỉ ra thành phần làm cho hệ điều hành này trở

thành hệ điều hành đa người dùng.

UNIX giống như các hệ điều hành khác nó là lớp nằm giữa phần cứng và ứng
dụng. Nó có chức năng quản lý phần cứng và quản lý các ứng dụng thực thi.

Cấu trúc cơ bản của hệ điều hành UNIX như sau:
Các chương trình hệ thống
Kernel
Bao gồm tất cả các thành phần bên dưới giao tiếp lời gọi hệ thống và trên lớp phần
cứng
Cung cấp hệ thống tệp tin, lập lịch CPU, quản trị bộ nhớ và các chức năng điều
hành hệ thống khác. Một số lượng lớn các chức năng được tập hợp trong một lớp
Ta có thể hiển thị hệ điều hành UNIX truyền thống khi nó được phân tầng như
sau:
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 14






Sự khác biệt cơ bản giữa cấu
trúc HĐH UNIX và cấu trúc
HĐH OS2 là UNIX
Nó chứa 2 phần có thể tách
rời nhau: nhân và các
chương trình hệ thống
Bao gồm tất cả các thành phần bên dưới giao tiếp lời gọi hệ thống và trên lớp
phần cứng

Lời gọi hệ thống định nghĩa giao diện lập trình ứng dụng cho UNIX
Tập hợp các chương trình hệ thống thường dùng sẵn định nghĩa giao diện người
dùng
Người lập trình và giao diện người dùng định nghĩa ngữ cảnh mà nhân phải hỗ trợ
Những ấn bản mới của UNIX được thiết kế để dùng phần cứng tiên tiến hơn :
Các hệ điều hành có thể giữ lại việc điều khiển lớn hơn qua các máy tính và qua
các ứng dụng thực hiện việc sử dụng máy tính đó
Những người cài đặt thoải mái hơn trong việc thực hiện việc sử dụng máy tính
Việc chia toàn bộ các chức năng và đặc điểm thành các thành phần cho phép
người lập trình che giấu thông tin, họ tự do cài đặt các thủ tục cấp thấp…
OS/2
Cài đặt phân tầng nên có khuynh hướng ít hiệu quả hơn các loại khác
Tại mỗi tầng , các tham số có thể hiệu chỉnh, dữ liệu có thể được truyền
Mỗi tầng thêm chi phí cho lời gọi hệ thống, kết quả thực sự là lời gọi hệ thống mất
thời gian lâu hơn khi chúng thực hiện trên hệ thống không phân tầng
Bổ sung thêm tính năng đa tác vụ và điều hành hai chế độ cùng một số đặc điểm
mới.

Câu 8: Các kỹ thuật quản lý các khối còn trống, các khối bị hỏng trên bộ nhớ lưu
trữ ngoài.

Quản lý theo bit vecto( bit map).
Không gian nhớ được chia thành các khối và được đánh số từ 0 max. Mỗi
khối sử dụng một bit để đánh dấu trạng thái. Khối đĩa nào đã sử dụng có giá trị là
1, khối nào chưa sử dụng có giá trị 0. Đọc thông tin trên bitmap ta có thể xác định
được không gian nhớ tự do của bộ lưu trữ( đĩa từ).
Ưu điểm: quản lý dễ dàng, đơn giản dễ tìm kiếm.
Nhược điểm: tốn không gian lưu trữ dành cho bitmap.



Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 15
Quản lý theo phương pháp liệt kê:
Sử dụng một danh sách móc nối để liệt kê các khối đĩa tự do. Con trỏ đầu trong
danh sách chỉ tới khối đĩa tự do đầu tiên, mỗi khối có một con trỏ để trỏ tới khối
kế tiếp.

Quản lý theo phương pháp lập nhóm:
Hệ thống nhóm các khối đĩa tự do liên tiếp thành nhóm.
Khối đĩa tự do đầu tiên trong nhóm lưu giữ địa chỉ của các khối đĩa tự do trong
nhóm. Khối đĩa tự do cuối cùng trong nhóm lưu trữ địa chỉ của khối tự do đầu tiên
trong nhóm tiếp theo.

Quản lý theo phương pháp đếm:
Giống như phương pháp lập nhóm.
Hệ thống lập danh sách quản lý địa chỉ của các khối tự do đầu tiên và số lượng các
khối tự do liên tục kế tiếp các khối đĩa đó.

Câu 9: Các phương pháp quản lý tệp trên bộ lưu trữ ngoài:

Định vị liên tục: mỗi tệp chiếm một tập hợp liên tục các khối trên đĩa.
Để định vị tệp cần biết địa chỉ bắt đầu và số lượng các khối( block) trên file.
Sử dụng việc truy cập ngẫu nhiên.
Ưu điểm: không gian tự do còn lại lớn.
Nhược điểm: không lưu trữ được các tệp lớn.

Định vị liên kết.
Sử dụng hai con trỏ: con trỏ đến địa chỉ đầu tiên của khối đầu tiên và một con trỏ
đến địa chỉ của khối cuối cùng. Và sử dụng một con trỏ tới địa chỉ khối kế tiếp.
Ưu điểm: tận dụng được không gian trống.

Nhược điểm: không truy cập ngẫu nhiên và tốn không gian vì phải cung cấp
không gian cho việc lưu trữ các con trỏ.

Định vị theo mục lục:
Cung cấp một khối lưu chỉ số chứa địa chỉ của các khối đã cấp phát khi đó ta chỉ
cần cập nhật khối chỉ số của file.
Ưu điểm: có thể truy cập trực tiếp
Nhược điểm: lãng phí không gian nhớ.

Câu 10: Hệ điều hành UNIX và MSDOS sử dụng phương pháp nào để định vị tệp,
mô tả bằng sơ đồ.

I.MS-DOS
MS-DOS sử dụng bảng FAT (File Allocation Table), lưu giữ tất cả không
gian trên đĩa theo phương pháp danh sách liên kết có chỉ mục. Thông thường có từ
hai FAT trở lên để phòng hờ. Mỗi entry của FAT quản lý một khối (còn gọi là
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 16
cluster được đánh số bắt đầu từ 2) trên đĩa. Kích thước khối được lưu trong
bootsector thông thường từ 1 đến 8 sector. Có hai loại FAT là FAT 12 và FAT 16.
FAT 12 có thể quản lý được 4096 khối còn FAT 16 có thể quản lý 64 K khối trên
một partition.

Giá trị trong mỗi phần tử (entry) có ý nghĩa như sau :
0
Cluster còn trống
(0)002 -
(F)FEF
Cluster chứa dữ liệu của các tập
tin

(F)FF0 -
(F)FF6
Dành riêng, không dùng
(F)FF7
Cluster hỏng
(F)FF8 -
(F)FFF
Cluster cuối cùng của chuỗi
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 17
Có một ánh xạ một một giữa entry và khối ngoại trừ hai entry đầu tiên, dùng cho
đĩa.
Khi hệ thống mở một tập tin, MS-DOS tìm trong bảng mô tả tập tin trong PSP, sau
đó kiểm tra tên tập tin xem có phải là con, lpt, tiếp theo kiểm tra các đường dẫn
để xác định vị trí trong bảng thư mục.
Tên tập tin (8bytes)
Phần mở rộng (3bytes)
Thuộc tính (1 byte)
A-D-V-S-H-R
Dành riêng (10bytes)
Giờ (2bytes)
Ngày (2bytes)
Khối đầu tiên (2bytes)
Kích thước tập tin
(4bytes)
Hình 10.2 Một entry thư mục trong MS-DOS
Bảng thư mục nằm ngay sau FAT, và mỗi entry là 32 byte. Mười một byte đầu
tiên mô tả tên và phần mở rộng(không lưu trữ dấu chấm phân cách). Sau đó là byte
thuộc tính, với giá trị :
1 : tập tin chỉ đọc

2 : tập tin ẩn
4 : tập tin hệ thống
8 : nhãn đĩa
16 : thư mục con
32 : tập tin chưa backup
Byte thuộc tính có thể được đọc ghi trong quá trình sử dụng. Tiếp theo là 10 byte
trống dàng riêng sử dụng sau này. Sau đó là 4 byte lưu trữ giờ, ngày với 6 bit cho
giây, 4 bit cho giờ, 5 bit cho ngày, 4 bit cho tháng và 7 bit cho năm (từ 1980). Hai
byte kế tiếp chứa số hiệu của khối đầu tiên (khối trong MS-DOS còn được gọi là
cluster) và bốn byte sau cùng lưu trữ kích thước của tập tin.

Hệ thống tập tin của Unix:
Có hai cách mô tả tên tập tin trong UNIX. Cách thứ nhất là dùng đường dẫn
tuyệt đối, tập tin được truy cập từ thư mục gốc. Thứ hai là dùng khái niệm thư
mục làm việc hay thư mục hiện hành trong đường dẫn tương đối.
UNIX cung cấp đặc tính LINK, cho phép nhiều người sử dụng cùng dùng chung
một tập tin, hay còn gọi là chia xẻ tập tin. Ví dụ như hình sau, fred và lisa cùng
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 18
làm việc trong cùng một đề án, họ cần truy cập tập tin lẫn nhau. Giả sử fred cần
truy cập tập tin x của lisa, anh ta sẽ tạo một entry mới trong thư mục của anh ta và
sau đó có thể dùng x với nghĩa là /usr/lisa/x.

Ngoài ra UNIX cho phép một đĩa có thể được mount thành một thành phần của hệ
thống cây thư mục của một đĩa khác.

Một đặc tính thú vị khác của hệ thống tập tin của UNIX là khóa (locking). Trong
một số ứng dụng, một số tiến trình có thể sử dụng cùng một tập tin cùng lúc. Có
hai loại khóa là chia xẻ hay loại trừ. Nếu tập tin đã chứa khóa chia xẻ thì có thể đặt
thêm một khóa chia xẻ nữa, nhưng không thể đặt một khoá loại trừ nhưng nếu đã

được đặt khóa loại trừ thì không thể đặt thêm khóa nữa. Vùng khóa có thể được
ghi chồng.
Hệ thống tập tin của UNIX thông thường được cài đặt trên đĩa như ở hình sau :
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 19

Khối 0 thường chứa mã khởi động của hệ thống.
Khối 1 gọi là khối đặc biệt (super block), nó lưu giữ các thông tin quan trọng về
toàn bộ hệ thống tập tin, bao gồm:
Kích thước của toàn bộ hệ thống tập tin.
Địa chỉ của khối dữ liệu đầu tiên.
Số lượng và danh sách các khối còn trống.
Số lượng và danh sách các I-node còn trống.
Ngày super block được cập nhật cuối cùng.
Tên của hệ thống tập tin.
Nếu khối này bị hỏng, hệ thống tập tin sẽ không truy cập được. Có rất nhiều trình
ứng dụng sử dụng thông tin lưu trữ trong super block. Vì vậy một bản sao super
block của hệ thống tập tin gốc được đặt trong RAM để tăng tốc độ truy xuất đĩa.
Việc cập nhật super block sẽ được thực hiện ngay trong RAM và sau đó mới ghi
xuống đĩa.
Sau khối đặc biệt là các I-node, được đánh số từ một cho tới tối đa. Mỗi I-node có
độ dài là 64 byte và mô tả cho một tập tin duy nhất (chứa thuộc tính và địa chỉ
khối lưu trữ trên đĩa của tập tin).
Sau phần I-node là các khối dữ liệu. Tất cả tập tin và thư mục đều được lưu trữ ở
đây.
Một entry của directory có 16 byte, trong đó 14 byte là tên của tập tin và 2 byte là
địa chỉ của I-node. Để mở một tập tin trong thư mục làm việc, hệ thống chỉ đọc
thư mục, so sánh tên được tìm thấy trong mỗi entry cho đến khi tìm được, từ đó
xác định được chỉ số I-node và đưa vào bộ nhớ để truy xuất.
Tập tin được tạo hay tăng kích thước bằng cách sử dụng thêm các khối từ danh

sách các khối còn trống. Ngược lại, khối được giải phóng sẽ trả về danh sách khối
trống khi xóa tập tin. Super block sẽ chứa địa chỉ của 50 khối trống. Trong đó địa
chỉ cuối cùng chứa địa chỉ của một khối chứa địa chỉ của 50 khối trống kế tiếp và
cứ tiếp tục như thế. Unix sử dụng khối trống trong super block trước. Khi khối
trống cuối cùng trong super block được sử dụng, 50 khối trống kế tiếp sẽ được đọc
vào trong super block. Ngược lại, khi một khối được giải phóng, địa chỉ của nó sẽ
được thêm vào danh sách của super block. Khi đã đủ 50 địa chỉ trong super block,
khối trống kế tiếp sẽ được dùng để lưu trữ 50 địa chỉ khối trống đang đặt trong
super block thay cho super block.

Câu 11: Ý nghĩa của các chế độ thực thi chương trình: User Mode và Kernel
Mode? Lời gọi hệ thống (System Call)?
Nêu khái niệm và các đặc điểm của Tiến trình (Process).
Vẽ và giải thích Sơ đồ trạng thái của tiến trình.
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 20
Ý nghĩa của chế độ thực thi chương trình user mode và kernel mode:
Để bảo vệ hệ điều hành tránh sự truy cập và/hoặc thay đổi bất hợp lệ của các
chương trình ứng dụng của người sử dụng, hệ điều hành phân ra hai chế độ xử lý
truy cập: Kernel mode và User mode. Các chương trình ứng dụng của người sử
dụng chạy trong user mode, trong khi đó các dịch vụ hệ thống và các chương trình
điều khiển thiết bị của hệ điều hành chạy trong kernel mode. Kernel mode chỉ đến
một chế độ của việc thực hiện trong processor mà ở đó nó có toàn quyền truy cập
đến tất cả hệ thống bộ nhớ và tất cả các chỉ thị của CPU. Trong cấu trúc này phần
mềm hệ điều hành được cung cấp một mức đặc quyền cao hơn so với mức đặc
quyền của các chương trình ứng dụng của người sử dụng. Processor cung cấp các
cơ sở cần thiết để người thiết kế hệ điều hành đảm bảo rằng các ứng dụng không
thể phá vỡ trạng thái ổn định của hệ thống và làm hỏng nó.

Lời gọi hệ thống (system call)

– Cung cấp giao tiếp giữa tiến trình và HĐH. Có 2 dạng:
• Cấp thấp: các lệnh hợp ngữ
• Cấp cao: các hàm/thủ tục thiết kế bằng NNLT cấp cao.
– Trong các NLT cấp cao, user không quan tâm đến chi
tiết mà chỉ cần thông qua các hàm hay các lệnh để
gọi thực hiện
– Có 3 phương pháp chuyển tham số cho HĐH: thanh
ghi, ngăn xếp hoặc cấu trúc bảng
– Các loại lời gọi hệ thống: kiểm soát tiến trình, tao tác
tập tin, thao tác thiết bị, truyền thông điệp.

Tiến trình (process).
– Tiến trình là một loạt các công việc được thi hành (proram, batch
processing, spooling, connecting…)
– Tiến trình sử dụng tài nguyên máy tính (CPU, bộ nhớ, tập tin,
thiết bị…) để phục vụ công việc của nó
– Khi tiến trình khởi tạo, nó đòi hỏi nhiều tài nguyên hệ thống.
– Khi tiến trình kết thúc, HĐH phải thu hồi hoặc tái tạo tài nguyên
để có thể dùng lại cho các tiến trình khác
– Tiến trình được biên dịch thành các tập tin thụ động trên đĩa
– Khi tiến trình được kích hoạt, HĐH sẽ khởi tạo tài nguyên ban
đầu theo yêu cầu, nạp tập chỉ thị vào bộ nhớ và thi hành theo cơ
chế tuần tự. Tiến trình chuyển sang hoạt.

Sơ đồ trạng thái của tiến trình
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 21

Giải thích:
New: tiến trình đang được tạo lập

Running: Các chỉ thị của tiến trình đang được xử lý
Bocked: tiến trình chờ được cấp phát một tài nguyên hay chờ một sự kiện xảy ra
Ready: tiến trình chờ được cấp phát CPU để xử lý.

Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ
xử lý bất kì. Trong khi đó, nhiều tiến trình có thể ở trạng thái Blocked hay Ready.
Các cung chuyển tiếp trong sơ đồ trạng thái biểu diễn sáu sự chuyển trạng thái cs
thế xảy ra trong các điều kiện sau:
Tiến trình mới tạo được đưa vào hệ thống
Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU
Tiến trình kết thúc
Tiến trình yêu cầu 1 tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn
sàng để cấp phát tại thời điểm đó, hoặc tiến trình phải chờ 1 sự kiện hay 1 thao tác
nhập/ xuất.
Bộ điều phối chọn 1 tiến trình khác để cho xử lý
Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát, hay sự kiện hoặc
thao tác nhập/ xuất tiến trình đang đợi hoàn tất.


Câu 12: Hãy trình bày cấu trúc phân lớp của hệ điều hành Windows XP. Trong
cấu trúc phân lớp hãy chỉ ra các thành phần làm cho hệ điều hành này trở thành
hệ điều hành tương thích với các ứng dụng của một số hệ điều hành khác?.

Cấu trúc phân lớp của hệ điều hành của hệ điều hành Windows XP
Hệ thống phân lớp là:
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 22
Hệ thống được xây dựng bởi nhiều lớp.
Mỗi lớp được xây dựng dựa vào các lớp bên trong.
Lớp trong cùng (lớp 0): phần cứng (hardware)

Lớp ngoài cùng (lớp n): giao diện với người dùng.
Mỗi lớp là một đối tượng trừu tượng (dữ liệu + thao tác xử lý dữ liệu).
Mỗi lớp có thể gọi các thủ tục của các lớp bên trong.
Windows XP là một hệ điều hành phân lớp với hoạt động được chia làm 2 chế độ
chính là:
Chế độ bảo vệ (Protected mode): HAL (hardware abstrction layer – lớp
phần cứng trừu tượng), kernel (thực hiện các thủ tục của HĐH – system
call), executive (các trình quản lý).
Chế độ người dùng (User mode): thực hiện các chương trình của người
dùng, là tập hợp của các tiểu hệ thống (subsystems). Trong đó:
- Các tiểu hệ thống môi trường (Environmental subsystems) giả lập các
hệ thống khác nhau.
- Các tiểu hệ thống bảo vệ (Protection subsystems) cung cấp các chức
năng bảo vệ.
Từ 2 chế độ này phân thành nhiều lớp (layer) con.

Các thành phần làm cho hệ điều hành Windows XP trở thành hệ điều hành
tương thích với các ứng dụng của một số hệ điều hành khác
Các tiến trình trong user-mode được phân lớp dựa trên các dịch vụ thực thi
của XP, cho phép XP chạy các chương trình được phát triển cho các hệ
điều hành khác.
XP dùng tiểu hệ thống Win32 (Win32 subsystem) làm môi trường điều
hành chính; Win32 được dùng để khởi động tất cả các tiến trình.
Môi trường MS-DOS được cung cấp bởi một ứng dụng Win32 được gọi là
máy ảo DOS (Virtual DOS Machine – VDM), một tiến trình trong user-
mode được phân trang và giải quyết giống như bất kỳ các luồng (thread)
của XP.
Môi trường Windows 16bit:
- Được cung cấp bởi một VDM mà VDM đó tổ chức thành Windows on
Windows.

- Cung cấp các thủ tục và thủ tục con của trong nhân của Windows 3.1
cho trình quản lý cửa sổ (window manager) và các chức năng GDI.
Tiểu hệ thống POSIX được thiết kế để chạy các ứng dụng POSIX theo tiêu
chuẩn POSIX.1 dựa trên nền tảng UNIX.
Tiểu hệ thống OS/2 dùng để chạy các ứng dụng OS/2
Tiểu hệ thống đăng nhập và bảo mật (Logon and sercurity) xác nhận người
dùng đăng nhập vào hệ thống.
- Yêu cầu người dùng phải có tên tài khoản và mật khẩu.
- Gói xác nhận sẽ xác nhận người dùng bất cứ khi nào họ cố gắng truy
cập vào một đối tượng trong hệ thống.
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 23



Câu 13. Hãy trình bày các phương pháp bảo vệ CPU, I/O và bộ nhớ chủ từ
cấu trúc phần cứng của máy tính? Để bảo đảm quyền điều hành hệ thống của
Hệ điều hành người ta đã sử dụng kĩ thuật nào?

Trả lời
Phương pháp bảo vệ CPU:
Timer - đồng hồ ngắt giờ để đảm bảo quyền điều khiển của hệ điều hành
Đồng hồ ngắt sẽ giảm đều đặn theo một chu kì nhất định
Khi đồng hồ ngắt giờ giảm đến giá trị 0 thì một số ngắt xảy ra, ngắt này trả lại
quyền điều khiển cho OS
Timer thông thường được sử dụng cho những OS chia sẻ thời gian
Timer cũng còn được sử dụng cho các máy tính thời gian thực
Load-timer là một privikeged instruction
Phương pháp bảo vệ I/O:
Tất cả các chỉ thị I/O là chỉ thị đặc quyền

Phải chắc chắn một chương trình của user không bao giờ giành được điều khiển
của máy tính trong monitor mode ( chẳng hạn nó không bao giờ có thể thay đổi
địa chỉ trong vecto ngắt).
Bảo vệ bộ nhớ chủ:
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 24
Bảo vệ vécto ngắt và chương trình con phục vụ ngắt
Thêm hai thanh ghi xác định vùng địa chỉ mà chương trình được phép truy nhập:
- Base register – lưu trữ địa chỉ vật lý nhỏ nhất được phép truy nhập
- Limit register - chứa kích thước của giới hạn
Phần bên ngoài bộ nhớ của vùng đuợc định nghĩa là đã được bảo vệ
Phần cứng bảo vệ:
khi thực hiện trong monitor mode, hệ điều hành sẽ không bị hạn chế truy nhập
tới vùng nhớ của cả monitor và user
chỉ thị truy nhập địa chỉ vượt quá giá trị của thanh ghi base và limit la chỉ thị đặc
quyền (privileged instruction)

sơ đồ phần cứng bảo vệ địa chỉ

Để bảo đảm quyền điều hành hệ thống của Hệ điều hành người ta đã sử dụng kĩ
thuật timer

Câu 14. Hãy trình bày khái niệm về các hàng đợi của tiến trình trong quá trình
hoạt động? Trình bày mô hình lập lịch và các tiêu chuẩn dùng cho lập lịch tiến
trình?

Trả lời
Khái niệm về các hàng đợi của tiến trình trong quá trình hoạt động
Có 3 loại hàng đợi cơ bản:
- Hàng đợi công việc: tập tất cả các tiến trình trong hệ thống.

- Hàng đợi sẵn sàng: tập tất cả các tiến trình đã nạp trong bộ nhớ, sẵn sàng và
chờ thực hiện.
Hàng đợi sẵn sàng bao gồm các hàng đợi khác nhau (hàng đợi đa cấp), phân
loại:
+ hàng đợi tương tác (interactive)
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 25
+ hàng dợi nền (batch)
Mỗi hàng đợi có 1 giải thuật lập lịch riêng:
+ hàng đợi tương tác – RR
+ hàng đợi nền – FCFS.
- Hàng đợi thiết bị: tập tất cả các tiến trình chờ thiết bị nhập xuất
Các tiến trình sẽ di chuyển giữa các hàng đợi khác nhau; sự “lão hóa” có thể thực
hiện bằng phương pháp này.
Mô hình lập lịch và các tiêu chuẩn dùng cho lập lịch tiến trình
a) Mô hình lập lịch tiến trình
Bộ lập lịch gồm:
+ Bộ lập lịch ngắn hạn (lập lịch CPU): lựa chọn 1 trong các tiến trình đã sẵn
sàng để chuyển giao đến CPU thực thi. Bộ lập lịch ngắn hạn được thực hiện
rất thường xuyên với chu kỳ mili giây và phải quyết định rất nhanh.
Bộ lập lịch CPU quyết định vị trí của tiến trình khi tiến trình đó:
1. Chuyển từ trạng thái chạy sang chờ
2. Chuyển từ trạng thái chạy sang sẵn sàng
3. Chuyển từ trạng thái chờ sang sẵn sàng
4. Kết thúc
Trường hợp 1 và 4 là không được lựa chọn.
Các trường hợp khác là được lựa chọn.
+ Bộ lập lịch dài hạn( lập lịch công việc): lựa chọn các chương trình từ thiết bị
nhớ để nạp và thực thi. Bộ lập lịch này cũng thực hiện thường xuyên nhưng
với tần số chậm hơn (giây, phút) và có thể chạy chậm hơn.

Bộ lập lịch dài hạn điều khiển ở mức độ đa chương.
b) Tiêu chuẩn dùng cho lập lịch tiến trình
- độ sử dụng CPU - giữ CPU luôn hoạt động.
- thông lượng – số lượng tiến trình hoàn thành sự thực hiện theo đơn vị thời
gian.
- thời gian xoay vòng – tổng số thời gian để thực hiện từng tiến trình.
- thời gian chờ - tổng số thời gian 1 tiến trình phải chờ trong hàng đợi sẵn
sàng.
- thời gian đáp ứng – tổng thời gian từ khi 1 yêu cầu được gửi đi đến khi sự
đáp ứng đầu tiên được thực hiện (khong dùng với hệ thống time-sharing).
Tối ưu hóa các tiêu chuẩn:
- cực đại hóa độ sử dụng CPU
- cực đại hóa thông lượng
- cực tiểu hóa thời gian xoay vòng
- cực tiểu hóa thời gian chờ
- cực tiểu hóa thời gian đáp ứng

CÂU 15: Khái niệm không gian địa chỉ logic và không gian địa chỉ vật lý?
Chức năng và mô hình của bộ quản lý bộ nhớ MMU?
Trả lời:

×