Hướng Dẫn Truy Cập Trang Web Hỗ Trợ Sinh Viên cho Sách Modern Operating Systems, Phiên Bản Thứ Tư

Khám phá nội dung cuốn sách "Hệ điều hành hiện đại" của Andrew S. Tanenbaum và Herbert Bos, tài liệu quan trọng cho sinh viên CNTT.

Trường đại học

Vrije Universiteit Amsterdam

Chuyên ngành

Operating Systems

Người đăng

Ẩn danh

Thể loại

textbook

2015

1.1K
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: TỔNG QUAN

1.1. Hệ điều hành là gì?

1.1.1. Hệ điều hành như một cỗ máy mở rộng

1.1.2. Hệ điều hành như một trình quản lý tài nguyên

1.2. Lịch sử các hệ điều hành

1.2.1. Thế hệ thứ nhất (1945–55): Đèn chân không

1.2.2. Thế hệ thứ hai (1955–65): Bóng bán dẫn và hệ thống xử lý theo lô

1.2.3. Thế hệ thứ ba (1965–1980): Mạch tích hợp (IC) và đa chương trình

1.2.4. Thế hệ thứ tư (1980–Hiện tại): Máy tính cá nhân

1.2.5. Thế hệ thứ năm (1990–Hiện tại): Máy tính di động

1.3. Tổng quan về phần cứng máy tính

1.3.6. Khởi động máy tính

1.4. Thế giới các loại hệ điều hành

1.4.1. Hệ điều hành máy tính lớn (Mainframe)

1.4.2. Hệ điều hành máy chủ

1.4.3. Hệ điều hành đa bộ xử lý

1.4.4. Hệ điều hành máy tính cá nhân

1.4.5. Hệ điều hành máy tính cầm tay

1.4.6. Hệ điều hành nhúng

1.4.7. Hệ điều hành nút cảm biến

1.4.8. Hệ điều hành thời gian thực

1.4.9. Hệ điều hành thẻ thông minh

1.5. Các khái niệm hệ điều hành

1.5.7. Sự tái hiện phát sinh cá thể đối với phát sinh chủng loại

1.6. Lời gọi hệ thống

1.6.1. Lời gọi hệ thống cho quản lý tiến trình

1.6.2. Lời gọi hệ thống cho quản lý tập tin

1.6.3. Lời gọi hệ thống cho quản lý thư mục

1.6.4. Các lời gọi hệ thống khác

1.6.5. Giao diện lập trình Win32 của Windows

1.7. Cấu trúc hệ điều hành

1.7.4. Mô hình Client-Server

1.8. Thế giới dưới góc nhìn của ngôn ngữ C

1.8.3. Các dự án lập trình lớn

1.8.4. Mô hình thời gian chạy (Run Time)

1.9. Nghiên cứu về hệ điều hành

1.10. Tóm tắt các phần còn lại của cuốn sách

1.12. Tóm tắt chương

2. CHƯƠNG 2: TIẾN TRÌNH VÀ LUỒNG

2.1. Tiến trình

2.1.1. Mô hình tiến trình

2.1.6. Cài đặt tiến trình

2.2. Luồng

2.2.1. Mô hình luồng cổ điển

2.2.4. Cài đặt luồng trong không gian người dùng

2.2.5. Cài đặt luồng trong nhân (Kernel)

2.2.8. Luồng Pop-Up

2.2.9. Chuyển mã đơn luồng thành đa luồng

2.3. Giao tiếp liên tiến trình (IPC)

2.3.3. Loại trừ tương hỗ với chờ đợi tích cực

2.3.4. Ngủ và đánh thức (Sleep and Wakeup)

2.3.10. Tránh khóa: Đọc-Sao chép-Cập nhật (Read-Copy-Update)

2.4. Lập lịch

2.4.1. Giới thiệu về lập lịch

2.4.2. Lập lịch trong hệ thống xử lý theo lô

2.4.3. Lập lịch trong hệ thống tương tác

2.4.4. Lập lịch trong hệ thống thời gian thực

2.4.5. Chính sách đối chiếu với cơ chế

2.5. Các bài toán IPC kinh điển

2.5.1. Bài toán các triết gia ăn tối

2.5.2. Bài toán người đọc và người ghi

2.6. Nghiên cứu về tiến trình và luồng

2.7. Tóm tắt chương

3. CHƯƠNG 3: QUẢN LÝ BỘ NHỚ

3.1. Không có sự trừu tượng hóa bộ nhớ

3.2. Trừu tượng hóa bộ nhớ: Không gian địa chỉ

3.2.1. Khái niệm không gian địa chỉ

3.2.3. Quản lý bộ nhớ trống

3.3. Bộ nhớ ảo

3.3.3. Tăng tốc độ phân trang

3.3.4. Bảng trang cho các bộ nhớ lớn

3.4. Các thuật toán thay thế trang

3.4.1. Thuật toán thay thế trang tối ưu

3.4.2. Thuật toán thay thế trang không dùng gần đây (NRU)

3.4.3. Thuật toán thay thế trang vào trước ra trước (FIFO)

3.4.4. Thuật toán thay thế trang cơ hội thứ hai

3.4.5. Thuật toán thay thế trang đồng hồ (Clock)

3.4.6. Thuật toán thay thế trang ít được dùng gần đây nhất (LRU)

3.4.7. Mô phỏng LRU bằng phần mềm

3.4.8. Thuật toán thay thế trang tập làm việc (Working Set)

3.4.9. Thuật toán thay thế trang WSClock

3.4.10. Tóm tắt các thuật toán thay thế trang

3.5. Các vấn đề thiết kế cho hệ thống phân trang

3.5.1. Chính sách cấp phát cục bộ và toàn cục

3.5.4. Tách biệt không gian lệnh và không gian dữ liệu

3.5.9. Giao diện bộ nhớ ảo

3.6. Các vấn đề cài đặt hệ thống phân trang

3.6.1. Sự tham gia của hệ điều hành vào việc phân trang

3.6.2. Xử lý lỗi trang (Page Fault)

3.6.4. Khóa trang trong bộ nhớ

3.6.6. Tách biệt chính sách và cơ chế

3.7. Phân đoạn

3.7.1. Cài đặt phân đoạn thuần túy

3.7.2. Phân đoạn kết hợp phân trang: MULTICS

3.7.3. Phân đoạn kết hợp phân trang: Intel x86

3.8. Nghiên cứu về quản lý bộ nhớ

3.9. Tóm tắt chương

4. CHƯƠNG 4: HỆ THỐNG TẬP TIN

4.1. Tập tin

4.1.7. Chương trình ví dụ sử dụng các lời gọi hệ thống tập tin

4.2. Thư mục

4.2.1. Hệ thống thư mục đơn cấp

4.2.2. Hệ thống thư mục phân cấp

4.3. Cài đặt hệ thống tập tin

4.3.1. Bố cục hệ thống tập tin

4.3.5. Hệ thống tập tin cấu trúc nhật ký (LFS)

4.3.6. Hệ thống tập tin ghi nhật ký (Journaling)

4.3.7. Hệ thống tập tin ảo (VFS)

4.4. Quản lý và tối ưu hóa hệ thống tập tin

4.4.1. Quản lý không gian đĩa

4.4.2. Sao lưu hệ thống tập tin

4.4.3. Tính nhất quán của hệ thống tập tin

4.4.4. Hiệu năng của hệ thống tập tin

4.5. Các hệ thống tập tin ví dụ

4.5.1. Hệ thống tập tin MS-DOS

4.5.2. Hệ thống tập tin UNIX V7

4.5.3. Hệ thống tập tin CD-ROM

4.6. Nghiên cứu về hệ thống tập tin

4.7. Tóm tắt chương

5. CHƯƠNG 5: NHẬP/XUẤT (I/O)

5.1. Các nguyên lý của phần cứng I/O

5.1.4. Truy cập bộ nhớ trực tiếp (DMA)

5.2. Các nguyên lý của phần mềm I/O

5.2.1. Mục tiêu của phần mềm I/O

5.2.3. Phần mềm I/O độc lập thiết bị

5.2.4. Phần mềm I/O trong không gian người dùng

5.4. Đĩa từ

5.4.3. Các thuật toán lập lịch cần đọc đĩa

5.6. Giao diện người dùng: Bàn phím, Chuột, Màn hình

5.8. Quản lý nguồn điện

5.8.1. Các vấn đề phần cứng

5.8.2. Các vấn đề hệ điều hành

5.8.3. Các vấn đề chương trình ứng dụng

5.9. Nghiên cứu về Nhập/Xuất

6. CHƯƠNG 6: DEADLOCK

6.1. Tài nguyên

6.1.1. Tài nguyên có thể trưng dụng và không thể trưng dụng

6.2. Giới thiệu về Deadlock

6.2.1. Các điều kiện gây ra Deadlock tài nguyên

6.3. Thuật toán đà điểu (Ostrich Algorithm)

6.4. Phát hiện và phục hồi Deadlock

6.4.1. Phát hiện Deadlock với một tài nguyên mỗi loại

6.4.2. Phát hiện Deadlock với nhiều tài nguyên mỗi loại

6.4.3. Phục hồi từ Deadlock

6.5. Tránh Deadlock

6.5.2. Trạng thái an toàn và không an toàn

6.5.3. Thuật toán Banker cho một loại tài nguyên

6.5.4. Thuật toán Banker cho nhiều loại tài nguyên

6.6. Ngăn chặn Deadlock

6.6.1. Phá bỏ điều kiện loại trừ tương hỗ

6.6.2. Phá bỏ điều kiện giữ và chờ

6.6.3. Phá bỏ điều kiện không trưng dụng

6.6.4. Phá bỏ điều kiện chờ đợi vòng tròn

6.7. Các vấn đề khác

6.7.1. Khóa hai giai đoạn (Two-Phase Locking)

6.7.2. Deadlock trong giao tiếp

6.8. Nghiên cứu về Deadlock

6.9. Tóm tắt chương

7. CHƯƠNG 7: ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY

7.2. Các yêu cầu đối với ảo hóa

7.3. Hypervisor Loại 1 và Loại 2

7.4. Các kỹ thuật ảo hóa hiệu quả

7.4.1. Ảo hóa những thành phần không thể ảo hóa

7.4.2. Chi phí của việc ảo hóa

7.5. Hypervisor có phải là Microkernel được thiết kế đúng đắn?

7.9. Máy ảo trên CPU đa lõi

7.11. Điện toán đám mây

7.11.1. Đám mây dưới dạng dịch vụ

7.11.2. Di trú máy ảo (Virtual Machine Migration)

7.12. Nghiên cứu tình huống: VMware

7.12.1. Lịch sử ban đầu của VMware

7.12.2. VMware Workstation

7.12.3. Những thách thức khi đưa ảo hóa lên kiến trúc x86

7.12.4. VMware Workstation: Tổng quan giải pháp

7.12.5. Sự phát triển của VMware Workstation

7.12.6. ESX Server: Hypervisor Loại 1 của VMware

7.13. Nghiên cứu về ảo hóa và điện toán đám mây

8. CHƯƠNG 8: HỆ THỐNG ĐA BỘ XỬ LÝ

8.1. Đa bộ xử lý

8.1.2. Các loại hệ điều hành đa bộ xử lý

8.2. Đa máy tính

8.2.2. Phần mềm truyền thông mức thấp

8.2.3. Phần mềm truyền thông mức người dùng

8.2.4. Gọi thủ tục từ xa (RPC)

8.2.5. Bộ nhớ chia sẻ phân tán (DSM)

8.3. Hệ thống phân tán

8.3.2. Các dịch vụ và giao thức mạng

8.3.3. Phần mềm trung gian dựa trên tài liệu

8.3.4. Phần mềm trung gian dựa trên hệ thống tập tin

8.3.5. Phần mềm trung gian hướng đối tượng

8.3.6. Phần mềm trung gian dựa trên sự điều phối

8.4. Nghiên cứu về hệ thống đa bộ xử lý

8.5. Tóm tắt chương

9. CHƯƠNG 9: BẢO MẬT

9.1. Môi trường bảo mật

9.2. Bảo mật hệ điều hành

9.2.1. Liệu chúng ta có thể xây dựng các hệ thống an toàn?

9.2.2. Cơ sở tính toán tin cậy (TCB)

9.3. Kiểm soát truy cập tài nguyên

9.3.2. Danh sách kiểm soát truy cập (ACL)

9.4. Các mô hình hình thức của hệ thống an toàn

9.5. Cơ bản về mật mã học

9.5.1. Mật mã khóa bí mật (Secret-Key)

9.5.2. Mật mã khóa công khai (Public-Key)

9.5.3. Hàm một chiều

9.5.5. Mô-đun nền tảng tin cậy (TPM)

9.6. Xác thực

9.6.1. Xác thực bằng vật thể vật lý

9.6.2. Xác thực bằng sinh trắc học

9.8. Khai thác lỗi mã nguồn

9.8.1. Tấn công tràn bộ đệm (Buffer Overflow)

9.8.2. Tấn công định dạng chuỗi (Format String)

9.8.4. Tấn công giải tham chiếu con trỏ Null

9.8.5. Tấn công tràn số nguyên (Integer Overflow)

9.8.6. Tấn công chèn lệnh (Command Injection)

9.8.7. Tấn công kiểm tra trước sử dụng sau (TOCTTOU)

9.9. Tấn công nội bộ

9.9.3. Giả mạo đăng nhập (Login Spoofing)

9.10. Phòng chống mã độc

9.10.2. Kỹ thuật diệt virus và chống diệt virus

9.10.5. Phát hiện xâm nhập dựa trên mô hình

9.10.6. Bao gói mã di động

9.11. Nghiên cứu về bảo mật

9.12. Tóm tắt chương

10. CHƯƠNG 10: NGHIÊN CỨU TÌNH HUỐNG 1: UNIX, LINUX VÀ ANDROID

10.1. Lịch sử của UNIX và Linux

10.2. Tổng quan về Linux

10.2.2. Các giao diện đối với Linux

10.2.4. Các chương trình tiện ích trong Linux

10.3. Tiến trình trong Linux

10.3.2. Các lời gọi hệ thống quản lý tiến trình trong Linux

10.3.3. Cài đặt tiến trình và luồng trong Linux

10.3.4. Lập lịch trong Linux

10.4. Quản lý bộ nhớ trong Linux

10.4.2. Các lời gọi hệ thống quản lý bộ nhớ trong Linux

10.4.3. Cài đặt quản lý bộ nhớ trong Linux

10.4.4. Phân trang trong Linux

10.5. Nhập/Xuất trong Linux

10.5.3. Các lời gọi hệ thống Nhập/Xuất trong Linux

10.5.4. Cài đặt Nhập/Xuất trong Linux

10.5.5. Các mô-đun trong Linux

10.6. Hệ thống tập tin Linux

10.6.2. Các lời gọi hệ thống tập tin trong Linux

10.6.3. Cài đặt hệ thống tập tin Linux

10.6.4. NFS: Hệ thống tập tin mạng

10.7. Bảo mật trong Linux

10.7.2. Các lời gọi hệ thống bảo mật trong Linux

10.7.3. Cài đặt bảo mật trong Linux

10.8. Android

10.8.1. Android và Google

10.8.2. Lịch sử của Android

10.9. Tóm tắt chương

11. CHƯƠNG 11: NGHIÊN CỨU TÌNH HUỐNG 2: WINDOWS 8

11.1. Lịch sử của Windows đến Windows 8

11.1.2. Thập niên 1990: Windows dựa trên MS-DOS

11.1.3. Thập niên 2000: Windows dựa trên NT

11.2. Lập trình Windows 8

11.2.1. Giao diện lập trình ứng dụng NT nguyên bản

11.2.2. Giao diện lập trình ứng dụng Win32

11.2.3. Windows Registry

11.3. Cấu trúc hệ thống

11.3.1. Cấu trúc hệ điều hành

11.3.3. Cài đặt bộ quản lý đối tượng

11.3.4. Các hệ thống con, DLL và dịch vụ chế độ người dùng

11.4. Tiến trình và luồng trong Windows

11.4.2. Các lời gọi API quản lý công việc, tiến trình, luồng và sợi (Fiber)

11.4.3. Cài đặt tiến trình và luồng

11.5. Quản lý bộ nhớ

11.5.2. Các lời gọi hệ thống quản lý bộ nhớ

11.5.3. Cài đặt quản lý bộ nhớ

11.6. Bộ nhớ đệm (Caching) trong Windows

11.7. Nhập/Xuất trong Windows

11.7.2. Các lời gọi API Nhập/Xuất

11.8. Hệ thống tập tin Windows NT

11.8.2. Cài đặt hệ thống tập tin NT

11.9. Quản lý nguồn điện trong Windows

11.10. Bảo mật trong Windows 8

11.10.2. Các lời gọi API bảo mật

11.10.3. Cài đặt bảo mật

11.11. Tóm tắt chương

12. CHƯƠNG 12: THIẾT KẾ HỆ ĐIỀU HÀNH

12.1. Bản chất của bài toán thiết kế

12.1.2. Tại sao việc thiết kế hệ điều hành lại khó?

12.2. Thiết kế giao diện

12.2.3. Giao diện lời gọi hệ thống

12.3. Cài đặt

12.3.7. Cài đặt từ trên xuống so với từ dưới lên

12.4. Hiệu năng

12.4.1. Tại sao các hệ điều hành lại chậm?

12.4.2. Cần tối ưu hóa những gì?

12.4.3. Sự đánh đổi không gian - thời gian

12.4.7. Tối ưu hóa trường hợp phổ biến

12.5. Quản lý dự án

12.5.1. Tháng người huyền thoại (The Mythical Man Month)

12.5.3. Vai trò của kinh nghiệm

12.5.4. Không có viên đạn bạc (No Silver Bullet)

12.6. Các xu hướng trong thiết kế hệ điều hành

12.6.1. Ảo hóa và điện toán đám mây

12.6.3. Hệ điều hành có không gian địa chỉ lớn

12.6.4. Truy cập dữ liệu liền mạch

12.6.5. Máy tính chạy bằng pin

12.7. Tóm tắt chương

13. CHƯƠNG 13: DANH MỤC TÀI LIỆU ĐỌC VÀ THƯ MỤC

13.1. Gợi ý tài liệu đọc thêm

13.1.2. Tiến trình và luồng

13.1.7. Ảo hóa và điện toán đám mây

13.1.8. Hệ thống đa bộ xử lý

13.1.10. Nghiên cứu tình huống 1: UNIX, Linux và Android

13.1.11. Nghiên cứu tình huống 2: Windows 8

13.1.12. Thiết kế hệ điều hành

13.2. Thư mục theo thứ tự bảng chữ cái

CHỈ MỤC

Tóm tắt

I. Hướng Dẫn Truy Cập Trang Web Hỗ Trợ Sinh Viên cho Sách Modern Operating Systems

Trang web hỗ trợ sinh viên cho sách Modern Operating Systems cung cấp nhiều tài nguyên hữu ích cho việc học tập. Việc truy cập vào trang web này không chỉ giúp sinh viên nắm vững kiến thức mà còn hỗ trợ trong việc thực hành và áp dụng lý thuyết vào thực tế. Hướng dẫn dưới đây sẽ giúp sinh viên dễ dàng truy cập và sử dụng các tài nguyên này.

1.1. Tổng Quan về Trang Web Hỗ Trợ Sinh Viên

Trang web hỗ trợ sinh viên cung cấp các chương học trực tuyến, bài thực hành và bài tập mô phỏng. Đây là nơi lý tưởng để sinh viên tìm kiếm tài liệu tham khảo và thực hành các khái niệm trong sách.

1.2. Tại Sao Cần Truy Cập Trang Web Hỗ Trợ

Việc truy cập trang web hỗ trợ giúp sinh viên giải quyết các vấn đề trong quá trình học tập. Nó cung cấp các công cụ học tập cần thiết để nâng cao hiệu quả học tập và hiểu biết về hệ điều hành hiện đại.

II. Các Bước Để Đăng Ký Truy Cập Trang Web Hỗ Trợ Sinh Viên

Để truy cập vào trang web hỗ trợ sinh viên cho sách Modern Operating Systems, sinh viên cần thực hiện một số bước đơn giản. Quy trình này chỉ mất vài phút và chỉ cần thực hiện một lần.

2.1. Chuẩn Bị Mã Truy Cập Sinh Viên

Sinh viên cần sử dụng đồng xu để cào lớp phủ và lấy mã truy cập sinh viên. Mã này sẽ được sử dụng trong quá trình đăng ký trên trang web.

2.2. Quy Trình Đăng Ký Trực Tuyến

Truy cập vào trang web, chọn sách của bạn, và nhấp vào nút Đăng Ký. Nhập mã truy cập sinh viên và làm theo hướng dẫn trên màn hình để hoàn tất quá trình đăng ký.

III. Hướng Dẫn Sử Dụng Trang Web Hỗ Trợ Sinh Viên

Sau khi đăng ký thành công, sinh viên có thể bắt đầu sử dụng trang web hỗ trợ sinh viên cho sách Modern Operating Systems. Trang web này cung cấp nhiều tính năng hữu ích cho việc học tập.

3.1. Khám Phá Các Chương Học Trực Tuyến

Sinh viên có thể truy cập vào các chương học trực tuyến để ôn tập kiến thức. Các chương này được thiết kế để hỗ trợ việc học tập hiệu quả hơn.

3.2. Thực Hành Với Các Bài Tập Mô Phỏng

Trang web cung cấp các bài tập mô phỏng giúp sinh viên thực hành và áp dụng lý thuyết vào thực tế. Đây là cách tuyệt vời để củng cố kiến thức.

IV. Vấn Đề Thường Gặp Khi Truy Cập Trang Web Hỗ Trợ

Trong quá trình truy cập trang web hỗ trợ sinh viên, sinh viên có thể gặp một số vấn đề. Dưới đây là một số thách thức phổ biến và cách giải quyết chúng.

4.1. Mã Truy Cập Không Hợp Lệ

Nếu mã truy cập đã được sử dụng hoặc không hợp lệ, sinh viên cần kiểm tra lại mã và đảm bảo không có lỗi khi nhập. Nếu vấn đề vẫn tiếp diễn, có thể cần mua một mã truy cập mới.

4.2. Vấn Đề Kết Nối Internet

Đảm bảo rằng thiết bị có kết nối Internet ổn định. Nếu gặp khó khăn, thử khởi động lại router hoặc kiểm tra các cài đặt mạng.

V. Ứng Dụng Thực Tiễn Của Trang Web Hỗ Trợ Sinh Viên

Trang web hỗ trợ sinh viên cho sách Modern Operating Systems không chỉ là một nguồn tài nguyên học tập mà còn là một công cụ hỗ trợ trong nghiên cứu và phát triển kỹ năng. Việc sử dụng hiệu quả trang web này có thể mang lại nhiều lợi ích cho sinh viên.

5.1. Nâng Cao Kỹ Năng Lập Trình

Sinh viên có thể thực hành lập trình thông qua các bài tập mô phỏng và thực nghiệm. Điều này giúp nâng cao kỹ năng lập trình và hiểu biết về hệ điều hành.

5.2. Tăng Cường Khả Năng Giải Quyết Vấn Đề

Việc tham gia vào các bài tập và thí nghiệm giúp sinh viên phát triển khả năng tư duy phản biện và giải quyết vấn đề trong lĩnh vực công nghệ thông tin.

VI. Kết Luận và Tương Lai Của Trang Web Hỗ Trợ Sinh Viên

Trang web hỗ trợ sinh viên cho sách Modern Operating Systems là một công cụ quý giá cho việc học tập và nghiên cứu. Với sự phát triển không ngừng của công nghệ, trang web này sẽ tiếp tục cập nhật và cải tiến để phục vụ tốt hơn cho sinh viên.

6.1. Tương Lai Của Tài Nguyên Học Tập

Dự kiến, trang web sẽ bổ sung thêm nhiều tài nguyên học tập mới, bao gồm video hướng dẫn và các bài tập tương tác để nâng cao trải nghiệm học tập.

6.2. Khuyến Khích Sinh Viên Tham Gia

Khuyến khích sinh viên tham gia vào các diễn đàn và nhóm học tập trực tuyến để chia sẻ kiến thức và kinh nghiệm. Điều này sẽ giúp tạo ra một cộng đồng học tập tích cực.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

12/07/2025

Trích đoạn nội dung tài liệu

ONLINE ACCESS Thank you for purchasing a new copy of Modern Operating Systems, Fourth Edition, Global Edition. Your textbook includes twelve months of prepaid access to the book’s Companion Website. This prepaid subscription provides you with full access to the following student support areas: • Online Chapters • Lab Experiments • Online Exercises • Simulation Exercises Use a coin to scratch off the coating and reveal your student access code. Do not use a knife or other sharp object as it may damage the code.

To access the Modern Operating Systems, Fourth Edition, Global Edition, Companion Website for the first time, you will need to register online using a computer with an Internet connection and a web browser. The process takes just a couple of minutes and only needs to be completed once. Go to www. Click on your book.

Click on Companion Website. Click on the Register button. On the registration page, enter your student access code* found beneath the scratch- off panel. Do not type the dashes.

You can use lower- or uppercase. Follow the on-screen instructions. If you need help at any time during the online registration process, simply click the Need Help? icon. Once your personal Login Name and Password are confirmed, you can begin using the Modern Operating Systems Companion Website! To log in after you have registered: You only need to register for this Companion Website once.

After that, you can log in any time at www.com/Tanenbaum by providing your Login Name and Password when prompted. *Important: The access code can only be used once. This subscription is valid for twelve months upon activation and is not transferable. If this access code has already been revealed, it may no longer be valid.

If this is the case, you can purchase a subscription by going to www.com/Tanenbaum and following the on-screen instructions.indd 1 7/14/14 3:41 PM MODERN OPERATING SYSTEMS FOURTH EDITION GLOBAL EDITION Trademarks AMD, the AMD logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Android and Google Web Search are trademarks of Google Inc. Apple and Apple Macintosh are registered trademarkes of Apple Inc. ASM, DESPOOL, DDT, LINK-80, MAC, MP/M, PL/1-80 and SID are trademarks of Digital Research.

BlackBerry®, RIM®, Research In Motion® and related trademarks, names and logos are the property of Research In Motion Limited and are registered and/or used in the U. and coun- tries around the world. Blu-ray Disc™ is a trademark owned by Blu-ray Disc Association. CD Compact Disk is a trademark of Phillips.

CDC 6600 is a trademark of Control Data Corporation. CP/M and CP/NET are registered trademarks of Digital Research. DEC and PDP are registered trademarks of Digital Equipment Corporation. eCosCentric is the owner of the eCos Trademark and eCos Logo, in the US and other countries.

The marks were acquired from the Free Software Foundation on 26th February 2007. The Trademark and Logo were previously owned by Red Hat. The GNOME logo and GNOME name are registered trademarks or trademarks of GNOME Foundation in the United States or other countries. Firefox® and Firefox® OS are registered trademarks of the Mozilla Foundation.

Fortran is a trademark of IBM Corp. FreeBSD is a registered trademark of the FreeBSD Foundation. GE 645 is a trademark of General Electric Corporation. Intel Core is a trademark of Intel Corporation in the U.

and/or other countries. Java is a trademark of Sun Microsystems, Inc., and refers to Sun’s Java programming language. Linux® is the registered trademark of Linus Torvalds in the U. and other countries.

MS-DOS and Windows are registered trademarks of Microsoft Corporation in the United States and/or other countries. TI Silent 700 is a trademark of Texas Instruments Incorporated. UNIX is a registered trademark of The Open Group. Zilog and Z80 are registered trademarks of Zilog, Inc.

MODERN OPERATING SYSTEMS FOURTH EDITION GLOBAL EDITION ANDREW S. TANENBAUM HERBERT BOS Vrije Universiteit Amsterdam, The Netherlands Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montréal Toronto Delhi Mexico City São Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo Vice President and Editorial Director, ECS: Marcia Horton Executive Editor: Tracy Johnson Program Management Team Lead: Scott Disanno Program Manager: Carole Snyder Project Manager: Camille Trentacoste Operations Specialist: Linda Sager Head of Learning Asset Acquisition, Global Edition: Laura Dent Assistant Acquisitions Editor, Global Edition: Aditee Agarwal Project Editor, Global Edition: Amrita Naskar Media Producer, Global Edition: Vikram Kumar Senior Manufacturing Controller, Production, Global Edition: Trudy Kimber Cover art: Pavel K/Shutterstock Media Project Manager: Renata Butera Pearson Education Limited Edinburgh Gate Harlow Essex CM20 2JE England and Associated Companies throughout the world Visit us on the World Wide Web at: www.com © Pearson Education Limited 2015 The rights of Andrew S. Tanenbaum and Herbert Bos to be identified as the authors of this work have been as- serted by them in accordance with the Copyright, Designs and Patents Act 1988. Authorized adaptation from the United States edition, entitled Modern Operating Systems, 4th edition, ISBN 978-0-13-359162-0, by Andrew S.

Tanenbaum and Herbert Bos, published by Pearson Education © 2015. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without either the prior written permission of the publisher or a license permitting restricted copying in the United Kingdom issued by the Copyright Licensing Agency Ltd, Saffron House, 6–10 Kirby Street, London EC 1N 8TS. All trademarks used herein are the property of their respective owners.The use of any trademark in this text does not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply any affiliation with or endorsement of this book by such owners.

ISBN 10: 1-292-06142-1 ISBN 13: 978-1-292-06142-9 British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library 10 9 8 7 6 5 4 3 2 1 14 13 12 11 10 Printed and bound by Courier Westford in The United States of America To Suzanne, Barbara, Daniel, Aron, Nathan, Marvin, Matilde, and Olivia. The list keeps growing. (AST) To Marieke, Duko, Jip, and Spot. Fearsome Jedi, all.

(HB) CONTENTS PREFACE xxiii 1 INTRODUCTION 1 1.1 WHAT IS AN OPERATING SYSTEM? 3 1.1 The Operating System as an Extended Machine 4 1.2 The Operating System as a Resource Manager 5 1.2 HISTORY OF OPERATING SYSTEMS 6 1.1 The First Generation (1945–55): Vacuum Tubes 7 1.2 The Second Generation (1955–65): Transistors and Batch Systems 8 1.3 The Third Generation (1965–1980): ICs and Multiprogramming 9 1.4 The Fourth Generation (1980–Present): Personal Computers 14 1.5 The Fifth Generation (1990–Present): Mobile Computers 19 1.3 COMPUTER HARDWARE REVIEW 20 1.6 Booting the Computer 34 vii viii CONTENTS 1.4 THE OPERATING SYSTEM ZOO 35 1.1 Mainframe Operating Systems 35 1.2 Server Operating Systems 35 1.3 Multiprocessor Operating Systems 36 1.4 Personal Computer Operating Systems 36 1.5 Handheld Computer Operating Systems 36 1.6 Embedded Operating Systems 36 1.7 Sensor-Node Operating Systems 37 1.8 Real-Time Operating Systems 37 1.9 Smart Card Operating Systems 38 1.5 OPERATING SYSTEM CONCEPTS 38 1.7 Ontogeny Recapitulates Phylogeny 46 1.1 System Calls for Process Management 53 1.2 System Calls for File Management 56 1.3 System Calls for Directory Management 57 1.4 Miscellaneous System Calls 59 1.5 The Windows Win32 API 60 1.7 OPERATING SYSTEM STRUCTURE 62 1.4 Client-Server Model 68 1.8 THE WORLD ACCORDING TO C 73 1.3 Large Programming Projects 75 1.4 The Model of Run Time 76 CONTENTS ix 1.9 RESEARCH ON OPERATING SYSTEMS 77 1.10 OUTLINE OF THE REST OF THIS BOOK 78 1.12 SUMMARY 80 2 PROCESSES AND THREADS 85 2.1 The Process Model 86 2.6 Implementation of Processes 94 2.2 The Classical Thread Model 102 2.4 Implementing Threads in User Space 108 2.5 Implementing Threads in the Kernel 111 2.8 Pop-Up Threads 114 2.9 Making Single-Threaded Code Multithreaded 115 2.3 Mutual Exclusion with Busy Waiting 121 2.4 Sleep and Wakeup 127 2.10 Avoiding Locks: Read-Copy-Update 148 2.1 Introduction to Scheduling 149 2.2 Scheduling in Batch Systems 156 2.3 Scheduling in Interactive Systems 158 2.4 Scheduling in Real-Time Systems 164 2.5 Policy Versus Mechanism 165 2.5 CLASSICAL IPC PROBLEMS 167 2.1 The Dining Philosophers Problem 167 2.2 The Readers and Writers Problem 169 2.6 RESEARCH ON PROCESSES AND THREADS 172 2.7 SUMMARY 173 3 MEMORY MANAGEMENT 181 3.1 NO MEMORY ABSTRACTION 182 3.2 A MEMORY ABSTRACTION: ADDRESS SPACES 185 3.1 The Notion of an Address Space 185 3.3 Managing Free Memory 190 3.3 Speeding Up Paging 201 3.4 Page Tables for Large Memories 205 CONTENTS xi 3.4 PAGE REPLACEMENT ALGORITHMS 209 3.1 The Optimal Page Replacement Algorithm 209 3.2 The Not Recently Used Page Replacement Algorithm 210 3.3 The First-In, First-Out (FIFO) Page Replacement Algorithm 211 3.4 The Second-Chance Page Replacement Algorithm 211 3.5 The Clock Page Replacement Algorithm 212 3.6 The Least Recently Used (LRU) Page Replacement Algorithm 213 3.7 Simulating LRU in Software 214 3.8 The Working Set Page Replacement Algorithm 215 3.9 The WSClock Page Replacement Algorithm 219 3.10 Summary of Page Replacement Algorithms 221 3.5 DESIGN ISSUES FOR PAGING SYSTEMS 222 3.1 Local versus Global Allocation Policies 222 3.4 Separate Instruction and Data Spaces 227 3.9 Virtual Memory Interface 232 3.1 Operating System Involvement with Paging 233 3.2 Page Fault Handling 234 3.4 Locking Pages in Memory 236 3.6 Separation of Policy and Mechanism 239 3.1 Implementation of Pure Segmentation 243 3.2 Segmentation with Paging: MULTICS 243 3.3 Segmentation with Paging: The Intel x86 247 3.8 RESEARCH ON MEMORY MANAGEMENT 252 3.9 SUMMARY 253 xii CONTENTS 4 FILE SYSTEMS 263 4.7 An Example Program Using File-System Calls 273 4.1 Single-Level Directory Systems 276 4.2 Hierarchical Directory Systems 276 4.3 FILE-SYSTEM IMPLEMENTATION 281 4.1 File-System Layout 281 4.5 Log-Structured File Systems 293 4.6 Journaling File Systems 294 4.7 Virtual File Systems 296 4.4 FILE-SYSTEM MANAGEMENT AND OPTIMIZATION 299 4.1 Disk-Space Management 299 4.2 File-System Backups 306 4.3 File-System Consistency 312 4.4 File-System Performance 314 4.5 EXAMPLE FILE SYSTEMS 320 4.1 The MS-DOS File System 320 4.2 The UNIX V7 File System 323 4.3 CD-ROM File Systems 325 4.6 RESEARCH ON FILE SYSTEMS 331 4.7 SUMMARY 332 CONTENTS xiii 5 INPUT/OUTPUT 337 5.1 PRINCIPLES OF I/O HARDWARE 337 5.4 Direct Memory Access 344 5.2 PRINCIPLES OF I/O SOFTWARE 351 5.1 Goals of the I/O Software 351 5.3 Device-Independent I/O Software 361 5.4 User-Space I/O Software 367 5.3 Disk Arm Scheduling Algorithms 379 5.6 USER INTERFACES: KEYBOARD, MOUSE, MONITOR 394 5.1 Hardware Issues 418 xiv CONTENTS 5.2 Operating System Issues 419 5.3 Application Program Issues 425 5.9 RESEARCH ON INPUT/OUTPUT 426 5.1 Preemptable and Nonpreemptable Resources 436 6.2 INTRODUCTION TO DEADLOCKS 438 6.1 Conditions for Resource Deadlocks 439 6.3 THE OSTRICH ALGORITHM 443 6.4 DEADLOCK DETECTION AND RECOVERY 443 6.1 Deadlock Detection with One Resource of Each Type 444 6.2 Deadlock Detection with Multiple Resources of Each Type 446 6.3 Recovery from Deadlock 448 6.2 Safe and Unsafe States 452 6.3 The Banker’s Algorithm for a Single Resource 453 6.4 The Banker’s Algorithm for Multiple Resources 454 6.1 Attacking the Mutual-Exclusion Condition 456 6.2 Attacking the Hold-and-Wait Condition 456 6.3 Attacking the No-Preemption Condition 457 6.4 Attacking the Circular Wait Condition 457 6.1 Two-Phase Locking 458 6.2 Communication Deadlocks 459 CONTENTS xv 6.8 RESEARCH ON DEADLOCKS 464 6.9 SUMMARY 464 7 VIRTUALIZATION AND THE CLOUD 471 7.2 REQUIREMENTS FOR VIRTUALIZATION 474 7.3 TYPE 1 AND TYPE 2 HYPERVISORS 477 7.4 TECHNIQUES FOR EFFICIENT VIRTUALIZATION 478 7.1 Virtualizing the Unvirtualizable 479 7.2 The Cost of Virtualization 482 7.5 ARE HYPERVISORS MICROKERNELS DONE RIGHT? 483 7.9 VIRTUAL MACHINES ON MULTICORE CPUS 494 7.1 Clouds as a Service 496 7.2 Virtual Machine Migration 496 7.12 CASE STUDY: VMWARE 498 7.1 The Early History of VMware 498 7.2 VMware Workstation 499 xvi CONTENTS 7.3 Challenges in Bringing Virtualization to the x86 500 7.4 VMware Workstation: Solution Overview 502 7.5 The Evolution of VMware Workstation 511 7.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Hướng Dẫn Truy Cập Trang Web Hỗ Trợ Sinh Viên cho Sách Modern Operating Systems" cung cấp cho người đọc những thông tin cần thiết để dễ dàng truy cập và sử dụng các tài nguyên hỗ trợ cho việc học tập về hệ điều hành hiện đại. Tài liệu này không chỉ hướng dẫn cách thức truy cập mà còn nêu rõ các lợi ích mà sinh viên có thể nhận được từ việc sử dụng các nguồn tài liệu trực tuyến, giúp nâng cao kiến thức và kỹ năng trong lĩnh vực công nghệ thông tin.

Để mở rộng thêm kiến thức của bạn, bạn có thể tham khảo tài liệu Âm nhạc lớp 11 chân trời sáng tạo pdf, nơi cung cấp những phương pháp học tập sáng tạo trong âm nhạc. Ngoài ra, tài liệu Cambridge objective pet 2nd edition workbook with answers sẽ giúp bạn củng cố kỹ năng tiếng Anh, một yếu tố quan trọng trong việc tiếp cận tài liệu công nghệ. Cuối cùng, tài liệu Tlbdgv toán 5 full ctst có thể cung cấp cho bạn những phương pháp giảng dạy hiệu quả, hỗ trợ cho việc học tập của học sinh.

Mỗi liên kết trên đều là cơ hội để bạn khám phá sâu hơn về các chủ đề liên quan, mở rộng kiến thức và kỹ năng của mình.