1. TÊN HỌC PHẦN:
Tiếng Việt: Hệ
điều hành
Tiếng Anh: Operating System
Mã học phần: CNTT1107 Số tín chỉ: 03
2. BỘ MÔN PHỤ TRÁCH GIẢNG
DẠY:
Công nghệ thông tin
3. ĐIỀU KIỆN HỌC TRƯỚC:
Nhập môn Công nghệ thông
tin
4. MÔ TẢ HỌC PHẦN:
Hệ điều hành là học phần cung cấp kiến thức bắt buộc của khối
ngành Công nghệ thông tin. Khối kiến thức của học phần hệ điều hành bao gồm:
-
Tổ chức và chức năng của hệ điều hành trong hệ thống tính
toán
-
Nguyên lý hoạt động và chức năng của các thành phần căn bản
của hệ điều hành như quản lý tiến trình, quản lý bộ nhớ, quản lý đĩa, quản lý tập
tin, quản lý nhập/xuất
-
Tổ chức bảo vệ hệ thống và an toàn thông tin
-
Các vấn đề của hệ điều hành phân tán và hệ điều hành mạng
như tổ chức tập tin phân tán, các phương pháp phối hợp phân tán
-
Nghiên cứu cụ thể hệ điều hành LINUX.
5. MỤC TIÊU HỌC PHẦN:
Sau khi hoàn thành
khóa học này, học viên có thể:
- Nêu
được chức năng chính của hệ điều hành
- Nhận
dạng được các thành phần chính của hệ điều hành
- Áp
dụng được các kỹ thuật liên lạc giữa các tiến trình và đồng bộ hóa tiến trình
vào lập trình thực tế đặc biệt với hệ điều hành Linux
- Nêu được các khái niệm không gian điạ chỉ và không gian vật
lý của bộ nhớ
- Phân biệt được mô hình cấp phát bộ nhớ liên tục và không
liên tục
- Nêu được mô hình tổ chức và truy xuất tập tin đặc biệt là
tập tin hệ điều hành Linux.
- Nêu được mô hình tổ chức và truy xuất hệ thống vào/ra.
- Nêu được các thuật toán điều phối đĩa, phương pháp quản
lý đĩa và quản lý swap
- Phân biệt được các mô hình RAID
- Nêu được các nguy cơ ảnh hưởng đến an ninh và an toàn hệ
thống và các cách phòng chống
- Nêu được khái niệm về hệ điều hành phân tán, hệ thống tập
tin phân tán
- Phân biệt được các thuật toán phối hợp phân tán
6. NỘI DUNG HỌC PHẦN:
PHÂN BỐ THỜI GIAN
STT
|
Nội
dung
|
Tổng
số
tiết
|
Trong
đó
|
Ghi
chú
|
Lý
thuyết
|
Bài tập,
thảo luận, kiểm tra
|
|
1
2
3
4
5
6
7
8
|
Chương 1
Chương 2
Chương 3
Chương 4
Chương 5
Chương 6
Chương 7
Chương 8
|
3
12
4
5
3
3
6
9
|
2
10
3
3
2
2
5
7
|
1
2
1
2
1
1
1
2
|
|
|
Cộng
|
45
|
34
|
11
|
|
CHƯƠNG I – TỔNG QUAN VỀ HỆ ĐIỀU
HÀNH
Hệ điều hành điều khiển và phối hợp việc
sử dụng phần cứng cho những ứng dụng khác nhau của nhiều người sử dụng khác
nhau. Trong chương này chúng ta sẽ xem xét định nghĩa hệ điều
hành, yếu tố chi phối lịch sử phát triển của hệ điều hành và các loại hệ điều
hành phổ biến.Chúng ta cũng xem xét một cách tổng quát các thành phần chính của hệ điều
hành như Quản lý tiến trình, Quản lý
bộ nhớ chính, 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.
CHƯƠNG II – QUẢN LÝ TIẾN TRÌNH
Hầu hết
các hệ điều hành hiện đại đều cho phép người dùng thi hành nhiều công việc đồng
thời trên cùng một máy tính. Chương này bắt đầu với việc khảo sát chức năng quản
lý tiến trình của hệ điều hành: cấu trúc dữ liệu để theo dõi tiến trình, các
thao tác trên tiến trình, nguyên lý phân chia CPU cho các tiến trình. Các tiến
trình trên nguyên tắc là hoàn toàn độc lập, nhưng thực tế có những yêu cầu đòi
hỏi việc liên lạc giữa các tiến trình. Chúng ta sẽ xem xét các cơ chế liên lạc do hệ điều hành cung cấp như: Tín hiệu,
Pipe, Vùng nhớ chia sẻ, Trao đổi thông điệp hay socket. Khi các tiến trình trao
đổi thông tin, chia sẻ tài nguyên chung, cần phải đồng bộ hoá hoạt động của
chúng chủ yếu do yêu cầu độc quyền truy xuất hoặc phối hợp hoạt động. Chương này sẽ giới thiệu
2 lớp giải pháp chính để thực hiện: các giải pháp « busy waiting » và các giải
pháp « sleep and wakeup ».
CHƯƠNG
III – QUẢN LÝ BỘ NHỚ
Hầu hết các hệ điều hành hiện đại đều cho phép
chế độ đa nhiệm nhằm nâng cao hiệu suất sử dụng CPU. Tuy nhiên kỹ thuật này lại
làm nảy sinh nhu cầu chia sẻ bộ nhớ giữa các tiến trình khác nhau. Vấn đề nằm ở
chỗ : “ bộ nhớ thì hữu hạn và các yêu cầu
bộ nhớ thì vô hạn”. Chương này sẽ trình bày các giải pháp để giải quyết vấn đề
trên như: khái niệm không gian địa chỉ được xây dựng trên không
gian nhớ vật lý, kỹ thuật phân trang và phân đoạn, mô hình bộ nhớ ảo.
CHƯƠNG IV – QUẢN LÝ TẬP TIN
Đối với hầu hết người dùng, hệ thống tập tin là diện mạo dễ nhìn thấy
nhất của hệ điều hành. Nó cung cấp cơ chế cho việc lưu trữ trực tuyến và truy
xuất dữ liệu, chương trình của hệ điều hành và tất cả người dùng của hệ thống
máy tính. Hệ thống tập tin chứa hai phần riêng biệt: tập hợp các tập tin, mỗi
tập tin lưu trữ dữ liệu có liên quan và cấu trúc thư mục mà nó tổ chức và cung
cấp thông tin về tất cả tập tin trong hệ thống. Một số hệ thống tập tin còn có
thêm phần thứ ba , các phân khu mà nó được dùng để tách rời tập hợp các thư mục
lớn luận lý và vật lý. Trong chương này
chúng ta xét các khía cạnh khác nhau của tập tin và cấu trúc thư mục. Chúng ta
cũng thảo luận các cách để quản lý việc bảo vệ tập tin, cần thiết khi nhiều
người dùng truy xuất các tập tin và chúng ta muốn kiểm soát ai và cách gì truy
xuất tập tin. Cuối cùng, chúng ta thảo luận việc chia sẻ giữa nhiều quá trình,
người dùng, và máy tính. Một ví dụ của mô hình
tổ chức này là tập tin EXT2 của Linux.
CHƯƠNG V - QUẢN LÝ NHẬP/XUẤT
Vai trò của hệ điều hành trong nhập/xuất máy tính là quản lý và điều
khiển các thao tác nhập/xuất và các thiết bị nhập/xuất. Trong chương này chúng
ta sẽ mô tả các khái niệm cơ bản của phần cứng nhập/xuất. Kế đến chúng ta sẽ
thảo luận các dịch vụ nhập/xuất được cung cấp bởi hệ điều hành và hiện thân của
các dịch vụ này trong giao diện ứng dụng nhập/xuất. Sau đó, chúng ta giải thích
hệ điều hành làm cầu nối giữa giao diện phần cứng và giao diện ứng dụng như thế
nào. Cuối cùng, chúng ta thảo luận các khía cạnh năng lực của nhập/xuất và các
nguyên lý thiết kế hệ điều hành để cải tiến năng lực nhập/xuất.
CHƯƠNG VI - CẤU TRÚC LƯU TRỮ
Đĩa là nơi mà tập tin và thư mục được lưu trữ. Trong chương
này, chúng ta đầu tiên sẽ xem
xét cấu trúc vật lý đĩa từ. Chúng ta sau đó mô
tả các thuật toán lập lịch
đĩa nhằm lên lịch thứ tự I / O của đĩa để
cải thiện hiệu suất. Tiếp theo, chúng tôi thảo luận
về định dạng đĩa và quản
lý của các khối khởi động, các khối bị hư hỏng, và
không gian trao đổi. Sau đó chúng ta kiểm
tra hình
thức ghép nhiều ổ đĩa cứng vật lý thành một hệ thống ổ đĩa cứng nhằm gia tăng tốc
độ đọc/ghi dữ liệu hoặc nhằm tăng thêm sự an toàn của dữ liệu chứa trên hệ thống
đĩa.
CHƯƠNG VII - BẢO VỆ VÀ AN TOÀN
HỆ THỐNG
Mục
tiêu của việc bảo vệ hệ thống là bảo vệ chống lỗi của tiến trình, lỗi của một
tiến trình j phải được ngăn chặn không làm ảnh hưởng đến các tiến trình khác,
và chống sự truy xuất bất hợp lệ, bảo đảm các bộ phận tiến trình sử dụng tài
nguyên theo một cách thức hợp lệ được qui định cho nó trong việc khai thác các
tài nguyên này. An
toàn hệ thống phải xem xét môi trường bên ngoài
của hệ thống, và bảo
vệ nó khỏi: truy cập trái phép, sửa đổi hoặc phá hủy độc hại, không thống nhất một
cách tình cờ. Chương này đầu tiên sẽ xem xét phương pháp bảo vệ hệ thống
với ma trận quyền
truy xuất. Sau đó, chúng ta thảo luận về các kỹ thuật đảm bảo an toàn hệ thống
như xác thực và kiểm soát truy cập.
CHƯƠNG VIII – HỆ THỐNG PHÂN TÁN
Một hệ thống phân tán là một tập hợp các node xử lý không dùng chung bộ nhớ hoặc đồng hồ. Các
node xử lý trong hệ thống được kết
nối thông qua một mạng thông tin.
Một hệ thống phân tán cung cấp cho người dùng
truy cập vào các nguồn tài nguyên
chia sẻ bằng cách di cư dữ liệu, di cư
tính toán, hoặc di
cư tiến trình. Một ứng dụng quan trọng của hệ thống phân tán là hệ thông
tập tin phân tán. Chương này đầu tiên sẽ xem xét các kỹ thuật dùng
trong một hệ thống tập tin
phân tán nhằm hỗ trợ
việc chia sẻ các tập tin phân bố phân tán trên nhiều node của hệ thống như: phương pháp đặt
tên không phụ thuộc vào vị trí file, cách truy nhập hệ thống file phân tán, sao
chép file giữa các node. Tiếp đó chúng ta sẽ thảo luận về các kĩ thuật
thực hiện đồng bộ trên hệ thống phân tán như: các phương pháp loại trừ lẫn
nhau, các giao dịch nguyên tử, kiểm
soát đồng bộ, phòng chống bế tắc,
và phát hiện bế tắc.
7. GIÁO TRÌNH:
Abraham Silberschatz, Peter B. Galvin, Greg Gagne (2008),
Operating System Concepts (8th edition), Wiley.
8. TÀI LIỆU THAM KHẢO:
[1] Andrew S. Tanenbaum
(2001), Modern Operating Systems (2nd Edition), Prentice Hall
[2] Abraham
Silberschatz, Peter B. Galvin, Greg Gagne (2008), Operating System Concepts
(8th edition), Wiley
9. PHƯƠNG PHÁP ĐÁNH GIÁ
HỌC PHẦN:
-
Dự lớp: có mặt trên lớp trên 80% số buổi học
-
Thảo luận và dự lớp đánh giá 10% số điểm (hệ số
0.1)
-
Bài tiểu luận; Thuyết trình ;Báo cáo.
-
Bài kiểm tra: đánh giá 20% số điểm. (hệ số 0.2)
-
Thi cuối kỳ: đáng giá 70% số điểm. (hệ số 0.7)
-
Thang điểm: 10