Tải bản đầy đủ (.ppt) (50 trang)

NGUYÊN LÝ HỆ ĐIỀU HÀNH (3 Tín chỉ) GV: Đỗ Công Đức Khoa khoa học máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 50 trang )

NGUN LÝ HỆ ĐIỀU HÀNH
(3 Tín chỉ)

GV: Đỗ Cơng Đức
Khoa khoa học máy tính


GIỚI THIỆU MƠN HỌC
Tên

mơn học: Ngun lý hệ điều hành
Thời lượng: 3 TC (45 LT)
Mục tiêu của học phần: cung cấp cho sinh viên:
Các khái niệm, cấu trúc, nguyên lý, tổ chức hoạt động
của hệ điều hành.
Quản lý tiến trình, bộ nhớ, tài nguyên máy tính.

Giới thiệu về hệ thống tập tin, hệ thống nhập/xuất và
cơ chế bảo vệ an toàn cho hệ thống.
Các phương pháp giải quyết các vấn đề nảy sinh.
Xem xét một số hệ điều hành nổi tiếng Linux, Windows
04/19/2

Chương 1. Tổng quan về hệ điều

2/50


GIỚI THIỆU MÔN HỌC
 Tài


liệu tham khảo:

Trường CĐ CNTT HN Việt Hàn, Giáo trình Nguyên
lý hệ điều hành tháng (03/2008 )
Nguyễn Kim Tuấn (2005), Nguyên lý hệ điều hành,
nhà xuất bản khoa học kỹ thuật.
Trần Hạnh Nhi, Giáo trình Hệ điều hành nâng cao Đại
học khoa học tự nhiên TP Hồ Chí Minh.
Operating System Conceps (2003), nhà xuất bản
Wiley năm 2003.
04/19/2

Chương 1. Tổng quan về hệ điều

3/50


NỘI DUNG MƠN HỌC
Nội dung mơn học có 4 chương:

Chương 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
Chương 2: QUẢN LÝ TIẾN TRÌNH
Chương 3: QUẢN LÝ BỘ NHỚ
Chương 4: QUẢN LÝ TẬP TIN VÀ ĐĨA

04/19/2

Chương 1. Tổng quan về hệ điều

4/50



Chương 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH

1.1. Chức năng và lịch sử phát triển HĐH
1.2. Một số khái niệm của HĐH
1.3. Hệ điều hành và phân loại
1.4. Thành phần, dịch vụ, cấu trúc cơ bản
của HĐH

04/19/2

Chương 1. Tổng quan về hệ điều

5/50


CHỨC NĂNG VÀ LỊCH SỬ PHÁT TRIỂN CỦA HĐH

1.1.1 Chức năng của HĐH (1/4)
- Hệ thống máy tính gồm: Phần cứng, HĐH, các chương trình ứng
dụng. HĐH rất quan trọng và khơng thể thiếu, nhờ có HĐH mà người
sử dụng có thể làm việc và khai thác được các chức năng của phần
cứng máy tính
- HĐH là một chương trình chạy trên máy tính, dùng để điều khiển,
quản lý các thiết bị phần cứng và các tài nguyên phần mềm.
- HĐH đóng vai trị trung gian giữa người sử dụng và phần cứng. Mục
tiêu chính là cung cấp mơi trường thuận lợi để người sử dụng dễ dàng
thực hiện các chương trình ứng dụng của mình trên máy tính và khai
thác triệt để các chức năng của phần cứng máy tính

04/19/2

Chương 1. Tổng quan về hệ điều

6/50


CHỨC NĂNG VÀ LỊCH SỬ PHÁT TRIỂN CỦA HĐH

1.1.1 Chức năng của hệ điều hành (2/4)
Để đạt được mục tiêu HĐH thực hiện 2 chức năng:
- Giả lập một máy tính mở rộng: máy tính được cấu thành từ CPU,
memory, I/O… để hiểu được cơ chế NSD tác động vào ngôn ngữ
máy. Để đơn giản HĐH che đậy các phần cứng bởi các máy tính mở
rộng. Khi tác động vào máy tính thực thì người sử dụng tác động vào
máy tính mở rộng, mọi việc chuyển đổi thông tin do HĐH thực hiện.
Như vậy chức năng chính của HĐH giúp người sử dụng khai thác các
chức năng của phần cứng máy tính dễ dàng và hiệu quả hơn

04/19/2

Chương 1. Tổng quan về hệ điều

7/50


CHỨC NĂNG VÀ LỊCH SỬ PHÁT TRIỂN CỦA HĐH

1.1.1 Chức năng của hệ điều hành (3/4)
- Quản lý tài nguyên của hệ thống: processor, memory, I/O device,

printer, file... dùng để cấp phát cho tiến trình, chương trình. Khi thực
hiện chương trình, hay cần nạp thêm một tiến trình mới thì cần cấp
không gian bộ nhớ.
HĐH đa nhiệm cần được nạp nhiều tiến trình, chương trình vào bộ
nhớ, nhưng bộ nhớ có giới hạn nên phải cấp phát sao cho hợp lý để
đảm bảo tất cả chương trình, tiến trình khi cần đều được nạp vào bộ
nhớ để hoạt động.
HĐH phải bảo vệ các khơng gian nhớ đã cấp cho chương trình, tiến
trình để tránh sự truy cập bất hợp lệ và tranh chấp. Đặc biệt là các tiến
trình đồng thời hoạt động trên hệ thống.
04/19/2

Chương 1. Tổng quan về hệ điều

8/50


CHỨC NĂNG VÀ LỊCH SỬ PHÁT TRIỂN CỦA HĐH

1.1.1 Chức năng của hệ điều hành (4/4)
Mục tiêu các nhà thiết kế, cài đặt hướng tới chức năng của HĐH là:
- HĐH cho phép thực hiện nhiều chương trình đồng thời trong mơi
trường đa tác vụ.
- Hệ điều hành tự nạp nó vào bộ nhớ: khi boot
- Hệ điều hành và API: (Application Programming Interface):các hàm
và thủ tục xây dựng sẵn như shutdown hoặc có thể gọi thủ tục khác
- Nạp dữ liệu cần thiết vào bộ nhớ: lưu lại địa chỉ cất giữ dữ liệu
- Hệ điều hành biên dịch các chỉ thị chương trình: đọc, giải mã các
thao tác cần thực hiện và thông báo các lỗi khi hệ thống gặp lỗi
- HĐH quản lý tài nguyên: đảm bảo thích hợp các tài nguyên của hệ

thống
04/19/2

Chương 1. Tổng quan về hệ điều

9/50


CHỨC NĂNG VÀ LỊCH SỬ PHÁT TRIỂN CỦA HĐH

1.1.2 Lịch sử phát triển của hệ điều hành (1/2)
 Thế hệ 1:1945-1955: máy tính dùng đèn điện tử chân khơng, người
lập trình dùng ngôn ngữ máy để thực hiện, dùng bảng điều khiển,
sau đó phiếu đục lỗ và viết c/trình trên phiếu thay bảng điều khiển
 Thế hệ 2: 1955-1965: máy tính dùng bán dẫn ra đời, người lập trình
dùng ngơn ngữ assembly hoặc Fortran để viết chương trình trên
phiếu đục lỗ và đưa vào máy thực hiện đưa kết quả ra máy in.
 Thế hệ 3: 1965-1980: máy tính sử dụng mạch tích hợp IC, máy tính
càng phổ biến hơn, máy tính phát triển nhiều và phức tạp hơn cần
có HĐH để điều phối kiểm soát hoạt động hệ thống
 Thế hệ 4: từ 1980 đến nay: máy tính cá nhân ra đời, hệ thống máy
tính IBM với hệ điều hành MSDOS, hệ điều hành Windows.
04/19/2

Chương 1. Tổng quan về hệ điều

10/50


CHỨC NĂNG VÀ LỊCH SỬ PHÁT TRIỂN CỦA HĐH


1.1.2 Lịch sử phát triển của hệ điều hành (1/2)
Tóm lại: Qua đây chúng ta thấy quá trình hình thành của HĐH gắn
liền với q trình hình thành máy tính. Có một số điểm nổi bậc sau:
 Các ngơn ngữ lập trình cấp thấp ra đời trước các HĐH và các HĐH
đều được xây dựng từ ngơn ngữ lập trình cấp thấp. Đặc biệt HĐH
Unix xây dựng từ C, ngơn ngữ lập trình cấp cao.
 Nếu khơng có HĐH thì việc khai thác và sử dụng máy tính sẽ khó
khăn và phức tạp và khơng phải ai cũng sử dụng được máy tính .
 Sự ra đời và phát triển của HĐH gắn liền với sự phát triển của máy
tính và ngược lại. HĐH thực sự phát triển khi máy tính PC xuất hiện
trên thị trường
04/19/2

Chương 1. Tổng quan về hệ điều

11/50


MỘT SỐ KHÁI NIỆM CỦA HỆ ĐIỀU HÀNH
1.2.1 Tiến trình và tiểu trình
 Tiến trình là một bộ phận của chương trình đang thực hiện. Tiến
trình là đơn vị làm việc cơ bản của hệ thống, có thể tồn tại nhiều
tiến trình cùng hoạt động, trong đó có cả tiến trình của HĐH, tiến
trình của chương trình người sử dụng và có thể hoạt động đồng thời
với nhau bằng cách phân chia thời gian CPU giữa chúng
 Tiểu trình là thành phần của tiến trình, trong một tiến trình có thể có
nhiều tiểu trình. Tiểu trình cũng là đơn vị xử lý cơ bản trong hệ
thống, xử lý tuần tự đoạn code, sở hữu một con trỏ lệnh, một tập các
thanh ghi và một vùng nhớ stack riêng và các tiểu trình cũng chia sẻ

thời gian xử lý của processor như các tiến trình
04/19/2

Chương 1. Tổng quan về hệ điều

12/50


MỘT SỐ KHÁI NIỆM CỦA HỆ ĐIỀU HÀNH
1.2.2 Bộ xử lý lệnh (Shell)
 Shell là một tiến trình đặc biệt của HĐH, nó có nhiệm vụ nhận,
phân tích lệnh của người sử dụng, phát sinh tiến trình mới để thực
hiện yêu cầu, tiến trình mới được gọi là tiến trình đáp ứng yêu cầu.
 Shell là nơi giao tiếp giữa người sử dụng và HĐH thơng qua dịng
lệnh, mỗi HĐH khác nhau có cơ chế dịng lệnh khác nhau.
+ MSDOS đó là con trỏ lệnh và dấu nhắc hệ điều hành (C:\>_)
+ Windows 9x đó là nút Start\Run
Lệnh Shell đối với :
+ HĐH đơn nhiệm: khi tiến trình thực hiện lệnh Shell chờ
+ HĐH đa nhiệm: khi tiến tiến trình thực hiện Shell sẵn sàng
04/19/2

Chương 1. Tổng quan về hệ điều

13/50


MỘT SỐ KHÁI NIỆM CỦA HỆ ĐIỀU HÀNH
1.2.3 Sự phân lớp hệ thống (1/2)
HĐH là một hệ thống các chương trình bao quanh máy tính thực

(vật lý) nhằm tạo ra một máy tính mở rộng (logic).
Mỗi người sử dụng yêu cầu HĐH khác nhau:
 Người sử dụng thông thường chỉ cần một môi trường thuận lợi để
họ thực hiện các ứng dụng.
 Lập trình viên cần một mơi trường lập trình tốt để họ có thể triển
khai các ứng dụng.
 Chuyên viên lập trình hệ thống cần HĐH cung cấp cho họ các công
cụ để họ can thiệp sâu hơn vào hệ thống phần cứng máy tính ...
Để đáp ứng yêu cầu của nhiều đối tượng người sử dụng khác nhau,
HĐH thực hiện hệ thống phân lớp
04/19/2

Chương 1. Tổng quan về hệ điều

14/50


MỘT SỐ KHÁI NIỆM CỦA HỆ ĐIỀU HÀNH
1.2.3 Sự phân lớp hệ thống (2/2)
Hệ thống phân lớp:

Người
dùng

Trình
ứng dụng

Các tiện ích
Hệ điều hành
Phần cứng


04/19/2

Người lập
trình

Người thiết kế
hệ điều hành

- Người thiết kế hệ điều hành là
phải truy cập trực tiếp vào các
chi tiết của phần cứng máy tính.
- Người sử dụng và người lập
trình truy cập vào các chi tiết của
phần cứng máy tính thơng qua hệ
điều hành.
 Như vậy người sử dụng tác
động vào lớp trong cùng sẽ gặp
nhiều khó khăn

Chương 1. Tổng quan về hệ điều

15/50


MỘT SỐ KHÁI NIỆM CỦA HỆ ĐIỀU HÀNH
1.2.4  Tài nguyên hệ thống (1/2)
 Tài nguyên không gian: Là các không gian lưu trữ của hệ thống như
bộ nhớ phụ, bộ nhớ chính, quan trọng nhất là khơng gian bộ nhớ
chính, nơi lưu trữ các chương trình đang được CPU thực hiện.

 Tài nguyên thời gian: chính là thời gian thực hiện lệnh của bộ xử lý
và thời gian truy xuất dữ liệu trên bộ nhớ
- Sau đây là các tài nguyên của hệ thống:
+ Bộ nhớ: (Memory): là nơi chứa dữ liệu, còn thời gian truy cập bộ
nhớ là quá trình tìm đến dữ liệu trên bộ nhớ. Bộ nhớ Ram là bộ
nhớ trong
04/19/2

Chương 1. Tổng quan về hệ điều

16/50


MỘT SỐ KHÁI NIỆM CỦA HỆ ĐIỀU HÀNH
1.2.4  Tài nguyên hệ thống (1/2)
+ Vi xử lý: (Processor): là tài nghuyên quan trọng nhất của hệ thống,
dùng để xử lý các câu lệnh đưa tiến trình vào trạng thái hoạt động.
Khi xét về bộ xử lý thì xét đến thời gian xử lý của bộ xử lý
+ Tài nguyên ảo/Tài nguyên logic: Là loại tài nguyên cung cấp cho
chương trình người sử dụng dưới dạng đã được biến đổi, nó xuất hiện
khi hệ thống cần và mất đi khi hệ thống kết thúc.
▪ Tài nguyên phân chia được: Là những tài nguyên mà tại một thời
điểm nó có thể cấp phát cho nhiều tiến trình khác nhau cùng một lúc.
Ví dụ như bộ nhớ chính và Processor
▪ Tài ngun khơng phân chia được: Là những tài nguyên mà tại một
thời điểm nó chỉ có thể cấp phát cho một tiến trình duy nhất. Ví dụ
như máy in
04/19/2

Chương 1. Tổng quan về hệ điều


17/50


MỘT SỐ KHÁI NIỆM CỦA HỆ ĐIỀU HÀNH
1.2.5 Lời gọi hệ thống
- Để tạo mơi trường giao tiếp giữa chương trình của người sử dụng và
HĐH đưa ra các lời gọi hệ thống. Chương trình của người sử dụng
dùng các lời gọi hệ thống để liên lạc với HĐH và yêu cầu các dịch vụ
từ HĐH
- Lời gọi hệ thống có thể được chia thành các loại: quản lý tiến trình,
thao tác trên tập tin, thao tác trên thiết bị nhập/xuất ...
- Cần phải phân biệt sự khác nhau giữa Shell và System Call. Shell tạo
môi trường giao tiếp giữa người sử dụng và HĐH, System Call tạo
môi trường giao tiếp giữa chương trình người sử dụng và HĐH
04/19/2

Chương 1. Tổng quan về hệ điều

18/50


HỆ ĐIỀU HÀNH VÀ PHÂN LOẠI
1.3.1 Khái niệm hệ điều hành (1/4)
Tùy thuộc vào góc độ khác nhau mà ta có thể định nghĩa HĐH:
Đối với người sử dụng: HĐH là tập hợp các chương trình, phục vụ khai
thác hệ thống tính tốn một cách dễ dàng, thuận tiên
Đối với người làm quản lý: HĐH là tập hợp các chương trình, phục vụ
quản lý chặt chẽ, sử dụng tối ưu các tài ngun của hệ thống tính tốn
Đối với cán bộ kỹ thuật: HĐH là một hệ thống bao trùm lên một máy

tính vật lý cụ thể để tạo ra một máy tính logic với những tài nguyên
mới và khả năng mới
Các khái niệm trên cho ta thấy mỗi người sử dụng đều mong muốn
khác nhau và muốn công việc của mình được thực hiện dễ dàng
04/19/2

Chương 1. Tổng quan về hệ điều

19/50


HỆ ĐIỀU HÀNH VÀ PHÂN LOẠI
1.3.1 Khái niệm hệ điều hành (2/4)
Đối với người lập trình hệ thống: HĐH là hệ thống mơ hình hóa, mơ
phỏng các hoạt động của máy tính, của người sử dụng và thao tác hoạt
động trong các hệ thống đối thoại nhằm tạo ra môi trường để quản lý
chặt chẽ các tài nguyên và tổ chức khai thác chúng thuận tiện và tối ưu
Đối với người lập trình hệ thống, vị trí của họ ở bên trong HĐH họ
quan sát các modul, các thành phần của hệ thống, quan sát mối quan hệ
giữa chúng.
Chương trình
người sử dụng

04/19/2

OS

Chương 1. Tổng quan về hệ điều

Phần cứng


20/50


HỆ ĐIỀU HÀNH VÀ PHÂN LOẠI
1.3.1 Khái niệm hệ điều hành (3/4)
- HĐH là một 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ĐH 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 của mình.
Nó làm cho máy tính dễ sử dụng, thuận lợi và hiệu quả hơn
- Hệ điều hành ra đời tồn tại và phát triển là để giải quyết các vấn đề sử
dụng hệ thống máy tính của người sử dụng, nhằm giúp người sử dụng
khai thác hết các chức năng của phần cứng máy tính, giúp người sử
dụng thực hiện được các chương trình của mình trên máy tính.

04/19/2

Chương 1. Tổng quan về hệ điều

21/50


HỆ ĐIỀU HÀNH VÀ PHÂN LOẠI
1.3.1 Khái niệm hệ điều hành (4/4)
- 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 được chia thành các phần chính như:
phần cứng, HĐH, các chương trình ứng dụng. 
- Phần cứng bao gồm CPU, bộ
Người sử Người sử Người sử ..... Người sử
dụng 1

dụng 2
dụng 3
dụng n
nhớ, các thiết bị
- Chương trình ứng dụng
Chương trình Hợp ngữ
Soạn thảo
CSDL
chương trình dịch, CSDL…
dịch
văn bản
- Hệ điều hành điều khiển và
Các chương trình ứng dụng
phối hợp việc sử dụng phần
Hệ điều hành
cứng cho những ứng dụng
Phần cứng
khác nhau của nhiều người SD
04/19/2

Chương 1. Tổng quan về hệ điều

22/50


HỆ ĐIỀU HÀNH VÀ PHÂN LOẠI
1.3.2 Phân loại hệ điều hành (1/7)
- Hệ điều hành xử lý theo lô đơn chương: HĐH loại này, khi hệ
thống cần thực hiện một tác vụ thì nó phải lưu chương trình và dữ
liệu của các tác vụ vào hàng đợi các công việc, sau đó thực hiện lần

lượt từng bộ chương trình, dữ liệu của tác vụ tương ứng trong hàng
đợi và cho ra lần lượt các kết quả  
Môi trường người sử dụng
Nhập tác vụ
Mơi trường máy tính

Hàng đợi tác vụ

04/19/2

Kết quả

Chương 1. Tổng quan về hệ điều

23/50


HỆ ĐIỀU HÀNH VÀ PHÂN LOẠI
1.3.2 Phân loại hệ điều hành (2/7)
- Hệ điều hành xử lý theo lô đa chương: HĐH xử lý theo lô đa
chương thực hiện được nhiều tác vụ, nhiều chương trình đồng thời
bằng cách nạp một phần code và data của các tác vụ vào bộ nhớ (các
phần còn lại sẽ được nạp sau tại thời điểm thích hợp) và tất cả đều ở
trạng thái sẵn sàng thực hiện. Sau đó HĐH bắt đầu thực hiện một tác
vụ nào đó, nhưng khi tác vụ đang thực hiện cần truy xuất thiết bị
nhập/xuất thì processor sẽ được chuyển sang thực hiện các tác vụ
khác và cứ như thế HĐH tổ chức chuyển hướng processor để thực
hiện hết các phần tác vụ trong bộ nhớ cũng như các tác vụ mà hệ
thống yêu cầu
04/19/2


Chương 1. Tổng quan về hệ điều

24/50


HỆ ĐIỀU HÀNH VÀ PHÂN LOẠI
1.3.2 Phân loại hệ điều hành (3/7)

- Hệ điều hành xử lý theo thời gian: việc chuyển vi xử lý từ tác
vụ, tiến trình này sang tác vụ, khơng phụ thuộc vào việc tác vụ,
tiến trình hiện tại có truy xuất đến thiết bị nhập/xuất hay không
mà chỉ phụ thuộc vào sự điều phối vi xử lý của HĐH
Trong HĐH này thời gian chuyển đổi vi xử lý giữa các tác vụ là
rất nhỏ nên ta có cảm giác các tác vụ thực hiện song song với
nhau. Với HĐH này người sử dụng có thể yêu cầu HĐH thực
hiện nhiều chương trình, tiến trình, tác vụ đồng thời với nhau
04/19/2

Chương 1. Tổng quan về hệ điều

25/50


×