Giáo trình Nguyên lý hệ điều hành (Phần 2)

Liên kết địa chỉ

Thông thường, một chương trình nằm trên đĩa như một tập tin có thể thực thi

dạng nhị phân. Chương trình này được mang vào trong bộ nhớ và được đặt trong một

quá trình để nó được thực thi. Phụ thuộc vào việc quản lý bộ nhớ đang dùng, quá

trình có thể được di chuyển giữa đĩa và bộ nhớ trong khi thực thi. Tập hợp các quá

trình trên đĩa đang chờ được mang vào bộ nhớ để thực thi hình thành một hàng đợi

nhập (input queue).

Thủ tục thông thường là chọn một trong những quá trình trong hàng đợi nhập

và nạp quá trình đó vào trong bộ nhớ. Khi một quá trình được thực thi, nó truy xuất

các chỉ thị và dữ liệu từ bộ nhớ. Cuối cùng, một quá trình kết thúc và không gian bộ

nhớ của nó được xác định là trống.

Hầu hết các hệ thống cho phép một quá trình người dùng nằm ở bất cứ phần

nào của bộ nhớ vật lý. Do đó, mặc dù không gian địa chỉ của máy tính bắt đầu tại

00000, nhưng địa chỉ đầu tiên của quá trình người dùng không cần tại 00000. Sắp xếp

này ảnh hưởng đến địa chỉ mà chương trình người dùng có thể dùng. Trong hầu hết

các trường hợp, một chương trình người dùng sẽ đi qua một số bước, một vài trong

chúng có thể là tuỳ chọn, trước khi được thực thi (Hình 3.1). Các địa chỉ có thể được

hiện diện trong những cách khác trong những bước này. Các địa chỉ trong chương

trình nguồn thường là những danh biểu. Một trình biên dịch sẽ liên kết các địa chỉ

danh biểu tới các địa chỉ có thể tái định vị (chẳng hạn như 14 bytes từ vị trí bắt đầu

của module này). Bộ soạn thảo liên kết hay bộ nạp sẽ liên kết các địa chỉ có thể tái

định vị tới địa chỉ tuyệt đối (chẳng hạn 74014). Mỗi liên kết là một ánh xạ từ một

không gian địa chỉ này tới một không gian địa chỉ khác

Về truyền thống, liên kết các chỉ thị và dữ liệu tới các địa chỉ có thể được thực

hiện tại bất cứ bước nào theo cách sau đây:

- Thời gian biên dịch: nếu tại thời điểm biên dịch có thể biết quá trình nằm ở

đâu trong bộ nhớ thì mã tuyệt đối có thể được phát sinh. Thí dụ, nếu biết trước quá

trình người dùng nằm tại vị trí R thì mã trình biên dịch được phát sinh sẽ bắt đầu tại

vị trí đó và mở rộng từ đó. Nếu tại thời điểm sau đó, vị trí bắt đầu thay đổi thì sẽ cần

biên dịch lại mã này. Các chương trình định dạng .COM của MS-DOS là mã tuyệt đối

giới hạn tại thời điểm biên dịch.

- Thời điểm nạp: nếu tại thời điểm biên dịch chưa biết nơi quá trình sẽ nằm ở

đâu trong bộ nhớ thì trình biên dịch phải phát sinh mã có thể tái định vị. Trong trường

hợp này, liên kết cuối cùng được trì hoãn cho tới thời điểm nạp. Nếu địa chỉ bắt đầu

thay đổi, chúng ta chỉ cần nạp lại mã người dùng để hợp nhất giá trị được thay đổi

này.

- Thời gian thực thi: nếu quá trình có thể được di chuyển trong thời gian thực

thi từ một phân đoạn bộ nhớ này tới một phân đoạn bộ nhớ khác thì việc liên kết phải

bị trì hoãn cho tới thời gian chạy. Phần cứng đặc biệt phải sẳn dùng cho cơ chế này để

thực hiện công việc. Hầu hết những hệ điều hành này dùng phương pháp này.

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 1

Trang 1

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 2

Trang 2

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 3

Trang 3

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 4

Trang 4

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 5

Trang 5

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 6

Trang 6

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 7

Trang 7

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 8

Trang 8

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 9

Trang 9

Giáo trình Nguyên lý hệ điều hành (Phần 2) trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 146 trang duykhanh 7220
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Nguyên lý hệ điều hành (Phần 2)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Nguyên lý hệ điều hành (Phần 2)

Giáo trình Nguyên lý hệ điều hành (Phần 2)
ệt được ghi vào phần tử tương ứng trong 
bảng FAT để báo cho các thường trình phân phối (allocation routine) không sử dụng 
block đó nữa. Nếu các block trở thành bad trong khi hoạt động bình thường, có thể 
chạy một chương trình đặc biệt như chkdsk để tìm các bad block và xử lý chúng như 
ở trên. Dữ liệu trên các bad block thường bị mất. 
Trên các đĩa phức tạp, vd đĩa SCSI, việc phục hồi bad block thông minh hơn: 
Mạch điều khiển duy trì một danh sách các bad block trên đĩa. DS này được khởi tạo 
khi format cấp thấp tại nhà máy và được cập nhật trong suốt sự tồn tại của đĩa. Format 
cấp thấp cũng thiết lập các sector dự phòng (spare sector) vô hình đối với HĐH. 
Mạch điều khiển có thể thay thế mỗi bad sector một cách logic bởi một trong số các 
sector dự phòng. 
292 
Sector sparing (kỹ thuật dự phòng sector) hay forwarding. Hệ điều hành cố 
gắng đọc block 87. Mạch điều khiển (controller) tính toán ECC và thấy sector đó là 
bad. Nó thông báo cho HĐH biết. Ở lần khởi động tiếp theo, một lệnh đặc biệt được 
chạy để ra lệnh cho Mạch điều khiển SCSI thay thế bad sector, ví dụ bởi sector 202. 
Sau đó, mỗi khi hệ thống yêu cầu block 87, mạch điều khiển sẽ thông dịch yêu cầu 
sang địa chỉ của sector 202. 
4.2.4 Quản lý không gian swap 
Swap-space: Bộ nhớ ảo sử dụng không gian đĩa như là sự mở rộng của bộ nhớ 
chính vì vậy tăng dung lượng, tăng tốc độ. 
Swap-space có thể được tạo ra: 
- Từ hệ thống file bình thường: swap-space là một file lớn do thường trình hệ 
thống file tạo, đặt tên và phân phối bộ nhớ. Phương pháp này dễ thực hiện nhưng 
không hiệu quả: định vị cấu trúc thư mục và cấu trúc dữ liệu trên đĩa tốn nhiều thời 
gian và truy nhập đĩa nhiều lần hơn. 
- Trong 1 partition riêng (phổ biến hơn): không có cấu trúc thư mục và file trên 
đó, 1 trình quản lý bộ nhớ hoán đổi riêng điều khiển việc phân phối và thu hồi các 
block. Nó sử dụng các giải thuật để tối ưu tốc độ hơn là để lưu trữ hiệu quả. 
4.2.5 Độ tin cậy của đĩa 
Ổ đĩa quan hệ với các thành phần của hệ thống, các ổ đĩa có tỉ lệ lỗi cao và 
chính các lỗi là nguyên nhân gây mất dữ liệu. 
Hình 4.12 Bản đồ phân đoạn bộ nhớ swap 
Theo thời gian các đĩa được thay thế và dữ liệu được lưu trữ lại, việc lưu trữ lại 
dữ liệu mất rất nhiều thời gian cũng như việc phục hồi các dữ liệu bị mất trên băng từ 
hoặc những đĩa cũ. Vì vậy cần phải có một hệ thống đĩa đảm bảo độ tin cậy là rất 
293 
quan trọng. Có nhiều công nghệ tăng độ tin cậy của đĩa nhưng hệ thống RAID được 
sử dụng phổ biến. 
RAID có thể thực hiện được bằng phần mềm hoặc phần cứng. Fault Tolerance 
phần cứng thì đắt tiền hơn Fault Tolerance phần mềm. 
Fault Tolerance phần cứng thường làm cho máy tính hoạt động nhanh hơn là 
Fault Tolerance phần mềm. 
Các giải pháp về Fault Tolerance phần cứng có thể hạn chế các tuỳ chọn thiết 
bị chỉ đến một nhà cung cấp. 
Các giải pháp về Fault Tolerance phần cứng có thể thực thi việc xét nghiệm 
các đĩa cứng để cho phép thay thế một đĩa bị hỏng mà không cần phải thoát máy tính. 
Thực thi phần mềm RAID: Trong qui trình thực thi phần mền RAID, hệ điều 
hành cung cấp các cơ chế để bảo đảm sự thặng dư về dữ liệu. 
RAID 0: RAID 0 còn được gọi là Disk Striping, ở đây volume lưu trữ dữ liệu 
theo các dãy trên hai hoặc nhiều đĩa thể hình. Dữ liệu trong một volume được tạo 
vạch thì được cáp phát và được cách điều trong các dãy thường tạo ra hoạt động tối 
ưu cho tất cả các kiểu volume 
RAID 1: RAID1 cũng được gọi là Disk Mirroring. Disk Mirroring ghi dữ liệu 
vào 2 đĩa cùng một lúc. Nếu một đĩa bị hỏng, thì hệ thống sử dụng dữ liệu từ đĩa kia 
để tiếp tục hoạt động. 
RAID 5: RAID 5 volume chia sẻ dữ liệu ngang qua tất cả các đĩa trong một 
mảng. RAID level 5 là duy nhất, bởi vì nó ghi Parity information (thông tin dư) sang 
tất cả các đĩa. Parity Information Thông tin thặng dư vốn được liên kết với một khối 
thông tin. 
Thực thi phần cứng RAID: Trong qui trình thực thi phần cứng RAID, giao 
diện điều khiển đĩa xử lý việc tạo và tạo lại thông tin thặng dư. Một vài nhà cung cấp 
phần cứng thực thi chế độ bảo vệ dữ liệu RAID một cách trực tiếp và phần cứng của 
họ y hệt như với card disk array controller. Bởi vì những phương pháp này riêng biệt 
cho những nhà cung cấp và bỏ qua trình diều khiển phần mềm Fault Tolerance của hệ 
điều hành, cho nên những nhà cung cấp này thường cải tiến hoạt động trên việc thực 
thi phần mềm của RAID thường có chứa các tính năng dư thừa. Chẳng hạn như việc 
294 
cuộn đĩa cứng đã bị hỏng và khắc phục bộ nhớ nhằm cái tiến hoạt động. Mức RAID 
được hỗ trợ trong việc thực thi phần cứng thì phụ thuộc vào nhà sản xuất phần cứng. 
4.2.6 Cài đặt hệ lưu trữ ổn định 
Theo lý thuyết thông tin lưu trữ ổn định sẽ không bao giờ mất, để cài đặt 
chúng ta cần lưu trữ thông tin trên nhiều thiết bị độc lập 
Khi ghi đĩa có thể sảy ra các trường hợp sau: 
- Hoàn thành việc ghi: dữ liệu được ghi đúng trên đĩa 
- Một phần thất bại: Một lỗi sảy ra trong quá trình truyền dữ liệu, có những 
sector đã được ghi dữ liệu mới và các sector bị lỗi trong quá trình ghi 
- Thất bại hoàn toàn: Xảy ra trước khi ghi đĩa, vì vậy các dữ liệu trước đó trên 
đĩa vẫn còn nguyên. 
Như vậy, khi xay ra lỗi trong quá trình ghi một khối dữ liệu, hệ thống phát 
hiện và gọi một thủ tục phục hồi để khôi phục lại trạng thái khối thống nhất. Để làm 
được điều ssos hệ thống cần phải duy trì hai vật lý cho một khối logic. Dầu ra được 
thực hiện như sau: 
+ Ghi thông tin trên trên khối vật lý đầu tiên 
+ Khi việc ghi khối đầu tiên hoàn thành, ghi tương tự thông tin trên khối vật lý 
thứ hai 
+ Khai báo việc thực hiện xong sau khi khối thứ hai đã ghi thành công. 
Trong quá trình phục hồi lỗi, mỗi cặp khối vật lý được kiểm tra. Nếu cả hai 
khối giống nhau và không có lối thì tốt, nếu một trong các khối chứa lỗi thay thế nội 
dung bằng giá trị của khối khác.. Nếu cả hai khối đều không lỗi nhưng nội dung lại 
khác nhau thay thế nội dung của khối thứ nhất bằng giá trị của khối thứ hai. Thủ tục 
này hục hồi đảm bảo ghi và lưu trữ ổn định thành công hoàn toàn hoặc kết quả không 
thay đổi. 
4.2.7 Các thiết bị lưu trữ thứ ba: Các công việc của hệ điều hành và vấn đề về 
hiệu năng 
1) Các thiết bị nhớ cấp ba 
Giá thành rẻ là đặc điểm nổi bật của bộ nhớ cấp ba. Nói chung, bộ nhớ cấp ba 
gồm các thiết bị khả chuyển (removable media). Ví dụ phổ biến: đĩa mềm, đĩa CD, 
flash disk. 
295 
- Removable Disks. Floppy disk là đĩa mềm dẻo mỏng được phủ lớp từ và 
được bảo vệ bên ngoài bởi một vỏ bằng chất dẻo. Có dung lượng khoảng 1.4 
MB; 
- Removable magnetic disk được tạo bằng kỹ thuật tương tự. Có dung lượng 
hơn 1 GB. Có tốc độ nhanh gần như hard disks, nhưng rất dễ bị hỏng. 
- Đĩa từ-quang (magneto-optic disk) ghi dữ liệu trên một mặt đĩa cứng được 
phủ lớp từ. Ổ đĩa có 1 cuộn dây sinh từ trường. Tại nhiệt độ thường, từ trường quá 
rộng và yếu nên không thể từ hóa các bit trên đĩa. Sử dụng phương pháp đốt Laser: 
đầu đĩa chiếu 1 tia laser lên mặt đĩa để ghi một bit. Ánh sáng Laser cũng được sử 
dụng để đọc dữ liệu. Đầu đọc đĩa từ-quang bay xa mặt đĩa hơn nhiều so với đầu đọc 
đĩa từ, và lớp từ được phủ một lớp bảo vệ dầy bằng kính hoặc chất dẻo để chống sự 
phá hủy của đầu đọc. 
- Các đĩa quang (optical disk) không sử dụng hiện tượng từ tính; chúng sử 
dụng các chất liệu đặc biệt có thể bị biến đổi bằng ánh sáng laser thành các điểm sáng 
và tối. Ví dụ: đĩa đổi pha: Đĩa được phủ chất liệu có thể đông cứng thành trạng thái 
kết tinh hoặc vô định hình. Trạng thái kết tinh trong suốt hơn nên tia laser sáng hơn 
khi đi qua chất liệu đổi pha và bật ra khỏi lớp phản chiếu. Ổ đĩa đổi pha sử dụng ánh 
sáng laser ở 3 cường độ: cường độ yếu để đọc dữ liệu, cường độ trung bình để xóa đĩa 
(làm tan rồi đông cứng lại), cường độ mạnh làm tan chất liệu thành tr.thái vô định 
hình để ghi dữ liệu. 
Ví dụ: re-recordable CD-RW và DVD-RW 
- Tapes: So với đĩa, băng rẻ hơn và lưu chứa nhiều dữ liệu hơn, nhưng sự 
truy nhập ngẫu nhiên chậm hơn nhiều. Băng là một giải pháp tiết kiệm cho 
những mục đích không yêu cầu truy nhập nhanh, vd: lưu trữ bản sao của dữ liệu 
trên đĩa; sử dụng trong những trung tâm siêu máy tính lớn để lưu trữ lượng 
thông tin khổng lồ phục vụ nghiên cứu khoa học. 
- Công nghệ tương lai: Công nghệ lưu trữ ảnh giao thoa laser 
(Holographic storage): Sử dụng ánh sáng laser để ghi các bức ảnh giao thoa 
laser (holographic photograph) trên các thiết bị đặc biệt. Các bức ảnh đen trắng 
là một mảng 2 chiều các pixel, mỗi pixel biểu diễn 1 bit: 0-đen; 1-trắng. Một 
296 
bức ảnh có thể lưu hàng triệu bit dữ liệu; tất cả các pixel được truyền rất nhanh 
với tốc độ ánh sáng laser vì vậy tốc độ truyền dữ liệu rất cao, là công nghệ lưu 
trữ đầy hứa hẹn của tương lai. 
Hệ cơ khí vi điện tử (Micro electronic mechanical system - MEMS): chế tạo 
các chip điện tử để sản xuất các thiết bị lưu trữ nhỏ, nếu thành công sẽ cung cấp công 
nghệ lưu trữ dữ liệu không khả biến, nhanh hơn đĩa từ và rẻ hơn DRAM bán dẫn. 
2) Các công việc của hệ điều hành 
- Giao diện ứng dụng 
Hầu hết các hệ điều hành quản lý các đĩa khả chuyển giống như các đĩa cố 
định, một đĩa mới phải được format và tạo một hệ thống file rỗng trên đó. Các thao 
tác cơ bản với ổ đĩa: read, write, seek. Các băng được coi là phương tiện lưu trữ thô, 
ví dụ: ứng dụng không mở 1 file trên băng mà mở toàn bộ ổ băng. 
Các thao tác cơ bản với tape: 
 locate: định vị băng vào 1 khối (block) xác định 
 read position: trả về vị trí hiện thời của đầu băng (block number) 
 Các ổ băng là các thiết bị "chỉ ghi thêm“ (append-only). 
 Một dấu EOT (End Of Tape) được đặt sau mỗi khối vừa được ghi. 
- Đặt tên file 
Vấn đề đặt tên các file trên các thiết bị nhớ khả chuyển là đặc biệt khó khi 
chúng ta muốn ghi dữ liệu lên nó trên một máy tính và rồi sử dụng nó trên một máy 
tính khác: Tìm đường dẫn đến file, kiểu ổ đĩa có tương thích; thứ tự lưu trữ các byte 
dữ liệu khác nhau, ví dụ: các bộ vi xử lí Intel 80x86 và Pentium: lưu trữ kiểu little-
endian; các bộ vi xử lí Motorola 680x0 và RISC: lưu trữ kiểu big-endian 
Các hệ điều hành hiện nay nói chung để mặc vấn đề trên, phụ thuộc vào các 
ứng dụng và người sử dụng để tìm ra cách truy nhập, hiển thị dữ liệu. 
Một số thiết bị nhớ khả chuyển (CD, DVD) được tiêu chuẩn hóa tốt để tất cả 
các máy tính sử dụng chúng theo một cách chung. 
- Hiệu năng 
+ Tốc độ 
297 
Hai mặt của tốc độ trong bộ nhớ cấp ba là dải thông (bandwidth) và trễ truy 
nhập (latency). 
Dải thông (số byte/giây) 
Dải thông liên tục (Sustained bandwidth) – tốc độ dữ liệu trung bình trong suốt 
quá trình truyền lớn; được tính bằng số byte/thời gian truyền. Là tốc độ dữ liệu khi 
dòng dữ liệu truyền thực sự 
+ Effective bandwidth (Dải thông có hiệu lực) – tính trung bình trên toàn bộ 
thời gian vào-ra. Là tốc độ dữ liệu tổng thể của ổ đĩa. Dải thông của ổ đĩa thường 
được hiểu là sustained bandwith. Các removable disk: 0.25 - 5 MB/s; Các tape: 0.25 - 
30 MB/s 
Trễ truy nhập là khoảng thời gian cần thiết để định vị dữ liệu 
Thời gian truy nhập của ổ đĩa là dịch đầu từ tới cylinder được chọn và đợi trễ 
quay (rotational latency); < 35 ms. 
Truy nhập trên băng đòi hỏi phải cuộn ống băng cho đến khi khối được chọn 
chạm đến đầu băng; tốn hàng chục hoặc hàng trăm giây. 
Nói chung truy nhập ngẫu nhiên trên băng chậm hơn trên đĩa hàng nghìn lần. 
+ Độ tin cậy 
Một ổ đĩa cố định có vẻ đáng tin cậy hơn một ổ đĩa hay ổ băng khả chuyển. 
Một đĩa quang có vẻ đáng tin cậy hơn một đĩa từ hay băng từ. Sự rơi đầu từ trong một 
đĩa cứng cố định thường phá hủy dữ liệu, trong khi đó hỏng ổ băng hay ổ đĩa quang 
thường không làm hỏng đến dữ liệu. 
+ Giá thành (USD/1 MB) 
Bộ nhớ chính (Main memory) đắt hơn nhiều so với bộ nhớ cấp hai và cấp ba. 
Câu hỏi và bài tập chương 4 
1. So sánh các thuật toán đọc đĩa. 
2. Lựa chọn các thuậ toán đọc đĩa như thế nào? 
3. Nguyên nhân các lỗi khi truy xuất đĩa và cách khắc phục? 
4. RAM disks là gì? 
298 
5. Vì sao có cơ chế Interleave? 
6. Đặc điểm của phần cứng terminal. 
7. Terminal ánh xạ bộ nhớ dùng để làm gì? 
8. Vai trò của đồng hồ. 
9. Trình bày sơ lược về cấu trúc và nguyên tắc hoạt động của đĩa từ. Hệ điều hành 
quản lý đĩa từ theo đơn vị nào? Thế nào là thư mục thiết bị 
10. Trình bày các phương pháp quản lý và cấp phát không gian nhớ tự do trên đĩa từ 
của hệ điều hành 
11. Trình bày các yếu tô liên quan đến thời gian truy nhập đĩa từ, từ đó nêu khái niệm 
về lập lịch cho đĩa (disk scheduler) 
12. Trình bày khái niệm về hệ file, các yếu tố của hệ file và các phương pháp tổ chức 
hệ file 
13. Giả sử vùng không gian nhớ của đĩa từ được mô tả qua sơ đồ sau: 
File F1 được phân bố lại các block có số hiệu: 0,2,4,5,9,13,14,15. Trình bày 
phương pháp các phát liên kết (block là 0, block cuối là 2) và phương pháp cấp phat 
theo địa chỉ số (block chỉ số là 15) 
14. Giả sử vùng không gian nhớ của đĩa từ được mô tả qua sơ đồ sau: (các block màu 
sẫm là các block đã sử dụng) 
a) Mô phỏng các phương pháp quản lý không gian nhớ tự do qua sơ đồ trên 
299 
b) File F1 có kích thước 3 block. Mô phỏng các phương pháp không gian nhớ 
cho F1 qua sơ đồ trên 
15. Giả sử một ổ cứng có 200 track được ký hiệu từ 0 đến 199; các yêu cầu đọc ghi dữ 
liệu tại các track theo thứ tự sau đây: 45,14,9,26,87,52,122,183,68,184,185. Đầu 
từ đọc/ghi đang định vị tại track 60. Vẽ sơ đồ dịch chuyển đầu từ đọc ghi theo các 
thuật toán: FCFS, SSTF, Scan, C-Scan, Look, C-Look 
16. Cho không gian đĩa như hình sau, các khối 2,3,4,5,8,9,10,11,12,13,17,18,25,26,27 
là các khối đĩa tự do. Tìm bitmap quản lý không gian bộ nhớ tự do: 
17. Giả sử đĩa có 2 side, mỗi side có 1024 track, mỗi track có 32 sector. Tốc độ xoay 
của đĩa là 6000 vòng/phút. Thời gian di chuyển giữa các track là 100ms. Giả sử 
thời gian đọc và chuyển dữ liệu là không đáng kể. Cho biết để truy xuất tất cả 
sector logic sau phải tốn bao lâu : 
34, 16, 120, 14, 86, 200, 79, 300, 8, 500, 170, 450, 1000, 380, 800 
Biết : 
Sector = Seclog / SecTrk + 1 
Side = (Seclog/SecTrk) / SideNo 
Track = (Seclog/(Sectrk *SideNo)) 
Với Seclog là sector logic, SideNo là số side, Sectrk là số sector trên 1 track 
300 
TÀI LIỆU THAM KHẢO 
 [1]. Andrew S. Tanenbaum, Albert S Woodhull, Operating Systems: Design and 
Implementation, 3rd edition, Prentice-Hall. 2006. 
[2]. Andrew S. Tanenbaum, Modern Operating Systems, 2nd edition, Prentice-Hall, 
2001. 
[3]. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Operating System 
Concepts, 7th edition, John Wiley & Sons, Inc., 2005. 
[4]. Daniel P. Bovet, Marco Cesati, Understanding Linux Kernel, 2nd edition, 
O'Reilly & Associates, 2002. 
[5]. Robert Love, Linux Kernel Development, Sams Publishing, 2003. 
[6]. William Stallings, Operating Systems: Internals and Design Principles 5th 
edition, Prentice-Hall, 2005. 
[7]. W. Richard Stevens, Advanced Programming in the UNIX Environment, 
Addison-Wesley, 1992. 
[8]. Hà Quang Thụy, Nguyên lý hệ điều hành, NXB KHKT, 2002. 

File đính kèm:

  • pdfgiao_trinh_nguyen_ly_he_dieu_hanh_phan_2.pdf