ĐỀ CƯƠNG MÔN HỌC<br />
MÔN: HỆ ĐIỀU HÀNH<br />
MÃ MÔN HỌC: TH338<br />
SỐ ĐVHT:<br />
3<br />
HỌC KÌ:<br />
6<br />
GIẢNG VIÊN:<br />
NGUYỄN PHÚ TRƯỜNG<br />
<br />
I<br />
<br />
MỤC ĐÍCH YÊU CẦU<br />
<br />
<br />
<br />
<br />
Giúp sinh viên hiểu được vai trò của hệ điều hành và cơ chế hoạt động của hệ điều<br />
hành.<br />
Cách thiết kế hệ điều hành<br />
Cách ứng dụng các cơ chế trong việc thiết kế các hệ điều hành hiện đại<br />
<br />
II KIẾN THỨC NỀN CẦN THIẾT<br />
STT<br />
<br />
Nội dung kiến thức nền<br />
<br />
1<br />
<br />
Kiến trúc máy tính<br />
<br />
Tiên quyết<br />
<br />
Mức độ yêu cầu<br />
Vận dụng khái<br />
Vận dụng kỹ năng/<br />
niệm/ mô hình<br />
phương pháp<br />
<br />
x<br />
<br />
III KIẾN THỨC TOÁN CẦN THIẾT<br />
STT<br />
<br />
Nội dung kiến thức<br />
Hiểu<br />
Khái<br />
niệm<br />
<br />
1<br />
2<br />
<br />
Giải thuật<br />
Ngôn ngữ Pascal và C<br />
<br />
Mức độ yêu cầu<br />
Vận dụng<br />
Chứng minh<br />
Công thức/<br />
Công thức/<br />
định lý<br />
định lý<br />
x<br />
<br />
Vận dụng<br />
Phương pháp<br />
x<br />
<br />
IV TÓM TẮT NỘI DUNG MÔN HỌC<br />
<br />
<br />
<br />
<br />
<br />
Mô tả các điểm chính yếu của hệ điều hành<br />
Vai trò và năng lực của hệ điều hành trong hệ thống máy tính.<br />
Những vấn đề phát sinh trong quá trình thiết kế hệ điều hành cũng như những tiếp<br />
cận khác nhau được dùng để phân tích và giải quyết những vấn đề đó.<br />
Xem xét những chiến lược hệ điều hành phổ biến và cách chúng tác động đến những<br />
dịch vụ của các hệ điều hành hiện đại.<br />
<br />
V ĐỀ CƯƠNG CHI TIẾT CÁC CHƯƠNG<br />
CHƯƠNG I - TỔNG QUAN VỀ HỆ ĐIỀU HÀNH1<br />
I.1 Mục tiêu<br />
I.2 Giới thiệu<br />
I.3 Hệ điều hành là gì?<br />
I.4 Hệ thống mainframe<br />
I.5 Hệ để bàn (Desktop system)<br />
I.6 Hệ đa xử lý<br />
I.7 Hệ phân tán<br />
I.8 Hệ thống nhóm (Clustered Systems)<br />
I.9 Hệ thời thực<br />
I.10 Hệ xách tay<br />
I.11 Tóm tắt<br />
CHƯƠNG II - CẤU TRÚC HỆ ĐIỀU HÀNH<br />
II.1 Mục đích<br />
II.2 Giới thiệu<br />
II.3 Các thành phần hệ thống<br />
II.4 Các dịch vụ hệ điều hành<br />
II.5 Lời gọi hệ thống<br />
II.6 Các chương trình hệ thống<br />
II.7 Cấu trúc hệ thống<br />
II.8 Máy ảo<br />
II.9 Tóm tắt<br />
CHƯƠNG III - QUÁ TRÌNH<br />
III.1 Mục đích<br />
III.2 Giới thiệu<br />
III.3 Khái niệm quá trình<br />
III.4 Lập thời biểu quá trình<br />
III.5 Thao tác trên quá trình<br />
III.6 Giao tiếp liên quá trình<br />
III.7 Tóm tắt<br />
CHƯƠNG IV - ĐỊNH THỜI BIỂU CPU<br />
IV.1 Mục tiêu<br />
IV.2 Giới thiệu<br />
IV.3 Các khái niệm cơ bản<br />
IV.4 Các tiêu chuẩn định thời<br />
IV.5 Các giải thuật định thời<br />
IV.6 Định thời biểu đa bộ xử lý<br />
IV.7 Định thời thời gian thực<br />
IV.8 Đánh giá giải thuật<br />
IV.9 Tóm tắt<br />
CHƯƠNG V - ĐỒNG BỘ HOÁ QUÁ TRÌNH<br />
V.1 Mục tiêu<br />
V.2 Giới thiệu<br />
V.3 Tổng quan<br />
V.4 Vấn đề vùng tương trục<br />
V.5 Giải pháp<br />
V.6 Các bài toán đồng bộ hoá nguyên thuỷ<br />
V.7 Tóm tắt<br />
CHƯƠNG VI - DEADLOCK<br />
VI.1 Mục đích<br />
<br />
VI.2 Giới thiệu<br />
VI.3 Mô hình hệ thống<br />
VI.4 Đặc điểm deadlock<br />
VI.5 Các phương pháp xử lý deadlock<br />
VI.6 Ngăn chặn deadlock<br />
VI.7 Tránh deadlock<br />
VI.8 Phát hiện Deadlock<br />
VI.9 Phục hồi deadlock<br />
VI.10 Tóm tắt<br />
CHƯƠNG VII - QUẢN LÝ BỘ NHỚ<br />
VII.1 Mục đích<br />
VII.2 Giới thiệu<br />
VII.3 Đặt vấn đề<br />
VII.4 Hoán vị<br />
VII.5 Cấp phát bộ nhớ liên tục<br />
VII.6 Cấp phát không liên tục<br />
VII.7 Tóm tắt<br />
CHƯƠNG VIII - BỘ NHỚ ẢO<br />
VIII.1 Mục đích<br />
VIII.2 Giới thiệu<br />
VIII.3 Kiến thức nền<br />
VIII.4 Phân trang theo yêu cầu<br />
VIII.5 Thay thế trang<br />
VIII.6 Cấp phát khung trang<br />
VIII.7 Trì trệ toàn hệ thống<br />
VIII.8 Các vấn đề khác<br />
VIII.9 Tóm tắt<br />
CHƯƠNG IX - HỆ THỐNG TẬP TIN<br />
IX.1 Mục đích<br />
IX.2 Giới thiệu<br />
IX.3 Khái niệm tập tin<br />
IX.4 Các phương pháp truy xuất<br />
IX.5 Cấu trúc thư mục<br />
IX.6 Gắn hệ thống tập tin<br />
IX.7 Chia sẻ tập tin<br />
IX.8 Bảo vệ<br />
IX.9 Tóm tắt<br />
CHƯƠNG X - CÀI ĐẶT HỆ THỐNG TẬP TIN<br />
X.1 Mục đích<br />
X.2 Giới thiệu<br />
X.3 Cấu trúc hệ thống tập tin<br />
X.4 Cài đặt hệ thống tập tin<br />
X.5 Cài đặt thư mục<br />
X.6 Các phương pháp cấp phát<br />
X.7 Quản lý không gian trống<br />
X.8 Tóm tắt<br />
CHƯƠNG XI - QUẢN LÝ HỆ THỐNG NHẬP/XUẤT<br />
XI.1 Mục đích<br />
XI.2 Giới thiệu<br />
XI.3 Các khái niệm cơ bản<br />
XI.4 Phần cứng nhập/xuất<br />
XI.5 Giao diện nhập/xuất ứng dụng<br />
T<br />
<br />
XI.6 Hệ thống con nhập/xuất của nhân (kernel I/O subsytem)<br />
XI.7 Chuyển nhập/xuất tới hoạt động phần cứng<br />
XI.8 Năng lực<br />
XI.9 Tóm tắt<br />
<br />
VI TÀI LIỆU THAM KHẢO<br />
1.<br />
<br />
[Jean Bacon & Tim Harris], Operating Systems, Addison-Wesley, 2003.<br />
<br />
2.<br />
<br />
[Nguyễn Hoàng Việt], Bài giảng Hệ Điều Hành, Khoa CNTT-ĐH Cần Thơ, 1998<br />
<br />
3.<br />
<br />
[Silberschatz, Galvin, Gagne], Operating System Concepts, John Wiley & Sons,<br />
2003<br />
<br />
4.<br />
<br />
[Lê Khắc Nhiên Ân, Hoàng Kiếm], Giáo trình Nhập môn hệ điều hành, Đại học<br />
Khoa học Tự nhiên, 2003.<br />
<br />
5.<br />
<br />
[Trần Hạnh Nhi, Hoàng Kiếm], Giáo trình hệ điều hành nâng cao, Đại học Khoa<br />
học Tự nhiên,1999.<br />
<br />
VI.1.1<br />
<br />
DUYỆT BỘ MÔN<br />
<br />
Ngày 23 tháng 04 năm 2004<br />
CÁN BỘ BIÊN SOẠN<br />
<br />
Nguyễn Phú Trường<br />
<br />
Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0<br />
<br />
TỔNG QUAN VỀ HỆ ĐIỀU HÀNH<br />
I<br />
<br />
Mục tiêu<br />
Sau khi học xong chương này, người học nắm được những kiến thức sau:<br />
o Hiểu vai trò của hệ điều hành trong hệ thống máy tính<br />
o Biết các giai đoạn phát triển của hệ điều hành<br />
o Hiểu sự khác biệt của các hệ điều hành qua từng giai đoạn<br />
o Hiểu cách giải quyết các vấn đề phát sinh trong từng hệ điều hành<br />
<br />
II Giới thiệu<br />
Hệ điều hành là một chương trình quản lý phần cứng máy tính. Nó cung cấp nền<br />
tảng cho các chương trình ứng dụng và đóng vai trò trung gian giao tiếp giữa người<br />
dùng máy tính và phần cứng của máy tính đó. Hệ điều hành thiết lập cho các tác vụ<br />
này rất đa dạng. Một vài hệ điều hành thiết kế tiện dụng trong khi một số khác thiết kế<br />
hiệu quả hoặc kết hợp cả hai.<br />
Để hiểu hệ điều hành là gì, trước hết chúng ta phải hiểu chúng được phát triển<br />
như thế nào. Trong chương này chúng ta điểm lại sự phát triển của hệ điều hành từ<br />
những hệ thử nghiệm đầu tiên tới những hệ đa chương và chia thời. Thông qua những<br />
giai đoạn khác nhau chúng ta sẽ thấy cách thức mà những thành phần của hệ điều<br />
hành được cải tiến như những giải pháp tự nhiên cho những vấn đề trong những hệ<br />
thống máy tính ban đầu. Xem xét những lý do phía sau sự phát triển của hệ điều hành<br />
cho chúng ta một đánh giá về những tác vụ gì hệ điều hành làm và cách hệ điều hành<br />
thực hiện chúng.<br />
<br />
III Hệ điều hành là gì?<br />
Một hệ điều hành là một thành phần quan trọng của mọi hệ thống máy tính. Một hệ<br />
thống máy tính có thể được chia thành bốn thành phần: phần cứng, hệ điều hành, các<br />
chương trình ứng dụng và người dùng.<br />
o Phần cứng (Hardware): bao gồm bộ xử lý trung tâm (CPU), bộ nhớ, thiết<br />
bị xuất/nhập,..cung cấp tài nguyên cơ bản cho hệ thống.<br />
o Các chương trình ứng dụng (application programs): trình biên dịch<br />
(compiler), trình soạn thảo văn bản (text editor), hệ cơ sở dữ liệu (database<br />
system), trình duyệt Web,..định nghĩa cách mà trong đó các tài nguyên<br />
được sử dụng để giải quyết yêu cầu của người dùng.<br />
o Người dùng (user): có nhiều loại người dùng khác nhau, thực hiện những<br />
yêu cầu khác nhau, do đó sẽ có nhiều ứng dụng khác nhau.<br />
o Hệ điều hành (operating system): hay còn gọi là chương trình hệ thống,<br />
điều khiển và hợp tác việc sử dụng phần cứng giữa những chương trình<br />
ứng dụng khác nhau cho những người dùng khác nhau. Hệ điều hành có<br />
thể được khám phá từ hai phía: người dùng và hệ thống.<br />
<br />
Biên soạn: Th.s Nguyễn Phú Trường - 09/2005<br />
<br />
Trang 1<br />
<br />