Giáo trình mô đun Nguyên lý hệ điều hành - Nghề: Quản trị mạng

UỶ BAN NHÂN DÂN TỈNH HẢI PHÒNG  
TRƯỜNG CĐCN HẢI PHÒNG  
GIÁO TRÌNH  
Tên mô đun: NGUYÊN LÝ HỆ ĐIỀU HÀNH  
NGHỀ: QUẢN TRỊ MẠNG  
Hải Phòng, năm 2017  
TUYÊN BỐ BẢN QUYỀN  
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể  
được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và  
tham khảo.  
Giáo trình lưu hành nội bộ.  
2
LỜI GIỚI THIỆU  
Để thực hiện biên soạn giáo trình đào tạo nghề Quản trị mạng ở trình độ  
Trung cấp Nghề, giáo trình Mạch điện tử là một trong những giáo trình môn  
học đào tạo chuyên ngành được biên soạn theo nội dung chương trình tạo  
trường Cao đẳng Nghề Công nghệ Việt – Hàn Bắc Gian. Nội dung biên soạn  
ngắn gọn, dễ hiểu, tích hợp kiến thức và kỹ năng chặt chẽ với nhau, logíc.  
Khi biên soạn, tác giả đã cố gắng cập nhật những kiến thức mới có liên  
quan đến nội dung chương trình đào tạo và phù hợp với mục tiêu đào tạo, nội  
dung lý thuyết và thực hành được biên soạn gắn với nhu cầu thực tế trong sản  
xuất đồng thời có tính thực tiển cao. Nội dung giáo trình được biên soạn với  
dung lượng thời gian đào tạo.  
Trong quá trình sử dụng giáo trình, tuỳ theo yêu cầu cũng như khoa học  
và công nghệ phát triển có thể điều chỉnh thời gian và bổ sung những kiên thức  
mới cho phù hợp. Trong giáo trình, chúng tôi có đề ra nội dung thực tập của  
từng bài để người học cũng cố và áp dụng kiến thức phù hợp với kỹ năng.  
Tuy nhiên, tùy theo điều kiện cơ sở vật chất và trang thiết bị, các trường  
có thề sử dụng cho phù hợp. Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng  
được mục tiêu đào tạo nhưng không tránh được những khiếm khuyết. Rất mong  
nhận được đóng góp ý kiến của các thầy, cô giáo, bạn đọc để nhóm biên soạn sẽ  
hiệu chỉnh hoàn thiện hơn.  
Tổ bộ môn Tin học  
3
MỤC LỤC  
Chương 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH................................................................. 8  
I
Mục tiêu ....................................................................................................................... 8  
II Giới thiệu ..................................................................................................................... 8  
III Hệ điều hành là gì?................................................................................................... 9  
III.1  
Tầm nhìn người dùng.....................................................................................10  
111.2 Tầm nhìn hệ thống..........................................................................................10  
IV Hệ thống mainframe ..............................................................................................12  
IV.1 Hệ thống bó...........................................................................................................12  
IV.2 Hệ đa chương........................................................................................................13  
IV.3 Hệ chia thời...........................................................................................................14  
V
Hệ để bàn (Desktop system).....................................................................................15  
VI Hệ đa xử lý ..............................................................................................................16  
VII Hệ phân tán.............................................................................................................18  
VII.1 Hệ khách hàng-máy phục vụ.............................................................................18  
VII.2 Hệ ngang hàng ....................................................................................................19  
VIII  
IX Hệ thời thực ............................................................................................................21  
Hệ xách tay ................................................................................................................22  
X
XI Tóm tắt ....................................................................................................................22  
Chương 2: CẤU TRÚC HỆ ĐIỀU HÀNH .........................................................................24  
I
Mục đích ....................................................................................................................24  
II Giới thiệu ...................................................................................................................24  
III.1  
III.2  
Quản lý bộ nhớ chính .....................................................................................25  
111.5 Quản lý việc lưu trữ phụ ................................................................................27  
111.8 Hệ thống thông dịch lệnh ...............................................................................28  
V
Lời gọi hệ thống.........................................................................................................31  
VII Cấu trúc hệ thống...................................................................................................33  
VII.1 Cấu trúc đơn giản...............................................................................................33  
VII.3 Vi nhân (Microkernels)......................................................................................36  
VIII  
VIII.1 Cài đặt................................................................................................................39  
VIII.2 Lợi điểm .......................................................................................................39  
Máy ảo .................................................................................................................37  
IX Tóm tắt ....................................................................................................................40  
CHƯƠNG 3: QUẢN LÝ TIẾN TRÌNH .............................................................................40  
I
Mục đích ....................................................................................................................40  
II Giới thiệu ...................................................................................................................40  
III.1  
III.2  
III.3  
Quá trình..........................................................................................................41  
Trạng thái quá trình.......................................................................................41  
Khối điều khiển quá trình..............................................................................42  
4
5
V
Cấp phát bộ nhớ liên tục ..........................................................................................81  
V.1 Bảo vệ bộ nhớ......................................................................................................81  
V.2 Hệ thống đơn chương ............................................................................................82  
V.  
6 Phân mãnh........................................................................................................90  
VI. 1 Phân trang........................................................................................................91  
VI.1.1 Phương pháp cơ bản .....................................................................................92  
VI.1.2 Hỗ trợ phần cứng ..........................................................................................97  
VI.1.3 Sự bảo vệ........................................................................................................99  
VI.1.5 Trang được chia sẻ......................................................................................106  
VI.2 Phân đoạn ...........................................................................................................107  
VI.2.1 Phương pháp cơ bản ...................................................................................108  
VI.2.2 Phần cứng ....................................................................................................109  
VI.3 Phân đoạn với phân trang .................................................................................114  
VII Tóm tắt ..................................................................................................................116  
Chương 6: HỆ THỐNG TẬP TIN ....................................................................................117  
I
Mục đích ..................................................................................................................117  
II Giới thiệu .................................................................................................................117  
III Khái niệm tập tin..................................................................................................118  
111.2 Thao tác tập tin .............................................................................................119  
111.3 Các kiểu tập tin .............................................................................................120  
111.4 Cấu trúc tập tin.............................................................................................120  
IV Các phương pháp truy xuất ................................................................................121  
IV. 1 Truy xuất tuần tự ..........................................................................................121  
IV. 2 Truy xuất trực tiếp ........................................................................................122  
V
Cấu trúc thư mục....................................................................................................124  
V.  
V.  
V.  
3 Cấu trúc thư mục dạng cây ..........................................................................128  
VI Gắn hệ thống tập tin ............................................................................................134  
VII Chia sẻ tập tin.......................................................................................................136  
VII.1 Nhiều người dùng .............................................................................................136  
VII.2 Hệ thống tập tin ở xa ........................................................................................136  
VIII  
Bảo vệ.................................................................................................................137  
VIII.2  
VIII.3  
IX Tóm tắt ..................................................................................................................139  
Chương 7: CÀI ĐẶT HỆ THỐNG TẬP TIN ..................................................................140  
I
Mục đích ..................................................................................................................140  
II Giới thiệu .................................................................................................................140  
6
IV Cài đặt hệ thống tập tin .......................................................................................143  
IV. 1 Tổng quan.......................................................................................................143  
IV. 2 Hệ thống tập tin ảo ........................................................................................146  
V
Cài đặt thư mục.......................................................................................................147  
V.  
V.  
2 Bảng băm........................................................................................................148  
VI Các phương pháp cấp phát .................................................................................148  
VI. 1 Cấp phát kề ....................................................................................................149  
VI.3 Cấp phát được lập chỉ mục ...............................................................................154  
VI.4 Năng lực ..............................................................................................................156  
VII.  
VII.  
1 Bit vector.....................................................................................................157  
2 Danh sách liên kết......................................................................................158  
VII.3 Nhóm..................................................................................................................159  
VII.4 Bộ đếm ...............................................................................................................159  
VIII  
Tóm tắt...............................................................................................................159  
7
Chương 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH  
I
Mục tiêu  
Sau khi học xong chương này, người học nắm được những kiến thức sau:  
o Hiểu vai trò của hệ điều hành trong hệ thống máy tính  
o Biết các giai đoạn phát triển của hệ điều hành  
o Hiểu sự khác biệt của các hệ điều hành qua từng giai đoạn  
o Hiểu cách giải quyết các vấn đề phát sinh trong từng hệ điều hành  
II Giới thiệu  
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  
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  
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ụ  
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ế  
hiệu quả hoặc kết hợp cả hai.  
Để 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  
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ừ  
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  
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  
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ệ  
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  
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  
thực hiện chúng.  
III Hệ điều hành là gì?  
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ệ 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 chương trình ứng dụng và người dùng.  
- Phần cứng (Hardware): bao gồm bộ xử lý trung tâm (CPU), bộ nhớ, thiết bị  
xuất/nhập,..cung cấp tài nguyên cơ bản cho hệ thống.  
- Các chương trình ứng dụng (application programs): trình biên dịch  
(compiler), trình soạn thảo văn bản (text editor), hệ cơ sở dữ liệu (database  
system), trình duyệt Web,..định nghĩa cách mà trong đó các tài nguyên  
được sử dụng để giải quyết yêu cầu của người dùng.  
- Người dùng (user): có nhiều loại người dùng khác nhau, thực hiện những yêu  
cầu khác nhau, do đó sẽ có nhiều ứng dụng khác nhau.  
- Hệ điều hành (operating system): hay còn gọi là chương trình hệ thống, đ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 ứng  
dụng khác nhau cho những người dùng khác nhau. Hệ điều hành có thể  
được khám phá từ hai phía: người dùng và hệ thống.  
8
 
Hình 0-1 Tầm nhìn trừu tượng các thành phần của một hệ thống máy tính  
III.1 Tầm nhìn người dùng  
Tầm nhìn người dùng của máy tính rất đa dạng bởi giao diện được dùng. Hầu  
hết những người dùng máy tính ngồi trước máy tính cá nhân gồm có màn hình, bàn  
phím, chuột và bộ xử lý hệ thống (system unit). Một hệ thống như thế được thiết kế  
cho một người dùng độc quyền sử dụng tài nguyên của nó để tối ưu hoá công việc mà  
người dùng đang thực hiện. Trong trường hợp này, hệ điều hành được thiết kế dễ dàng  
cho việc sử dụng với sự quan tâm về năng lực nhưng không quan tới việc sử dụng tài  
nguyên. Năng lực thực hiện là quan trọng với người dùng nhưng không là vấn đề nếu  
hầu hết hệ thống đang rãnh, chờ tốc độ xuất/nhập chậm từ phía người dùng.  
Vài người dùng ngồi tại thiết bị đầu cuối (terminal) được nối kết tới máy tính  
lớn (mainframe) hay máy tính tầm trung (minicomputer). Những người khác đang  
truy xuất cùng máy tính thông qua các thiết bị đầu cuối khác. Những người dùng này  
chia sẻ các tài nguyên và có thể trao đổi thông tin. Hệ điều hành được thiết kế để tối  
ưu hoá việc sử dụng tài nguyên-để đảm bảo rằng tất cả thời gian sẳn dùng của CPU,  
bộ nhớ và thiết bị xuất nhập được sử dụng hữu hiệu và không cá nhân người dùng sử  
dụng độc quyền tài nguyên hơn là chia sẻ công bằng.  
Những người dùng khác ngồi tại trạm làm việc, được nối kết tới mạng của các  
trạm làm việc khác và máy chủ. Những người dùng này có tài nguyên tận hiến là trạm  
làm việc của mình nhưng họ cũng chia sẻ các tài nguyên trên mạng và các máy chủ-  
tập tin, tính toán và các máy phục vụ in. Do đó, hệ điều hành của họ được thiết kế để  
thoả hiệp giữa khả năng sử dụng cá nhân và việc tận dụng tài nguyên.  
Gần đây, sự đa dạng của máy tính xách tay trở thành thời trang cho những  
người làm việc trong lãnh vực công nghệ thông tin. Các thiết bị này được sử dụng chỉ  
bởi cá nhân người dùng. Một vài máy tính này được nối mạng hoặc nối trực tiếp bằng  
dây hay thông qua các modem không dây. Do sự giới hạn về năng lượng (điện) và  
giao diện, chúng thực hiện tương đối ít các thao tác ở xa. Hệ điều hành được thiết kế  
chủ yếu cho việc sử dụng cá nhân nhưng năng lực thực hiện trên thời gian sống của  
pin cũng là yếu tố quan trọng.  
Một số máy tính có rất ít hay không có tầm nhìn người dùng. Thí dụ, các máy  
tính được nhúng vào các thiết bị gia đình và xe ôtô có thể có một bảng số và các đèn  
hiển thị trạng thái mở, tắt nhưng hầu hết chúng và các hệ điều hành được thiết kế để  
9
 
chạy mà không cần giao tiếp.  
111.2 Tầm nhìn hệ thống  
Từ quan điểm của máy tính, hệ điều hành là chương trình gần gủi với phần  
cứng. Chúng ta có thể thấy một hệ điều hành như bộ cấp phát tài nguyên. Hệ thống  
máy tính có nhiều tài nguyên - phần cứng và phần mềm - mà có thể được yêu cầu để  
giải quyết một vấn đề: thời gian CPU, không gian bộ nhớ, không gian lưu trữ tập tin,  
các thiết bị xuất/nhập,..Hệ điều hành hoạt động như bộ quản lý tài nguyên. Đương đầu  
với một lượng lớn các yêu cầu có thể xung đột về tài nguyên, hệ điều hành phải quyết  
định cách cấp phát tài nguyên tới những chương trình cụ thể và người dùng để có thể  
điều hành hệ thống máy tính hữu hiệu và công bằng.  
Một tầm nhìn khác của hệ điều hành nhấn mạnh sự cần thiết để điều khiển các  
thiết bị xuất/nhập khác nhau và chương trình người dùng. Một hệ điều hành là một  
chương trình điều khiển. Chương trình điều khiển quản lý sự thực thi của các chương  
trình người dùng để ngăn chặn lỗi và việc sử dụng không hợp lý máy tính. Nó đặc biệt  
quan tâm với những thao tác và điều khiển các thiết bị nhập/xuất.  
Nhìn chung, không có định nghĩa hoàn toàn đầy đủ về hệ điều hành. Các hệ  
điều hành tồn tại vì chúng là cách hợp lý để giải quyết vấn đề tạo ra một hệ thống máy  
tính có thể sử dụng. Mục tiêu cơ bản của hệ thống máy tính là thực thi chương trình  
người dùng và giải quyết vấn đề người dùng dễ dàng hơn. Hướng đến mục tiêu này,  
phần cứng máy tính được xây dựng. Tuy nhiên, chỉ đơn thuần là phần cứng thì không  
dễ sử dụng và phát triển các chương trình ứng dụng. Các chương trình khác nhau này  
đòi hỏi những thao tác chung nào đó, chẳng hạn như điều khiển thiết bị xuất/nhập. Sau  
đó, những chức năng chung về điều khiển và cấp phát tài nguyên được đặt lại với  
nhau vào một bộ phận phần mềm gọi là hệ điều hành.  
Cũng không có định nghĩa bao quát nào được chấp nhận để xác định phần gì  
thuộc về hệ điều hành, phần gì không. Một quan điểm đơn giản là mọi thứ liên quan  
khi chúng ta ra lệnh hệ điều hành nên được xem xét. Tuy nhiên, những yêu cầu về bộ  
nhớ và những đặc điểm bên trong rất khác nhau trong từng hệ thống. Một định nghĩa  
bao quát hơn về hệ điều hành là một chương trình chạy liên tục trên máy tính (thường  
gọi là nhân kernel), những chương trình còn lại thuộc về chương trình ứng dụng.  
111.3 Mục tiêu hệ thống  
Định nghĩa những gì hệ điều hành làm thì dễ hơn xác định hệ điều hành là gì.  
Mục đích chính của hệ điều hành là dễ dàng sử dụng. Vì sự tồn tại của hệ điều hành  
hỗ trợ nhiều cho máy tính trong việc đáp ứng các ứng dụng của người dùng. Tầm nhìn  
này đặc biệt rõ ràng hơn khi nhìn hệ điều hành trên các máy tính cá nhân.  
Mục tiêu thứ hai của hệ điều hành là điều hành hữu hiện hệ thống máy tính.  
Mục tiêu này đặc biệt quan trọng cho các hệ thống lớn, được chia sẻ, nhiều người  
dùng. Những hệ thống tiêu biểu này khá đắt, khai thác hiệu quả nhất các hệ thống này  
luôn là điều mong muốn. Tuy nhiên, hai mục tiêu tiện dụng và hữu hiệu đôi khi mâu  
thuẫn nhau. Trong quá khứ, xem xét tính hữu hiệu thường quan trọng hơn tính tiện  
dụng. Do đó, lý thuyết hệ điều hành tập trung nhiều vào việc tối ưu hoá sử dụng tài  
nguyên tính toán. Hệ điều hành cũng phát triển dần theo thời gian. Thí dụ, UNIX bắt  
10  
 
đầu với bàn phím và máy in như giao diện của nó giới hạn tính tiện dụng đối với  
người dùng. Qua thời gian, phần cứng thay đổi và UNIX được gắn vào phần cứng mới  
với giao diện thân thiện với người dùng hơn. Nhiều giao diện người dùng đồ hoạ  
GUIs (graphical user interfaces) được bổ sung cho phép tiện dụng hơn với người dùng  
trong khi vẫn quan tâm tính hiệu quả.  
Thiết kế hệ điều hành là một công việc phức tạp. Người thiết kế gặp phải nhiều  
sự thoả hiệp trong thiết kế và cài đặt. Nhiều người tham gia không chỉ mang đến hệ  
điều hành những lợi điểm mà còn liên tục xem xét và nâng cấp. Để thấy rõ những hệ  
điều hành là gì và những gì hệ điều hành làm, chúng ta xem xét cách chúng phát triển  
trong bốn mươi lăm năm qua. Bằng cách lần theo sự tiến triển, chúng ta có thể xác  
định những thành phần của hệ điều hành và thấy cách thức và lý do hệ điều hành phát  
triển như chúng có.  
Hệ điều hành và kiến trúc máy tính có mối quan hệ khăng khít nhau. Để dễ  
dàng sử dụng phần cứng, hệ điều hành được phát triển. Sau đó, các người dùng hệ  
điều hành đề nghị những chuyển đổi trong thiết kế phần cứng để đơn giản chúng.  
Nhìn lại lịch sử ngắn ngủi này, chú trọng cách giải quyết những vấn đề về hệ điều  
hành để giới thiệu những đặc điểm phần cứng.  
IV Hệ thống mainframe  
Những hệ thống máy tính mainframe là những máy tính đầu tiên được dùng để  
xử lý ứng dụng thương mại và khoa học. Trong phần này, chúng ta lần theo sự phát  
triển của hệ thống mainframe từ các hệ thống bó (batch systems), ở đó máy tính chỉ  
chạy một-và chỉ một -ứng dụng, tới các hệ chia sẻ thời gian (time-shared systems), mà  
cho phép người dùng giao tiếp với hệ thống máy tính.  
IV.1 Hệ thống bó  
Những máy tính thời kỳ đầu là những máy cực lớn chạy từ một thiết bị cuối  
(console). Những thiết bị nhập thường là những bộ đọc thẻ và các ổ đĩa băng từ. Các  
thiết bị xuất thông thường thường là những máy in dòng (line printers), các ổ đĩa từ và  
các phiếu đục lỗ. Người dùng không giao tiếp trực tiếp với các hệ thống máy tính.  
Thay vào đó, người dùng chuẩn bị một công việc- chứa chương trình, dữ liệu và các  
thông tin điều khiển về tính tự nhiên của công việc-và gởi nó đến người điều hành  
máy tính. Công việc này thường được thực hiện trong các phiếu đục lỗ. Tại những  
thời điểm sau đó (sau vài phút, giờ hay ngày), dữ liệu xuất xuất hiện. Dữ liệu xuất  
chứa kết quả chương trình cũng như kết xuất bộ nhớ cuối cùng và nội dung các thanh  
ghi cho việc gở rối.  
Hệ điều hành trong các máy tính thời kỳ đầu này tương đối đơn giản. Tác vụ  
chính là chuyển điều khiển tự động từ một công việc này sang công việc khác. Hệ  
điều hành luôn được thường trú trong bộ nhớ.  
11  
 
Hình 0-2 Sắp xếp bộ nhớ cho một hệ thống bó đơn giản  
Để tăng tốc việc xử lý, người điều hành bó các công việc có cùng yêu cầu và  
chạy chúng thông qua máy tính như một nhóm. Do đó, các lập trình viên sẽ đưa  
chương trình của họ cho người điều hành. Người điều hành sẽ sắp xếp chương trình  
thành những bó với cùng yêu cầu và khi máy tính sẳn dùng sẽ chạy mỗi bó này. Dữ  
liệu xuất từ mỗi công việc sẽ gởi lại cho lập trình viên tương ứng.  
Trong môi trường thực thi này, CPU luôn rảnh vì tốc độ của các thiết bị  
xuất/nhập dạng cơ thực chất chậm hơn tốc độ của các thiết bị điện. Ngay cả một CPU  
chậm (với hàng ngàn chỉ thị lệnh được thực thi trên giây) cũng chỉ làm việc trong vài  
phần trăm giây. Thêm vào đó, một bộ đọc thẻ nhanh có thể đọc 1200 thẻ trong thời  
gian 1 phút (hay 20 thẻ trên giây). Do đó, sự khác biệt giữa tốc độ CPU và thiết bị  
xuất/nhập của nó có thể là 3 lần hay nhiều hơn. Dĩ nhiên theo thời gian, sự tiến bộ  
trong công nghệ dẫn đến sự ra đời những thiết bị nhập/xuất nhanh hơn. Tuy nhiên, tốc  
độ CPU tăng tới một tỷ lệ lớn hơn vì thế vấn đề không những không được giải quyết  
mà còn làm tăng.  
Giới thiệu công nghệ đĩa cho phép hệ điều hành giữ tất cả công việc trên một  
đĩa hơn trong một bộ đọc thẻ tuần tự. Với việc truy xuất trực tiếp tới nhiều công việc,  
hệ điều hành có thể thực hiện định thời công việc, để sử dụng tài nguyên và thực hiện  
các tác vụ hữu hiệu.  
IV.2 Hệ đa chương  
Một khía cạnh quan trọng nhất của định thời công việc là khả năng đa chương.  
Thông thường, một người dùng giữ CPU hay các thiết bị xuất/nhập luôn bận. Đa  
chương gia tăng khả năng sử dụng CPU bằng cách tổ chức các công việc để CPU luôn  
có một công việc để thực thi.  
Ý tưởng của kỹ thuật đa chương có thể minh hoạ như sau: Hệ điều hành giữ  
nhiều công việc trong bộ nhớ tại một thời điểm. Tập hợp các công việc này là tập con  
của các công việc được giữ trong vùng công việc-bởi vì số lượng các công việc có thể  
được giữ cùng lúc trong bộ nhớ thường nhỏ hơn số công việc có thể có trong vùng  
đệm. Hệ điều hành sẽ lấy và bắt đầu thực thi một trong các công việc có trong bộ nhớ.  
Cuối cùng, công việc phải chờ một vài tác vụ như một thao tác xuất/nhập để hoàn  
thành. Trong hệ thống đơn chương, CPU sẽ chờ ở trạng thái rỗi. Trong hệ thống đa  
12  
 
chương, hệ điều hành sẽ chuyển sang thực thi công việc khác. Cuối cùng, công việc  
đầu tiên kết thúc việc chờ và nhận CPU trở lại. Chỉ cần ít nhất một công việc cần thực  
thi, CPU sẽ không bao giờ ở trạng thái rỗi.  
Hình 0-3 Sắp xếp bộ nhớ cho hệ đa chương  
Đa chương là một trường hợp đầu tiên khi hệ điều hành phải thực hiện quyết định cho  
những người dùng. Do đó, hệ điều hành đa chương tương đối tinh vi. Tất cả công việc  
đưa vào hệ thống được giữ trong vùng công việc. Vùng này chứa tất cả quá trình định  
vị trên đĩa chờ được cấp phát bộ nhớ chính. Nếu nhiều công việc sẳn sàng được mang  
vào bộ nhớ và nếu không đủ không gian cho tất cả thì hệ điều hành phải chọn một  
trong chúng. Khi hệ điều hành chọn một công việc từ vùng công việc, nó nạp công  
việc đó vào bộ nhớ để thực thi. Có nhiều chương trình trong bộ nhớ tại cùng thời điểm  
yêu cầu phải có sự quản lý bộ nhớ. Ngoài ra, nếu nhiều công việc sẳn sàng chạy cùng  
thời điểm, hệ thống phải chọn một trong chúng. Thực hiện quyết định này là định thời  
CPU. Cuối cùng, nhiều công việc chạy đồng hành đòi hỏi hoạt động của chúng có thể  
ảnh hưởng tới một công việc khác thì bị hạn chế trong tất cả giai đoạn của hệ điều  
hành bao gồm định thời quá trình, lưu trữ đĩa, quản lý bộ nhớ.  
IV.3 Hệ chia thời  
Hệ thống bó-đa chương cung cấp một môi trường nơi mà nhiều tài nguyên  
khác nhau (chẳng hạn như CPU, bộ nhớ, các thiết bị ngoại vi) được sử dụng hiệu quả.  
Tuy nhiên, nó không cung cấp giao tiếp người dùng với hệ thống máy tính. Chia thời  
(hay đa nhiệm) là sự mở rộng luận lý của đa chương. CPU thực thi nhiều công việc  
bằng cách chuyển đổi qua lại giữa chúng, nhưng những chuyển đổi xảy ra quá thường  
xuyên để người dùng có thể giao tiếp với mỗi chương trình trong khi chạy.  
Một hệ thống máy tính giao tiếp (interactive computer) hay thực hành (hands-  
on computer system) cung cấp giao tiếp trực tuyến giữa người dùng và hệ thống.  
Người dùng cho những chỉ thị tới hệ điều hành hay trực tiếp tới một chương trình, sử  
dụng bàn phím hay chuột và chờ nhận kết quả tức thì. Do đó, thời gian đáp ứng nên  
ngắn-điển hình trong phạm vi 1 giây hay ít hơn.  
Một hệ thống chia thời cho phép nhiều người dùng chia sẻ máy tính cùng một  
thời điểm. Vì mỗi hoạt động hay lệnh trong hệ chia thời được phục vụ ngắn, chỉ một ít  
thời gian CPU được yêu cầu cho mỗi người dùng. Khi hệ thống nhanh chóng chuyển  
13  
 
từ một người dùng này sang người dùng kế, mỗi người dùng được cho cảm giác rằng  
toàn bộ hệ thống máy tính được tận hiến cho mình, nhưng thật sự máy tính đó đang  
được chia sẻ cho nhiều người dùng.  
Một hệ điều hành chia thời sử dụng định thời CPU và đa chương để cung cấp  
mỗi người dùng với một phần nhỏ của máy tính chia thời. Mỗi người dùng có ít nhất  
một chương trình riêng trong bộ nhớ. Một chương trình được nạp vào trong bộ nhớ và  
thực thi thường được gọi là một quá trình. Khi một quá trình thực thi, điển hình nó  
thực thi chỉ tại một thời điểm ngắn trước khi nó kết thúc hay cần thực hiện xuất/nhập.  
Xuất/nhập có thể được giao tiếp; nghĩa là dữ liệu xuất hiển thị trên màn hình cho  
người dùng và dữ liệu nhập từ bàn phím, chuột hay thiết bị khác. Vì giao tiếp  
xuất/nhập chủ yếu chạy ở “tốc độ người dùng”, nó có thể mất một khoảng thời gian  
dài để hoàn thành. Thí dụ, dữ liệu nhập có thể bị giới hạn bởi tốc độ nhập của người  
dùng; 7 ký tự trên giây là nhanh đối với người dùng, nhưng quá chậm so với máy tính.  
Thay vì để CPU rảnh khi người dùng nhập liệu, hệ điều hành sẽ nhanh chóng chuyển  
CPU tới một chương trình khác.  
Hệ điều hành chia thời phức tạp hơn nhiều so với hệ điều hành đa chương.  
Trong cả hai dạng, nhiều công việc được giữ cùng lúc trong bộ nhớ vì thế hệ thống  
phải có cơ chế quản lý bộ nhớ và bảo vệ. Để đạt được thời gian đáp ứng hợp lý, các  
công việc có thể được hoán vị vào ra bộ nhớ chính. Một phương pháp chung để đạt  
mục tiêu này là bộ nhớ ảo, là kỹ thuật cho phép việc thực thi của một công việc có thể  
không hoàn toàn ở trong bộ nhớ. Ưu điểm chính của cơ chế bộ nhớ ảo là các chương  
trình có thể lớn hơn bộ nhớ vật lý. Ngoài ra, nó trừu tượng hoá bộ nhớ chính thành  
mảng lưu trữ lớn và đồng nhất, chia bộ nhớ luận lý như được thấy bởi người dùng từ  
bộ nhớ vật lý. Sự sắp xếp này giải phóng lập trình viên quan tâm đến giới hạn lưu trữ  
của bộ nhớ.  
Các hệ chia thời cũng phải cung cấp một hệ thống tập tin. Hệ thống tập tin  
định vị trên một tập hợp đĩa; do đó quản lý đĩa phải được cung cấp. Hệ chia thời cũng  
cung cấp cơ chế cho việc thực thi đồng hành, yêu cầu cơ chế định thời CPU tinh vi.  
Để đảm bảo thứ tự thực thi, hệ thống phải cung cấp các cơ chế cho việc đồng bộ hoá  
và giao tiếp công việc, và có thể đảm bảo rằng các công việc không bị deadlock, chờ  
đợi công việc khác mãi mãi.  
Ý tưởng chia thời được giới thiệu trong những năm 1960, nhưng vì hệ chia  
thời là phức tạp và rất đắt để xây dựng, chúng không phổ biến cho tới những năm  
1970. Mặc dù xử lý theo bó vẫn được thực hiện nhưng hầu hết hệ thống ngày nay là  
chia thời. Do đó, đa chương và chia thời là những chủ đế trung tâm của hệ điều hành  
hiện đại và chúng là chủ đề trọng tâm của giáo trình này.  
V
Hệ để bàn (Desktop system)  
Máy tính cá nhân (PC) xuất hiện vào những năm 1970. Trong suốt thập niên  
đầu, CPU trong PC thiếu các đặc điểm cần thiết để bảo vệ hệ điều hành từ chương  
trình người dùng. Do đó, các hệ điều hành PC không là đa người dùng hoặc đa nhiệm.  
Tuy nhiên, các mục tiêu của hệ điều hành này thay đổi theo thời gian; thay vì tối ưu  
hoá việc sử dụng CPU và thiết bị ngoại vi, các hệ thống chọn lựa tối ưu hoá sự tiện  
14  
 
dụng và đáp ứng người dùng. Các hệ thống này gồm các PC chạy các hệ điều hành  
Microsoft Windows và Apple Macintosh. Hệ điều hành MS-DOS từ Microsoft được  
thay thế bằng nhiều ấn bản của Microsoft Windows và IBM đã nâng cấp MS-DOS  
thành hệ đa nhiệm OS/2. Hệ điều hành Apple Macintosh được gắn nhiều phần cứng  
hiện đại hơn và ngày nay chứa nhiều đặc điểm mới như bộ nhớ ảo và đa nhiệm. Với  
sự phát hành MacOS X, lõi của hệ điều hành ngày nay dựa trên Mach và FreeBSD  
UNIX cho sự mở rộng, năng lực và đặc điểm nhưng nó vẫn giữ lại giao diện đồ hoạ  
người dùng GUI. LINUX, một hệ điều hành tương tự như UNIX sẳn dùng cho máy  
PC trở nên phổ biến gần đây.  
Hệ điều hành cho các máy tính này có những thuận lợi trong nhiều cách từ sự  
phát triển của hệ điều hành cho mainframes. Máy vi tính (microcomputer) lập tức có  
thể được chấp nhận một số công nghệ được phát triển cho hệ điều hành lớn hơn. Thêm  
vào đó, chi phí phần cứng cho máy vi tính đủ thấp để các cá nhân có thể một mình sử  
dụng máy tính, và sử dụng CPU không còn quan trọng nữa. Do đó, những quyết định  
thiết kế được thực hiện trong hệ điều hành cho mainframes có thể không hợp lý cho  
các hệ thống nhỏ hơn.  
Những quyết định thiết kế khác vẫn được áp dụng. Thí dụ, trước hết bảo vệ hệ  
thống tập tin không cần thiết trên máy cá nhân. Tuy nhiên, hiện nay các máy tính này  
thường được nối vào các máy tính khác qua mạng cục bộ hay Internet. Khi những  
máy tính khác và người dùng khác có thể truy xuất các tập tin này trên một PC, bảo vệ  
tập tin một lần nữa cũng trở thành một đặc điểm cần thiết của hệ điều hành. Sự thiếu  
bảo vệ tạo điều kiện dễ dàng cho những chương trình hiểm phá huỷ dữ liệu trên những  
hệ thống như MS-DOS và hệ điều hành Macintosh. Các chương trình này có thể tự  
nhân bản và phát tán nhanh chóng bằng cơ chế worm hay virus và làm tê liệt mạng  
của các công ty hay thậm chí mạng toàn cầu. Đặc điểm chia thời được cải tiến như bộ  
nhớ bảo vệ và quyền tập tin là chưa đủ để bảo vệ một hệ thống từ sự tấn công.  
VI Hệ đa xử lý  
Hầu hết các hệ thống ngày nay là các hệ thống đơn xử lý; nghĩa là chỉ có một  
CPU chính. Tuy nhiên, các hệ thống đa xử lý (hay còn gọi là hệ song song hay hệ kết  
nối chặt) được phát triển rất quan trọng. Các hệ thống như thế có nhiều hơn một bộ xử  
lý trong giao tiếp gần, chia sẻ bus máy tính, đồng hồ, đôi khi còn là bộ nhớ hay thiết  
bị ngoại vi.  
Hệ thống đa xử lý có ba ưu điểm chính:  
o Thông lượng được gia tăng: bằng cách tăng số lượng bộ xử lý, chúng ta hy  
vọng thực hiện nhiều công việc hơn với thời gian ít hơn. Tỉ lệ giữa sự tăng  
tốc với N bộ xử lý không là N; đúng hơn nó nhỏ hơn N. Trong khi nhiều bộ  
xử lý cộng tác trên một công việc, một lượng chi phí phải chịu trong việc  
giữ các thành phần làm việc phù hợp. Chi phí này cộng với chi phí cạnh  
tranh tài nguyên được chia sẻ, làm giảm kết quả được mong đợi từ những  
bộ xử lý bổ sung. Tương tự như một nhóm gồm N lập trình viên làm việc  
với nhau không dẫn đến kết quả công việc đang đạt được tăng N lần.  
o Tính kinh tế của việc mở rộng: hệ thống đa xử lý có thể tiết kiệm nhiều chi  
15  
 
phí hơn hệ thống đơn bộ xử lý, bởi vì chúng có thể chia sẻ ngoại vi, thiết bị  
lưu trữ và điện. Nếu nhiều chương trình điều hành trên cùng tập hợp dữ liệu  
thì lưu trữ dữ liệu đó trên một đĩa và tất cả bộ xử lý chia sẻ chúng sẽ rẻ hơn  
là có nhiều máy tính với đĩa cục bộ và nhiều bản sao dữ liệu.  
o Khả năng tin cậy được gia tăng: nếu các chức năng được phân bổ hợp lý  
giữa các bộ xử lý thì lỗi trên một bộ xử lý sẽ không dừng hệ thống, chỉ  
năng lực bị giảm. Nếu chúng ta có 10 bộ xử lý và có 1 bộ xử lý bị sự cố thì  
mỗi bộ xử lý trong 9 bộ xử lý còn lại phải chia sẻ của công việc của bộ xử  
lý bị lỗi. Do đó, toàn bộ hệ thống chỉ giảm 10% năng lực hơn là dừng hoạt  
động. Các hệ thống được thiết kế như thế được gọi là hệ thống có khả năng  
chịu lỗi (fault tolerant).  
Việc điều hành vẫn tiếp tục trong sự hiện diện của lỗi yêu cầu một cơ chế cho  
phép lỗi được phát hiện, chuẩn đoán và sửa lỗi nếu có thể. Hệ thống Tandem sử dụng  
sự nhân đôi phần cứng và phần mềm để đảm bảo sự điều hành vẫn tiếp tục mặc dù có  
lỗi xảy ra. Hệ thống này chứa hai bộ xử lý, mỗi bộ xử lý có bộ nhớ cục bộ riêng. Các  
bộ xử lý được nối kết bởi một bus. Một bộ xử lý chính và bộ xử lý kia là dự phòng.  
Cả hai bản sao được giữ ở mỗi bộ xử lý: một là chính và một là dự phòng. Tại các  
điểm kiểm tra (checkpoints) trong việc thực thi của hệ thống, thông tin trạng thái của  
mỗi công việc-gồm một bản sao hình ảnh bộ nhớ-được chép từ máy chính tới máy dự  
phòng. Nếu một lỗi được phát hiện, bản sao dự phòng được kích hoạt và được khởi  
động lại từ điểm kiểm tra mới nhất. Giải pháp này đắt vì nó bao gồm việc nhân đôi  
phần cứng.  
Các hệ thống đa xử lý thông dụng nhất hiện nay sử dụng đa xử lý đối xứng  
(symmetric multiprocessing-SMP). Trong hệ thống này mỗi bộ xử lý chạy bản sao của  
hệ điều hành và những bản sao này giao tiếp với các bản sao khác khi cần. Vài hệ  
thống sử dụng đa xử lý bất đối xứng (asymmetric multiprocessing). Trong hệ thống  
này mỗi bộ xử lý được gán một công việc xác định. Một bộ xử lý chủ điều khiển hệ  
thống; những bộ xử lý còn lại hoặc chờ bộ xử lý chủ ra chỉ thị hoặc có những tác vụ  
được định nghĩa trước. Cơ chế này định nghĩa mối quan hệ chủ-tớ. Bộ xử lý chính lập  
thời biểu và cấp phát công việc tới các bộ xử lý tớ.  
Đa xử lý đối xứng có nghĩa tất cả bộ xử lý là ngang hàng; không có mối quan  
hệ chủ-tớ tồn tại giữa các bộ xử lý. Hình I-4 minh hoạ một kiến trúc đa xử lý đối xứng  
điển hình. Một thí dụ của đa xử lý đối xứng là ấn bản của Encore của UNIX cho máy  
tính Multimax. Máy tính này có thể được cấu hình như nó đang thực hiện nhiều bộ xử  
lý, tất cả bộ xử lý đều chạy bản sao của UNIX. Ưu điểm của mô hình này là nhiều quá  
trình có thể chạy cùng một lúc - N quá trình có thể chạy nếu có N CPU- không gây ra  
sự giảm sút to lớn về năng lực. Tuy nhiên, chúng ta phải điều khiển cẩn thận  
xuất/nhập để đảm bảo rằng dữ liệu dẫn tới bộ xử lý tương ứng. Vì các CPU là riêng rẻ,  
một CPU có thể đang rảnh trong khi CPU khác quá tải dẫn đến việc sử dụng không  
hữu hiệu tài nguyên của hệ thống. Sự không hiệu quả này có thể tránh được nếu các  
bộ xử lý chia sẻ các cấu trúc dữ liệu. Một hệ thống đa xử lý của dạng này sẽ cho phép  
các quá trình và tài nguyên - như bộ nhớ - được chia sẻ tự động giữa các quá trình  
khác nhau và có thể làm giảm sự khác biệt giữa các bộ xử lý. Hầu như tất cả hệ điều  
hành hiện đại - gồm Windows NT, Solaris, Digital UNIX, OS/2 và LINUX - hiện nay  
16  
cung cấp sự hỗ trợ đa xử lý đối xứng.  
Hình 0-4 Kiến trúc đa xử lý đối xứng  
Sự khác biệt giữa đa xử lý đối xứng và bất đối xứng có thể là do phần cứng  
hoặc phần mềm. Phần cứng đặc biệt có thể khác nhau trên nhiều bộ xử lý, hoặc phần  
mềm có thể được viết để cho phép chỉ một chủ và nhiều tớ. Thí dụ, SunOS ấn bản 4  
cung cấp đa xử lý không đối xứng, ngược lại, ấn bản 5 (Solaris 2) là đối xứng trên  
cùng phần cứng.  
Khi các bộ vi xử lý trở nên rẻ hơn và mạnh hơn các chức năng bổ sung của hệ  
điều hành là chuyển tới bộ xử lý tớ. Thí dụ, tương đối dễ để thêm bộ vi xử lý với bộ  
nhớ riêng để quản lý hệ thống đĩa. Bộ vi xử lý có thể nhận một chuỗi các yêu cầu từ  
bộ nhớ chính và cài đặt hàng đợi đĩa riêng và giải thuật định thời. Sự sắp xếp này làm  
giảm chi phí định thời đĩa của CPU. PC chứa một bộ vi xử lý trong bàn phím để  
chuyển những phím nóng thành mã để gởi tới CPU. Thực tế, việc sử dụng các bộ vi  
xử lý trở nên quá phổ biến đến nổi mà đa xử lý không còn được xem xét.  
VII Hệ phân tán  
Một mạng, trong thuật ngữ đơn giản nhất, là một đường dẫn truyền thông giữa  
hai hay nhiều hệ thống. Hệ phân tán phụ thuộc vào mạng với những khả năng của nó.  
Bằng cách cho phép truyền thông, hệ phân tán có thể chia sẻ các tác vụ tính toán và  
cung cấp nhiều chức năng tới người dùng.  
Các mạng với sự đa dạng về giao thức được dùng, khoảng cách giữa các nút và  
phương tiện truyền. TCP/IP là giao thức mạng phổ biến nhất mặc dù ATM và các giao  
thức khác được sử dụng rộng rãi. Tương tự, hệ điều hành hỗ trợ sự đa dạng về giao  
thức. Hầu hết các hệ điều hành hỗ trợ TCP/IP, gồm Windows và UNIX. Một số hệ  
điều hành khác hỗ trợ các giao thức riêng phù hợp với yêu cầu của chúng. Đối với một  
hệ điều hành, một giao thức mạng chỉ cần một thiết bị giao diện - thí dụ: một card  
mạng-với một trình điều khiển thiết bị để quản lý nó và một phần mềm để đóng gói dữ  
liệu trong giao thức giao tiếp để gởi nó và mở gói để nhận nó.  
Mạng thường dựa trên các khoảng cách giữa các nút. Một mạng cục bộ (LAN-  
Local Area Network) tồn tại trong phạm vi một phòng, một tầng, hay một toà nhà.  
Một mạng diện rộng (Wide-Area Network) thường tồn tại giữa các toà nhà, các thành  
phố, các quốc gia. Một công ty toàn cầu có thể có một mạng diện rộng để nối kết tới  
các văn phòng của nó. Các mạng này có thể chạy với một hay nhiều giao thức. Sự tiến  
bộ liên tục của công nghệ mới hình thành nhiều dạng mạng khác nhau. Thí dụ, mạng  
đô thị (MAN-Metropolitan Area Network) cũng liên kết các toà nhà trong cùng một  
thành phố. Các thiết bị BlueTooth giao tiếp qua một khoảng cách ngắn khoảng vài bộ  
17  
 
(feet), chủ yếu tạo ra một mạng phạm vi nhỏ (small-area network).  
Các phương tiện truyền thông làm các mạng tương đối khác nhau. Chúng gồm  
cáp đồng, cáp quang, truyền không dây giữa vệ tinh, các đĩa vi sóng (microware  
dishes) và sóng radio. Khi các thiết bị tính toán được nối kết tới các điện thoại di  
động, chúng tạo ra một mạng. Thậm chí rất nhiều giao tiếp hồng ngoại dãy ngắn có  
thể được dùng cho mạng. Tại cấp độ cơ bản, bất cứ khi nào các máy tính giao tiếp  
chúng sử dụng hay tạo ra một mạng. Các mạng này cũng rất khác nhau về năng lực và  
khả năng tin cậy.  
VII.1 Hệ khách hàng-máy phục vụ  
Một PC có thể trở nên nhanh hơn, mạnh hơn, rẻ hơn nếu người thiết kế thay đổi rất xa  
từ kiến trúc hệ thống tập trung. Các thiết bị đầu cuối được nối kết tới các hệ tập trung  
hiện nay đang được thay thế bởi các PC. Tương ứng, chức năng giao diện người dùng  
được dùng quản lý trực tiếp bởi các hệ tập trung đang được quản lý tăng dần bởi các  
PC. Do đó, các hệ tập trung ngày nay hoạt động như hệ máy phục vụ để thoả mãn các  
yêu cầu phát sinh bởi hệ thống khách hàng. Đặc điểm chung của hệ khách hàng- máy  
phục vụ được mô tả trong hình-I-5:  
Hình 0-5 Cấu trúc chung của hệ khách hàng-máy phục vụ  
Các hệ máy chủ có thể được phân loại rộng rãi như máy phục vụ tính toán và máy  
phục vụ tập tin  
o Hệ máy phục vụ tính toán (Compute-server systems): cung cấp giao diện  
mà khách hàng có thể gởi các yêu cầu để thực hiện hoạt động. Chúng thực  
thi hoạt động và gởi kết quả cho khách hàng.  
o Hệ máy phục vụ tập tin (File-server systems ): cung cấp một giao diện hệ  
thống tập tin nơi khách hàng có thể tạo, cập nhật, đọc và xoá tập tin.  
VII.2 Hệ ngang hàng  
Sự phát triển của mạng máy tính-đặc biệt là Internet và Word Wide Web  
(WWW)-có ảnh hưởng sâu sắc đến sự phát triển gần đây của hệ điều hành. Khi PC  
được giới thiệu vào những năm 1970, chúng được thiết kế cho việc sử dụng “cá nhân”  
và thường được xem như là các máy tính đơn lẻ (standalone computer). Với việc bắt  
đầu sử dụng Internet phổ biến và rộng rãi vào những năm 1980 với e-mail, ftp,  
gopher, nhiều PC được nối vào mạng máy tính. Với sự giới thiệu dịch vụ Web vào  
giữa những năm 1990, nối kết mạng trở thành một thành phần quan trọng của một hệ  
thống mạng máy tính.  
18  
 
Tải về để xem bản đầy đủ
pdf 163 trang yennguyen 17900 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình mô đun Nguyên lý hệ điều hành - Nghề: Quản trị mạ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_mo_dun_nguyen_ly_he_dieu_hanh_nghe_quan_tri_mang.pdf