Giáo trình Hệ điều hành (Bậc Cao đẳng)

ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH  
TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT  
THÀNH PHỐ HỒ CHÍ MINH  
   
GIÁO TRÌNH  
HỆ ĐIỀU HÀNH  
BẬC  
CAO ĐẲNG  
(LƯU HÀNH NỘI BỘ)  
Tp. HCM – 2017  
ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH  
TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT THÀNH  
PHỐ HỒ CHÍ MINH  
   
GIÁO TRÌNH  
HỆ ĐIỀU HÀNH  
THÔNG TIN NHÓM BIÊN SOẠN  
Chủ biên  
Học vị  
Dương Đình Dũng  
Thạc sĩ  
TRƯỞNG KHOA  
TỔ TRƯỞNG  
CHỦ NHIỆM  
ĐỀ TÀI  
BỘ MÔN  
HIỆU TRƯỞNG  
DUYỆT  
Giáo trình Hệ Điều Hành  
LỜI MỞ ĐẦU  
Giáo trình “Hệ điều hành” là tài liệu được biên soạn để phục vụ cho việc giảng  
dạy, học tập của giáo viên và sinh viên ngành Công nghệ thông tin, Hệ thống thông tin  
bậc cao Đẳng.  
Giáo trình cung cấp những kiến thức cơ sở về Cấu trúc, nguyên lý hoạt động, các  
thành phần, quản lý bộ nhớ, quản lý tiến trình, hoạt động nhập xuất trên hệ điều hành  
máy tính.  
Giáo trình được biên soạn theo đề cương học phần “Hệ điều hành” ở bậc cao đẳng  
ngành Công nghệ thông tin đã được Hội đồng Khoa học của nhà trường thông qua. Giáo  
trình gồm 10 bài:  
Bài 1: Tổng quan về hệ điều hành máy tính  
Nghiên cứu trọng tâm là phần định nghĩa, các khái niệm ban đầu về hệ điều hành,  
phân loại các hệ điều hành đã được áp dụng trong thực tiễn.  
Bài 2: Cấu trúc hệ điều hành  
Tập trung vào các thành tố hình thành nên hệ điều hành, mô tả sơ lược các thành  
phần quản lý tham gia vào hoạt động của hệ điều hành.  
Bài 3: Quản lý Tiến trình  
Nghiên cứu về khái niệm tiến trình, tổ chức quản lý tiến trình trong máy tính  
Bài 4: Tiểu trình (Thread)  
Bài học này tập trung vào vấn đề giải quyết luồng thi hành nhằm nâng cao hiệu  
suất làm việc trong một chu trình CPU đối với tiến trình.  
Bài 5: Điều phối tiến trình  
Trong bài này nghiên cứu về các thuật toán điều phối tiến trình hiệu quả trong các  
loại hệ điều hành.  
Bài 6: Tắt nghẽn (deadlock)  
Nghiên cứu về sự tranh chấp tài nguyên trên máy tính, các nguyên nhân gây ra tắt  
nghẽn và các phương pháp xác định tắt nghẽn cũng như giải quyết tắt nghẽn.  
Bài 7: Quản lý bộ nhớ  
Trong bài này cung cấp các khái niệm và phương pháp tổ chức, cấp phát bộ nhớ  
trong hệ điều hành.  
Bài 8: Bộ nhớ ảo (Virtual Memory)  
Trang 1  
 
Giáo trình Hệ Điều Hành  
Bài học cung cấp kiến thức về cách tổ chức bộ nhớ trong hệ điều hành hiện đại,  
cách thức tổ chức để một máy tính có bộ nhớ vật lý nhỏ, nhưng chạy được chương trình  
lớn hơn nhiều lần.  
Bài 9: Hệ thống quản lý tập tin  
Trình bày vấn đề lưu trữ và tổ chức lưu trữ trên các hệ điều hành  
Bài 10: Hệ thống nhập xuất (I/O)  
Nghiên cứu các phương pháp nhập xuất trên máy tính, đặc biệt là nhập xuất đĩa  
với các thuật toán đọc đĩa.  
Mặc dù đã hết sức cố gắng, song do biên soạn lần đầu, giáo trình không tránh khỏi  
những thiếu sót. Tác giả xin chân thành cám ơn các đồng nghiệp trường Cao đẳng Kinh  
tế-Kỹ thuật Thành phố Hồ Chí Minh - đặc biệt là các thành viên trong tổ Mạng Máy  
Tính - đã động viên và góp ý cho công việc viết giáo trình Hệ điều hành này. Tác giả  
mong nhận được ý kiến phản hồi của các đồng nghiệp và độc giả về những khiếm khuyết  
khó tránh khỏi trong giáo trình này.  
Tác giả  
Dương Đình Dũng  
Trang 2  
Giáo trình Hệ Điều Hành  
MỤC LỤC  
Trang 3  
 
Giáo trình Hệ Điều Hành  
Trang 4  
Giáo trình Hệ Điều Hành  
Trang 5  
Giáo trình Hệ Điều Hành  
Trang 6  
Giáo trình Hệ Điều Hành  
Trang 7  
Giáo trình Hệ Điều Hành  
DANH MỤC HÌNH  
Trang 8  
 
Giáo trình Hệ Điều Hành  
Trang 9  
Giáo trình Hệ Điều Hành  
Trang 10  
Giáo trình Hệ Điều Hành  
Trang 11  
Giáo trình Hệ Điều Hành  
DANH MỤC BẢNG  
Trang 12  
 
Bài 1 Tổng quan về hệ điều hành  
BÀI 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH  
Mục tiêu:  
– Trình bày được khái niệm và phân loại được các hệ điều hành dùng trong máy tính  
– Trình bày được đặc điểm của hệ điều hành qua các thời kỳ  
– Phân loại được hệ điều hành  
– Nhận biết được đặc tính và nguyên lý của một hệ điều hành cụ thể  
– So sánh được đặc điểm của từng loại hệ điều hành.  
– Lựa chọn đúng đắn hệ điều hành cho từng công việc  
Tóm lược:  
➢ Bài học này cung cấp cho sinh viên một cái nhìn tổng quát về những nguyên lý  
cơ bản của hệ điều hành.  
➢ Bài học này giúp sinh viên hiểu được hệ điều hành là gì. Hệ điều hành được phân  
loại theo những tiêu chuẩn nào. Quá trình phát triển của hệ điều hành phụ thuộc  
vào những yếu tố nào.  
Nội dung:  
I. KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH  
1. Mở đầu  
Nếu không có phần mềm, máy tính chỉ là một thiết bị điện tử thông thường. Với  
sự hỗ trợ của phần mềm, máy tính có thể lưu trữ, xử lý thông tin và người sử dụng có  
thể gọi lại được thông tin này. Phần mềm máy tính có thể chia thành nhiều loại: chương  
trình hệ thống, quản lý sự hoạt động của chính máy tính. Chương trình ứng dụng, giải  
quyết các vấn đề liên quan đến việc sử dụng và khai thác máy tính của người sử dụng.  
Hệ điều hành thuộc nhóm các chương trình hệ thống và nó là một chương trình hệ thống  
quan trọng nhất đối với máy tính và cả người sử dụng. Hệ điều hành điều khiển tất cả  
các tài nguyên của máy tính và cung cấp một môi trường thuận lợi để các chương trình  
ứng dụng do người sử dụng viết ra có thể chạy được trên máy tính. Trong chương này  
chúng ta xem xét vai trò của hệ điều hành trong trường hợp này.  
Một máy tính hiện đại có thể bao gồm: một hoặc nhiều processor, bộ nhớ chính,  
clocks, đĩa, giao diện mạng, và các thiết bị vào/ra khác. Tất cả nó tạo thành một hệ thống  
phức tạp. Để viết các chương trình để theo dõi tất cả các thành phần của máy tính và sử  
dụng chúng một cách hiệu quả, người lập trình phải biết processor thực hiện chương  
trình như thế nào, bộ nhớ lưu trữ thông tin như thế nào, các thiết bị đĩa làm việc (ghi/đọc)  
như thế nào, lỗi nào có thể xảy ra khi đọc một block đĩa, … đây là những công việc rất  
Trang 13  
     
Bài 1 Tổng quan về hệ điều hành  
khó khăn và quá khó đối với người lập trình. Nhưng rất may cho cả người lập trình ứng  
dụng và người sử dụng là những công việc trên đã được hệ điều hành hỗ trợ nên họ  
không cần quan tâm đến nữa. Chương này cho chúng ta một cái nhìn tổng quan về những  
gì liên quuan đến việc thiết kế cài đặt cũng như chức năng của hệ điều hành để hệ điều  
hành đạt được mục tiêu: Giúp người sử dụng khai thác máy tính dễ dàng và chương trình  
của người sử dụng có thể chạy được trên máy tính.  
2. Định nghĩa hệ điều hành  
Hệ điều hành là một chương trình hay một hệ chương trình hoạt động giữa người  
sử dụng (user) và phần cứng của máy tính. Mục tiêu của hệ điều hành là cung cấp một  
môi trường để người sử dụng có thể thi hành các chương trình. Nó làm cho máy tính dể  
sử dụng hơn, thuận lợi hơn và hiệu quả hơn.  
Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính. Một hệ  
thống máy tính thường được chia làm bốn phần chính: phần cứng, hệ điều hành, các  
chương trình ứng dụng và người sử dụng.  
Phần cứng bao gồm CPU, bộ nhớ, các thiết bị nhập xuất, đây là những tài nguyên  
của máy tính.  
Chương trình ứng dụng như các chương trình dịch, hệ thống cơ sở dữ liệu, các  
trò chơi, và các chương trình thương mại. Các chương trình này sử dụng tài nguyên của  
máy tính để giải quyết các yêu cầu của người sử dụng.  
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. Hệ điều hành cung cấp một môi trường  
mà các chương trình có thể làm việc hữu hiệu trên đó.  
Người dùng: là người sử dụng máy  
Hình 1.1 Mô hình trừu tượng của hệ thống máy tính  
Hệ điều hành có thể được coi như là bộ phân phối tài nguyên của máy tính. Nhiều  
tài nguyên của máy tính như thời gian sử dụng CPU, vùng bộ nhớ, vùng lưu trữ tập tin,  
Trang 14  
   
Bài 1 Tổng quan về hệ điều hành  
thiết bị nhập xuất v.v… được các chương trình yêu cầu để giải quyết vấn đề. Hệ điều  
hành hoạt động như một bộ quản lý các tài nguyên và phân phối chúng cho các chương  
trình và người sử dụng khi cần thiết. Do có rất nhiều yêu cầu, hệ điều hành phải giải  
quyết vấn đề tranh chấp và phải quyết định cấp phát tài nguyên cho những yêu cầu theo  
thứ tự nào để hoạt động của máy tính là hiệu quả nhất. Một hệ điều hành cũng có thể  
được coi như là một chương trình kiểm soát việc sử dụng máy tính, đặc biệt là các thiết  
bị nhập xuất.  
Tuy nhiên, nhìn chung chưa có định nghĩa nào là hoàn hảo về hệ điều hành. Hệ  
điều hành tồn tại để giải quyết các vấn đề sử dụng hệ thống máy tính. Mục tiêu cơ bản  
của nó là giúp cho việc thi hành các chương trình dễ dàng hơn. Mục tiêu thứ hai là hỗ  
trợ cho các thao tác trên hệ thống máy tính hiệu quả hơn. Mục tiêu này đặc biệt quan  
trọng trong những hệ thống nhiều người dùng và trong những hệ thống lớn (phần cứng  
+ quy mô sử dụng). Tuy nhiên hai mục tiêu này cũng có phần tương phản vì vậy lý  
thuyết về hệ điều hành tập trung vào việc tối ưu hóa việc sử dụng tài nguyên của máy  
tính.  
II. PHÂN LOẠI HỆ ĐIỀU HÀNH  
1 Hệ thống xử lý theo lô  
Trong giai đoạn 1955 – 1965, hệ thống xử lý theo lô ra đời, nó lưu các yêu cầu cần  
thực hiện lên băng từ, và hệ thống sẽ đọc và thi hành lần lượt. Sau đó, nó sẽ ghi kết quả  
lên băng từ xuất và cuối cùng người sử dụng sẽ đem băng từ xuất đi in.  
Hệ thống xử lý theo lô hoạt động dưới sự điều khiển của một chương trình đặc biệt  
là tiền thân của hệ điều hành sau này. Ngôn ngữ lập trình sử dụng trong giai đoạn này  
chủ yếu là FORTRAN và hợp ngữ.  
Hình 1.2 Hình tượng hoá hệ điều hành xử lý theo lô  
– Bộ giám sát thường trực:  
Khi một công việc chấm dứt, hệ thống sẽ thực hiện công việc kế tiếp mà không  
cần sự can thiệp của người lập trình, do đó thời gian thực hiện sẽ mau hơn. Một chương  
trình, còn gọi là bộ giám sát thường trực được thiết kế để giám sát việc thực hiện dãy  
Trang 15  
     
Bài 1 Tổng quan về hệ điều hành  
các công việc một cách tự động, chương trình này luôn luôn thường trú trong bộ nhớ  
chính.  
Hệ điều hành theo lô thực hiện các công việc lần lượt theo những chỉ thị định trước.  
– CPU và thao tác nhập xuất:  
CPU thường hay nhàn rỗi do tốc độ làm việc của các thiết bị nhập xuất (thường là  
thiết bị cơ) chậm hơn rất nhiều lần so với các thiết bị điện tử. Cho dù là một CPU chậm  
nhất, nó cũng nhanh hơn rất nhiều lần so với thiết bị nhập xuất. Do đó phải có các  
phương pháp để đồng bộ hóa việc hoạt động của CPU và thao tác nhập xuất.  
Xử lý off_line:  
Xử lý off_line là thay vì CPU phải đọc trực tiếp từ thiết bị nhập và xuất ra thiết bị  
xuất, hệ thống dùng một bộ lưu trữ trung gian. CPU chỉ thao thác với bộ phận này. Việc  
đọc hay xuất đều đến và từ bộ lưu trữ trung gian.  
Spooling:  
Spool (simultaneous peripheral operation on-line) là đồng bộ hóa các thao tác bên  
ngoài on-line. Cơ chế này cho phép xử lý của CPU là on-line, sử dụng đĩa để lưu các dữ  
liệu nhập cũng như xuất.  
2. Hệ thống xử lý theo lô đa chương  
Khi có nhiều công việc cùng truy xuất lên thiết bị, vấn đề lập lịch cho các công  
việc là cần thiết. Khía cạnh quan trọng nhất trong việc lập lịch là khả năng đa chương.  
Đa chương (multiprogram) gia tăng khai thác CPU bằng cách tổ chức các công việc sao  
cho CPU luôn luôn phải trong tình trạng làm việc .  
Hình 1.3 Hình tượng hoá hệ điều hành xử lý theo lô đa chương  
Ý tưởng Hệ thống xử lý theo lô đa chương như sau : hệ điều hành lưu giữ một  
phần của các công việc ở nơi lưu trữ trong bộ nhớ . CPU sẽ lần lượt thực hiện các phần  
công việc này. Khi đang thực hiện, nếu có yêu cầu truy xuất thiết bị thì CPU không nghỉ  
mà thực hiện tiếp công việc thứ hai…  
Trang 16  
   
Bài 1 Tổng quan về hệ điều hành  
Với hệ đa chương hệ điều hành ra quyết định cho người sử dụng vì vậy, hệ điều  
hành đa chương rất tinh vi. Hệ phải xử lý các vấn đề lập lịch cho công việc, lập lịch cho  
bộ nhớ và cho cả CPU nữa.  
Khi có nhiều công việc cùng truy xuất lên thiết bị, vấn đề lập lịch cho các công  
việc là cần thiết. Khía cạnh quan trọng nhất trong việc lập lịch là khả năng đa chương.  
Đa chương (multiprogram) gia tăng khai thác CPU bằng cách tổ chức các công việc sao  
cho CPU luôn luôn phải trong tình trạng làm việc.  
Ý tưởng như sau: hệ điều hành lưu giữ một phần của các công việc ở nơi lưu trữ  
trong bộ nhớ. CPU sẽ lần lượt thực hiện các phần công việc này. Khi đang thực hiện,  
nếu có yêu cầu truy xuất thiết bị (chẳn hạn I/O) thì CPU không nghỉ mà thực hiện  
tiếp công việc thứ hai…  
Với hệ đa chương hệ điều hành ra quyết định cho người sử dụng vì vậy, hệ điều  
hành đa chương rất tinh vi. Hệ phải xử lý các vấn đề lập lịch cho công việc, lập lịch  
cho bộ nhớ và cho cả CPU.  
3. Hệ thống chia sẻ thời gian  
Hệ thống chia sẻ thời gian là một mở rộng logic của hệ đa chương. Hệ thống này  
còn được gọi là hệ thống đa nhiệm (multitasking). Nhiều công việc cùng được thực  
hiện thông qua cơ chế chuyển đổi của CPU như hệ đa chương nhưng thời gian mỗi lần  
chuyển đổi diễn ra rất nhanh.  
Hình 1.4 Hình tượng hoá hệ điều hành chia sẻ thời gian.  
Hệ thống chia sẻ được phát triển để cung cấp việc sử dụng bên trong của một máy  
tính có giá trị hơn. Hệ điều hành chia sẻ thời gian dùng lập lịch CPU và đa chương để  
cung cấp cho mỗi người sử dụng một phần nhỏ trong máy tính chia sẻ. Một chương trình  
khi thi hành được gọi là một tiến trình. Trong quá trình thi hành của một tiến trình, nó  
phải thực hiện các thao tác nhập xuất và trong khoảng thời gian đó CPU sẽ thi hành một  
tiến trình khác. Hệ điều hành chia sẻ cho phép nhiều người sử dụng chia sẻ máy tính  
Trang 17  
   
Bài 1 Tổng quan về hệ điều hành  
một cách đồng bộ do thời gian chuyển đổi nhanh nên họ có cảm giác là các tiến trình  
đang được thi hành cùng lúc.  
Hệ điều hành chia sẻ phức tạp hơn hệ điều hành đa chương. Nó phải có các chức  
năng: quản trị và bảo vệ bộ nhớ, sử dụng bộ nhớ ảo. Nó cũng cung cấp hệ thống tập tin  
truy xuất on-line…  
Hệ điều hành chia sẻ là kiểu của các hệ điều hành hiện đại ngày nay.  
4. Hệ thống song song  
Ngoài các hệ thống chỉ có một bộ xử lý còn có các hệ thống có nhiều bộ xử lý cùng  
chia xẻ hệ thống đường truyền dữ liệu, đồng hồ, bộ nhớ và các thiết bị ngoại vi. Các bộ  
xử lý này liên lạc bên trong với nhau.  
Có nhiều nguyên nhân xây dựng dạng hệ thống này. Với sự gia tăng số lượng bộ  
xử lý, công việc được thực hiện nhanh chóng hơn, Nhưng không phải theo đúng tỉ lệ  
thời gian, nghĩa là có n bộ xử lý không có nghĩa là sẽ thực hiện nhanh hơn n lần.  
Hình 1.5 Hình tượng hoá hệ điều hành xử lý song song  
Hệ thống với máy nhiều bộ xử lý sẽ tối ưu hơn hệ thống có nhiều máy có một bộ  
xử lý vì các bộ xử lý chia xẻ các thiết bị ngoại vi, hệ thống lưu trữ, nguồn … và rất thuận  
tiện cho nhiều chương trình cùng làm việc trên cùng một tập hợp dữ liệu.  
Một lý do nữa là độ tin cậy. Các chức năng được xử lý trên nhiều bộ xử lý và sự  
hỏng hóc của một bộ xử lý sẽ không ảnh hưởng đến toàn bộ hệ thống.  
Các máy tính có thể sắp xếp vào 4 loại sau:  
SISD (Single Instructions Stream, Single Data Stream): Máy tính một dòng lệnh,  
một dòng số liệu.  
Trang 18  
   
Tải về để xem bản đầy đủ
pdf 178 trang yennguyen 22760 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành (Bậc Cao đẳng)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_dieu_hanh_bac_cao_dang.pdf