giáo trình nguyên lý hệ điều hành Chương 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH - Pdf 25

MAI VĂN TÁM – PHAN TRUNG KIÊN
GIÁO TRÌNH
NGUYÊN LÝ HỆ ĐIỀU HÀNH
Sơn La, 2012
2

MỤC LỤC
Trang
CHƯƠNG 1. TỔNG QUAN VỀ HỆ ĐIỀU HÀNH 4
1.1. Hệ điều hành là gì? 4

6.4. Phân trang 85
6.5. Cấu trúc của bảng phân trang 94
6.6. Phân đoạn 97
CHƯƠNG 7. BỘ NHỚ ẢO 102
3

7.1. Khái quát 102
7.2. Phân trang theo yêu cầu 104
7.3. Copy - on - Write 110
7.4. Thay thế trang 111
7.5. Cấp phát các frame 122
7.6. Thrashing 125
CHƯƠNG 8. HỆ THỐNG TẬP TIN (FILE) 129
8.1. Khái niệm file 129
8.2. Các phương pháp truy nhập 134
8.3. Cấu trúc thư mục 136
8.4. Gắn kết hệ thống file - File-System Mounting 143
8.5. Chia sẻ file 144
8.6. Bảo vệ 146
CHƯƠNG 9. CÀI ĐẶT HỆ THỐNG FILE 149
9.1. Cấu trúc hệ thống file 149
9.2. Cài đặt hệ thống file 150
9.3. Cài đặt thư mục 155
9.4. Các phương pháp cấp phát 156
9.5. Quản lý không gian trống 160
9.6. Phục hồi - Recovery 161
9.7. Các hệ thống file trên mạng NFS 162
CHƯƠNG 10. QUẢN LÝ HỆ THỐNG VÀO RA 165
10.1. Tổng quan 165
10.2. Phần cứng vào ra - I/O Hardware 165

- Xét về phía các chương trình ứng dụng thì hệ điều hành phải tạo môi trường để các
chương trình ứng dụng hoạt động; cung cấp các cơ chế cho phép kích hoạt và loại bỏ các
chương trình ứng dụng.
- Xét về phía phần cứng thì hệ điều hành phải quản lý các thiết bị một cách có hiện quả,
khai thác được hết khả năng của các thiết bị, cung cấp cho các chương trình và người sử dụng
tài nguyên phần cứng khi có yêu cẩu, thu hồi khi cần thiết.
Như vậy, có thể coi hệ điều hành là một tập hợp các chương trình hệ thống có chức
5

năng tạo môi trường giao diện cho người sử dụng, tạo môi trường hoạt động cho các chường
trình ứng dụng; quản lý và khai thác hiện quả các thiết bị phần cứng. Ta có thể hiểu hệ điều
hành là hệ thống các chương trình đảm bảo các chức năng giao tiếp người máy và quản lý tài
nguyên hệ thống tính toán.
Tuy nhiên có nhiều người quan sát hệ điều hành dưới các góc độ khác nhau vì thế tồn
tại nhiều định nghĩa về hệ điều hành.
- Đối với người sử dụng: hệ điều hành là tập hợp các chương trình, phục vụ khai thác hệ
thống tính toán một cách dễ dàng, thuận tiện.
Người sử dụng khi thực hiện một chương trình nào đó trên máy tính điện tử thì chỉ quan
tâm đến việc hệ thống có đáp ứng được nhu cầu của họ hay không? Có chương trình cần
thực hiện, có đủ bộ nhớ để chạy họ không quan tâm đến việc hệ điều hành làm gì nhằm mục
đích gì, có cấu trúc như thế nào?
- Đối với người làm công tác quản lý: hệ điều hành là một tập các chương trình phục vụ
quản lý chặt trẽ và sử dụng tối ưu các tài nguyên của hệ thống tính toán.
- Đối với cán bộ kỹ thuật: hệ điều hành là hệ thống chương trình bao trùm lên một máy
tính vật lý cụ thể để tạo ra một máy logic với những tài nguyên mới và khả năng mới.
Các định nghĩa trên phản ánh vị trí quan sát của người nêu. Họ đứng ở ngoài hệ thống
và thể hiện điều họ mong đợi và cũng là điều họ nhìn thấy.
- Đối với cán bộ lập trình hệ thống: hệ điều hành là hệ thống mô hình hoá, mô phỏng
các hoạt động của máy, của người sử dụng và của thao tác viên hoạt động trong các hệ thống
đối thoại nhằm tạo môi trường để quản lý chặt trẽ các tài nguyên và tổ chức khai thác chúng

nhớ.
Spooling cũng là một giải pháp để tăng hiệu suất.

Hình 1.3. Ba công việc cùng trong bộ nhớ của hệ thống đa chương
Spooling là Hệ điều hành sẽ nạp công việc mới từ hệ thống vào/ra trong khi xử lý tính
toán cho công việc khác. Trong khi thực một công việc, Hệ điều hành đọc công việc mới từ
thẻ và in công việc trước đó ra máy in.
Kỹ thuật chia xẻ thời gian (timesharing) trong hệ thống đa chương cho phép CPU luân
phiên phục vụ các công việc để tăng đáp ứng của hệ thống.
UNIX là một hệ điều hành được phát triển trong thời gian này và đến nay vẫn còn được
sử dụng.
d. Thế hệ thứ 4 (1980-hiện nay):
Mạch tích hợp với mật độ cao, mỗi vi mạch chứa hàng ngàn transitor.
Máy tính cá nhân ra đời. Hệ điều hành MS DOS ra đời gắn liền với máy tính IBM PC.
Hệ điều hành mạng và hệ điều hành phân tán ra đời trong thời kỳ này. Các hệ điều hành có
giao diện đồ họa (GUI - Graphical User Interface) như Windows, Linux, … ra đời.
1.2. Cấu trúc hệ thống máy tính
7

1.2.1. Bộ xử lý trung tâm: (CPU)
Là bộ não của máy tính. CPU đọc lệnh từ bộ nhớ và thực thi lệnh. Quá trình CPU đọc
một lệnh và thực thi lệnh đó được gọi là một chu kỳ. Một chu kỳ bao gồm:
Đọc lệnh từ bộ nhớ
Giải mã lệnh để xác định lệnh và các toán hạng của lệnh
Thi hành lệnh
Mỗi CPU có một tập lệnh riêng, CPU chỉ có thể thực thi các lệnh trong tập lệnh của nó.
Thời gian truy xuất bộ nhớ để lấy lệnh lâu hơn thời gian thi hành lệnh nên trong CPU có
những thanh ghi để lưu trữ các giá trị quan trọng và kết quả tạm thời. Trong tập lệnh có các
lệnh để đọc các từ (word) từ bộ nhớ vào thanh ghi, và ghi các từ trong thanh ghi ra bộ nhớ.


hai chế độ hoạt động là chế độ nhân (kernel) và chế độ người dùng (user). Chế độ hoạt động
được điều khiển bởi một bit trong thanh ghi PSW.
Ở chế độ kernel CPU có thể thi hành mọi lệnh trong tập lệnh và có thể sử dụng mọi tính
năng của phần cứng. Hệ điều hành chạy ở chế độ kernel và có thể truy xuất toàn bộ phần
cứng.
Ngược lại, các chương trình của người sử dụng chạy ở chế độ user, chỉ sử dụng một
phần của tập lệnh CPU và một số tính năng của phần cứng. Thông thường, các lệnh liên quan
đến bảo vệ bộ nhớ và vào/ra không được thực hiện ở chế độ user.

Hình 1.6. Chuyển đổi từ chế độ người dùng sang chế độ nhân.
Để sử dụng các dịch vụ của hệ điều hành, chương trình của người sử dụng sẽ gọi các
hàm của hệ điều hành. Thao tác này được gọi là gọi hàm hệ thống (system call).
Khi chương trình người sử dụng gọi hàm hệ thống, chế độ hoạt động sẽ được chuyển từ
9

chế độ user sang chế độ kernel, và hệ điều hành sẽ được chạy. Khi công việc hoàn tất, điều
khiển sẽ được trả về cho chương trình của người sử dụng ngay sau lời gọi hàm hệ thống và
chế độ chuyển về chế độ user.
1.2.2. Bộ nhớ
Bộ nhớ là thành phần quan trọng thứ hai sau CPU trong hệ thống máy tính.
Bộ nhớ được xây dựng theo cấu trúc phân cấp.
Thanh ghi: Nằm bên trong CPU, tốc độ truy xuất rất nhanh. Khả năng lưu trữ thông
thường là 32x32 bits trong CPU 32 bits, 64x64 bits trong thanh ghi 64 bits.

Hình 1.7. Cấu trúc phân cấp của bộ nhớ.
Cache: Thường được điều khiển bởi phần cứng, được chia thành những đường cache
(cache line), mỗi đường 64 bytes. Nhưng đường cache thường dùng nhất sẽ ở gần CPU, khi
chương trình cần đọc dữ liệu từ bộ nhớ, phần cứng cache sẽ kiểm tra xem dữ liệu có trên
cache chưa, nếu có thì sẽ được đọc, nếu không thì mới đọc từ bộ nhớ chính.
Bộ nhớ chính: Thường là RAM (Random Access Memory). Đây là chỗ chứa chương

tuy nhiên về mặt chức năng logic thì nằm giữa CPU và bộ nhớ. Ví dụ một MMU có hai cặp
thanh ghi base và limit, cặp thanh ghi base và limit thứ nhất dùng cho chương trình và cặp
thanh ghi base và limit thứ hai dành cho dữ liệu của chương trình. Như vậy hệ thống cho phép
nhiều chương trình có thể sử dụng chung mã nguồn, và chỉ có một bản mã nguồn trong bộ
nhớ.
Khi chương trình thứ nhất chạy, hai cặp thanh ghi base và limit như ở hình 1.9 a, khi
chương trình thứ hai chạy (chương trình này dùng chung mã nguồn với chương trình thứ nhất)
như ở hình 1.9 b. Việc chuyển từ chương trình này sang chương trình khác được gọi là
chuyển ngữ cảnh (context switch).
11 Hình 1.9.Ứng dụng trong bộ nhớ.
1.2.3. Thiết bị vào/ra
Thiết bị vào/ra thường gồm có hai thành phần: bộ điều khiển và thiết bị. Bộ điều khiển
gồm nhiều con chip gắn trên một mạch in và điều khiển thiết bị. Bộ nhận các lệnh của hệ điều
hành và điều khiển thiết bị thi hành. Trong nhiều trường hợp việc điều khiển thiết bị phức tạp
và đòi hỏi nhiều chi tiết nên bộ điều khiển che giấu sự phức tạp đó và đưa ra một giao tiếp
đơn giản hơn, hệ điều hành nhìn thiết bị qua giao tiếp của bộ điều khiển.
1.2.4. Bus
Các thiết bị trong hệ thống máy tính có tốc độ làm việc khác nhau, do vậy trong máy
tính có nhiều bus truyền dữ liệu có tốc độ và chức năng khác nhau.
1.3. Cấu trúc hệ điều hành
Hệ điều hành là một hệ thống chương trình lớn, thực hiện nhiều nhiệm vụ khác nhau, do
đó các nhà thiết kế thường chia hệ điều hành thành nhiều thành phần, mỗi thành phần đảm
nhận một nhóm các nhiệm vụ nào đó, các nhiệm vụ này có liên quan với nhau. Cách phân
chia nhiệm vụ cho mỗi thành phần, cách kết nối các thành phần lại với nhau để nó thực hiện
được một nhiệm vụ lớn hơn khi cần và cách gọi các thành phần này khi cần nó thực hiện một
nhiệm vụ nào đó, , tất cả các phương thức trên tạo nên cấu trúc của hệ điều hành.
1.3.1. Các thành phần của hệ điều hành

Khi chương trình, tiến trình có yêu cầu được nạp vào bộ nhớ thì hệ điều hành phải cấp
phát không gian nhớ cho nó. Khi chương trình, tiến trình kết thúc thì hệ điều hành phải thu
hồi lại không gian nhớ đã cấp phát cho chương trình, tiến trình trước đó.
Trong các hệ thống đa chương hay đa tiến trình, trong bộ nhớ tồn tại nhiều chương
trình/ nhiều tiến trình, hệ điều hành phải thực hiện nhiệm vụ bảo vệ các vùng nhớ đã cấp
phát cho các chương trình/ tiến trình, tránh sự vi phạm trên các vùng nhớ của nhau.
Tóm lại, bộ phận quản lý bộ nhớ chính của hệ điều hành thực hiện những nhiệm vụ sau:
- Cấp phát, thu hồi vùng nhớ.
- Ghi nhận trạng thái bộ nhớ chính.
- Bảo vệ bộ nhớ.
- Quyết định tiến trình nào được nạp vào bộ nhớ.
c. Thành phần quản lý vào/ra
Một trong những mục tiêu của hệ điều hành là giúp người sử dụng khai thác hệ thống
máy tính dễ dàng và hiệu quả, do đó các thao tác trao đổi thông tin trên thiết bị vào/ra phải
trong suốt đối với người sử dụng.
Để thực hiện được điều này hệ điều hành phải tồn tại một bộ phận điều khiển thiết bị,
bộ phận này phối hợp cùng CPU để quản lý sự hoạt động và trao đổi thông tin giữa hệ thống,
13

chương trình người sử dụng và người sử dụng với các thiết bị vào/ra.
Bộ phận điều khiển thiết bị thực hiện những nhiệm vụ sau:
Gửi mã lệnh điều khiển đến thiết bị: Hệ điều hành điều khiển các thiết bị bằng các mã
điều khiển, do đó trước khi bắt đầu một quá trình trao đổi dữ liệu với thiết bị thì hệ điều hành
phải gửi mã điều khiển đến thiết bị.
Tiếp nhận yêu cầu ngắt (Interrupt) từ các thiết bị: Các thiết bị khi cần trao đổi với hệ
thống thì nó phát ra một tín hiệu yêu cầu ngắt, hệ điều hành tiếp nhận yêu cầu ngắt từ các thiết
bị, xem xét và thực hiện một thủ tục để đáp ứng yêu cầu tù các thiết bị.
Phát hiện và xử lý lỗi: quá trình trao đổi dữ liệu thường xảy ra các lỗi như: thiết bị vào
ra chưa sẵn sàng, đường truyền hỏng, do đó hệ điều hành phải tạo ra các cơ chế thích hợp
để phát hiện lỗi sớm nhất và khắc phục các lỗi vừa xảy ra nếu có thể.

Trong hệ thống có nhiều tiến trình đồng thời truy xuất tập tin hệ điều hành phải tạo ra
những cơ chế thích hợp để bảo vệ tập tin trách việc ghi/ đọc bất hợp lệ trên tập tin.
Tóm lại: Như vậy bộ phận quản lý tập tin của hệ điều hành thực hiện những nhiệm vụ
sau:
- Tạo/ xoá một tập tin/ thư mục.
- Bảo vệ tập tin khi có hiện tượng truy xuất đồng thời.
- Cung cấp các thao tác xử lý và bảo vệ tập tin/ thư mục.
- Tạo mối quan hệ giữa tập tin và bộ nhớ phụ chứa tập tin.
- Tạo cơ chế truy xuất tập tin thông qua tên tập tin.
f. Thành phần thông dịch lệnh
Đây là bộ phận quan trọng của hệ điều hành, nó đóng vai trò giao tiếp giữa hệ điều hành
và người sử dụng. Thành phần này chính là shell mà chúng ta đã biết ở trên. Một số hệ điều
hành chứa shell trong nhân (kernel) của nó, một số hệ điều hành khác thì shell được thiết kế
dưới dạng một chương trình đặc biệt.
g. Thành phần bảo vệ hệ thống
Trong môi trường hệ điều hành đa nhiệm có thể có nhiều tiến trình hoạt động đồng thời,
thì mỗi tiến trình phải được bảo vệ để không bị tác động, có chủ ý hay không chủ ý, của các
tiến trình khác. Trong trường hợp này hệ điều hành cần phải có các cơ chế để luôn đảm bảo
rằng các File, Memory, CPU và các tài nguyên khác mà hệ điều hành đã cấp cho một chương
trình, tiến trình thì chỉ có chương trình tiến trình đó được quyền tác động đến các thành phần
này.
Nhiệm vụ trên thuộc thành phần bảo vệ hệ thống của hệ điều hành. Thành phần này điều
khiển việc sử dụng tài nguyên, đặc biệt là các tài nguyên dùng chung, của các tiến trình, đặc
biệt là các tiến trình hoạt động đồng thời với nhau, sao cho không xảy ra sự tranh chấp tài
nguyên giữa các tiến trình hoạt đồng đồng thời và không cho phép các tiến trình truy xuất bất
hợp lệ lên các vùng nhớ của nhau.
Ngoài ra các hệ điều hành mạng, các hệ điều hành phân tán hiện nay còn có thêm thành
phần kết nối mạng và truyền thông
Để đáp ứng yêu cầu của người sử dụng và chương trình người sử dụng các nhiệm vụ
của hệ điều hành được thiết kế dưới dạng các dịch vụ:

count = read(fd, buffer, nbytes);
Quá trình gọi hệ thống thực hiện theo một số bước sau (hình 1.9):

16

Hình 1.10. Quá trình thực hiện lời gọi hệ thống.
Trước khi gọi hàm thư viện read (mà hàm này sẽ thật sự gọi hàm hệ thống đọc đĩa),
chương trình sẽ đẩy ba thông số fd, buffer, nbytes vào statck (bước 1,2,3). Trong C, C++
chương trình dịch sẽ đẩy các thông số vào stack theo thứ tự ngược với thứ tự trong ghi trong
dòng lệnh.
Gọi hàm thư viện read (bước 4).
Hàm thư viện read sẽ đặt số hiệu gọi hệ thống đọc đĩa vào nơi hệ điều hành qui định,
như thanh ghi (bước 5). Sau đó thực hiện lệnh TRAP để chuyển chế độ hoạt động từ user sang
kernel để chuẩn bị chạy lệnh tại địa chỉ xác định trong kernel (bước 6).
Các mã lệnh ở kernel xem xét số hiệu gọi hệ thống và chuyển điều khiển cho đoạn
chương trình xử lý gọi hệ thống, địa chỉ đoạn chương trình này được giữ trong bảng địa chỉ
các chương trình xử lý gọi hệ thống và xác định bởi chỉ số là số hiệu gọi hệ thống (bước 7).
Chương trình xử lý gọi hệ thống được gọi và thực thi (bước 8).
Sau khi chương trình xử lý gọi hệ thống hoàn thành xong công việc, điều khiển được trả
về cho hàm thư viện, sau lệnh TRAP (bước 9). Và quyền điểu khiển sẽ được trả về cho
chương trình người sử dụng (bước 10).
Trước khi kết thúc, chương trình người sử dụng sẽ lấy ra khỏi stack những gì đã đẩy vào
cho lần gọi hàm này.
Có ba phương pháp thông dụng để truyền tham số tới hệ điều hành. Phương pháp đơn
giản nhất là truyền tham số trong các thanh ghi. Trong một vài trường hợp, các tham số
thường lưu trữ trong một khối hay bảng trong bộ nhớ và địa chỉ của khối được truyền như một
tham số trong thanh ghi (Hình II.1). Các tham số cũng có thể được thay thế, hay được đẩy vào
trong ngăn xếp bởi chương trình, và được lấy ra khỏi ngăn xếp bởi hệ điều hành. Một vài hệ
điều hành dùng phương pháp khối hay ngăn xếp vì các phương pháp này không giới hạn số
lượng hay chiều dài của tham số đang được truyền.

Lớp 3: Quản lý các thiết bị vào/ra, tạo các bộ đệm cho luồng dữ liệu vào/ra thiết bị
vào/ra. Các tiến trình ở các lớp ở trên lớp 3 sẽ làm việc với các thiết bị vào/ra như là những
thiết bị vào/ra đơn giản hơn, trừu tượng hơn.
Lớp 4,5: Chương trình của người sử dụng và chường trình điều hành.
Cấu trúc tổng quát hơn cấu trúc lớp là cấu trúc những những vòng tròn đồng tâm (cấu
trúc của hệ thống MULTICS). Vòng tròn bên trong có quyền hạn cao hơn vòng tròn bên
ngoài. Khi một hàm ở vòng tròn bên ngoài muốn gọi một hàm ở vòng tròn bên trong, nó phải
thực hiện giống như gọi một lời gọi hàm hệ thống, đó là lệnh TRAP với các thông số được
kiểm tra trước khi gọi hàm.
c. Máy ảo (virtual machine)
Hệ thống đầu tiên xây dựng theo cấu trúc này là VM/370. Trong một hệ thống cho phép
chia xẻ thời gian, có hai vấn đề quan trọng là : cho phép nhiều chương trình cùng chạy một
lúc (multiprogramming) và máy tính (với hệ điều hành) là một máy tính mở rộng. Điểm chính
18

yếu của cấu trúc máy ảo là giải quyết hai vấn đề trên một cách độc lập nhau.
Thành phần trung tâm của hệ thống là bộ quản lý máy ảo (virtual machine monitor) giao
tiếp trực tiếp với hệ thống phần cứng và cho phép nhiều chương trình cùng chạy một lúc, hỗ
trợ nhiều máy ảo ở lớp cao hơn.

Hình 1.13. Máy ảo.
Máy ảo không phải là máy tính mở rộng, nó là một bản sao của hệ thống phần cứng, bao
gồm các chế độ user/ kernel, vào/ra, hệ thống ngắt, … Ý tưởng của máy ảo là cho phép chạy
hệ điều hành hoặc hệ tương tác như CMS (Conversational Monitor System) cho một người sử
dụng.
Khi một chương trình gọi hệ thống, gọi hệ thống này được TRAP vào hệ điều hành của
máy ảo (chứ không phải vào VM/370, VM/370 chạy trực tiếp trên máy thực) để truy xuất
thiết bị ảo. CMS tạo ra các lệnh truy xuất phần cứng và các lệnh này được TRAP vào
VM/370.
Ý tưởng cấu trúc máy ảo được sử dụng để chạy các chương trình của hệ điều hành MS-

Hình 1.14. Các mô hình client-server.
1.4. Các dịch vụ của hệ điều hành
Hệ điều hành cung cấp một môi trường cho việc thực thi các chương trình. Nó cung cấp
các dịch vụ xác định tới chương trình và tới người dùng của các chương trình đó. Dĩ nhiên,
các dịch vụ được cung cấp khác nhau từ hệ điều hành này với hệ điều hành kia nhưng chúng
có thể xác định các lớp chung. Các dịch vụ hệ điều hành được cung cấp sự tiện dụng cho
người lập trình để thực hiện tác vụ lập trình dễ dàng.
Thực thi chương trình: hệ thống phải có thể nạp chương trình vào bộ nhớ và chạy
chương trình đó. Chương trình phải có thể kết thúc việc thực thi của nó bình thường hay
không bình thường (hiển thị lỗi).
Thao tác vào/ra: một chương trình đang chạy có thể yêu cầu vào/ra. Vào/ra này có thể
liên quan tới tập tin hay thiết bị vào/ra. Đối với các thiết bị cụ thể, các chức năng đặc biệt có
thể được mong muốn (như quay lại từ đầu một ổ băng từ, hay xoá màn hình). Đối với tính
hiệu quả và tính bảo vệ, người dùng thường không thể điều khiển các thiết bị vào/ra trực tiếp.
Do đó, hệ điều hành phải cung cấp một phương tiện để thực hiện vào/ra
Thao tác hệ thống tập tin: hệ thống tập tin có sự quan tâm đặc biệt. Các chương trình
cần đọc từ và viết tới các tập tin. Chương trình cũng cần tạo và xoá tập tin bằng tên.
Giao tiếp: trong nhiều trường hợp, một quá trình cần trao đổi thông tin với các quá trình
khác. Giao tiếp như thế có thể xảy ra trong hai cách chính. Cách đầu tiên xảy ra giữa các quá
trình được thực thi trên cùng máy tính; cách thứ hai xảy ra giữa hai quá trình đang được thực
thi trên các máy tính khác nhau được kết nối với nhau bởi một mạng máy tính. Các giao tiếp
có thể đượ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 di chuyển giữa các quá trình bởi hệ điều hành.
Phát hiện lỗi: hệ điều hành liên tục yêu cầu nhận biết các lỗi có thể phát sinh. Các lỗi có
thể xảy ra trong CPU và phần cứng bộ nhớ (như lỗi bộ nhớ hay lỗi về điện), trong các thiết bị
vào/ra (như lỗi chẳn lẻ trên băng từ, lỗi nối kết mạng, hết giấy in) và trong chương trình người
dùng (như tràn số học, cố gắng truy xuất một vị trí bộ nhớ không hợp lệ, dùng quá nhiều thời
20

gian CPU). Đối với mỗi loại lỗi, hệ điều hành nên thực hiện một hoạt động hợp lý để đảm bảo

3. Trình bày các cấu trúc của hệ điều hành.
TÀI LIỆU THAM KHẢO
1. Hồ Đắc Phương. Giáo trình nguyên lý hệ điều hành. Nhà xuất bản Giáo dục, 2009.
Chương 1, 2, 3.
2. A.Silberschatz, P. B. Galvin, G. Gagne. Operating System Concepts, 8th Edition.
John Wiley & Sons, 2009. Chương 1, 2.
3. R. Elmasri, A. G. Carrick, D Levine. Operating Systems: A Spiral Approach.
McGraw-Hill, 2010. Chương 1, 2.
4. William Stallings. Operating Systems: Internals and Design Principles (6th
Edition). Pearson Prentice Hall, 2009. Chương 1, 2.


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status