1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng nguyên lý hệ điều hành chương 1 GV đặng quang hiển

50 329 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 446,07 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

GV: Đặng Quang Hiển Khoa: Khoa Học Máy Tính

(3 Tín chỉ)

Trang 2

Tên môn học: Nguy ên 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ủ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.

Trang 3

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.

Trang 4

Nội dung môn học có 6 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

Chương 5: QUẢN LÝ NHẬP/XUẤT

Chương 6: BẢO VỆ AN TOÀN HỆ THỐNG

Trang 5

1.1 Chức năng và lịch sử phát triển HĐH

1.4 Thành phần , dịch vụ, cấu trúc cơ bản

của HĐH

Trang 6

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 và người sử 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 hệ thống, đó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

- HĐH là một chương trình chạy trên máy tính, dùng để điều hành, quản lý các thiết bị phần cứng và các tài nguyên phần mềm

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

1.1.2 Lịch sử phát triển của hệ điều hành (1/2)

 Thế hệ 1:1946-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: 1956-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 sau này

Trang 11

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 quá 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

Trang 12

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 và 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

Trang 13

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

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

 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

Trang 14

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

Trang 15

1.2.3 Sự phân lớp hệ thống (2/2)

Người dùng

Trình ứng dụng

Các tiện ích

Hệ điều hành

Phần cứng

Người lập trì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

Trang 16

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ư đĩa, 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

- 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

 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ớ

Trang 17

1.2.4 Tài nguyên hệ thống (1/2)

+ Bộ 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 nguyên 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

Trang 18

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, 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

- 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

- 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

Trang 19

1.3.1 Khái niệm hệ điều hành (1/4)

Có nhiều người sử dụng HĐH dưới các góc độ khác nhau vì thế họ cóthể định nghĩa về hệ điều hành khác nhau:

Đố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 toá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 nguyên của hệ thống tính toá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

Trang 20

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, 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

Đố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

Chương trình người sử dụng OS Phần cứng

Trang 21

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 Nghĩa

là nó là giúp cho việc thi hành các chương trình hiệu quả hơn, thực hiện các thao tác trên hệ thống máy tính dễ dàng hơn

Trang 22

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 và người sử dụng

Người sử

dụng 1

Người sử dụng 2

Người sử dụng 3

Người sử dụng n

Chương trình Hợp ngữ Soạn thảo CSDL

Trang 23

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

Môi trường máy tính

Hàng đợi tác vụ

Kết quả Nhập tác vụ

Trang 24

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

Trang 25

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: Giống HĐH xử lý theo lô đa

chương nhưng việc chuyển processor 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 processor của HĐH

Trong HĐH này thời gian chuyển đổi processor 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

Trang 26

1.3.2 Phân loại hệ điều hành (4/7)

- Hệ điều hành đa vi xử lý: là HĐH có sử dụng điều khiển có nhiều vi

xử lý gồm:

+ Đa xử lý đối xứng (SMP: Symmetric MultiProcessing): hệ thống

này vi xử lý nào cũng có thể chạy một loại tiểu trình bất kỳ, các vi xử

lý giao tiếp với nhau thông qua một bộ nhớ dùng chung Vì vi xử lý

có thể chạy bất kỳ nên nó nguy cơ xảy ra tình trạng bế tắt của CPU giảm đi đáng kể

+ Đa xử lý bất đối xứng (ASMP: Asymmetric MultiProcessing): hệ

thống này dành riêng 1 hoặc 2 vi xử lý để sử dụng riêng, các vi xử lý

còn lại sử dụng cho chương trình của người sử dụng Vì vi xử lý dùng riêng cho HĐH nên khi hỏng thì hệ thống ngừng hoạt động

Trang 27

1.3.2 Phân loại hệ điều hành (5/7)

- Hệ điều hành xử lý thời gian thực:

+ HĐH này khắc phục nhược điểm của HĐH xử lý theo lô, tức là nó

có khả năng cho kết quả tức thời, chính xác sau mỗi tác vụ

+ Đối với loại này các tác vụ cần thực hiện, không được đưa vào hàng đợi mà được xử lý tức thời và trả lại ngay kết quả hoặc thông báo lỗi cho người sử dụng có yêu cầu HĐH hoạt động đòi hỏi có sựphối hợp cao giữa phần mềm và phần cứng

Trang 28

1.3.2 Phân loại hệ điều hành (6/7)

- Hệ điều hành phân tán: Hệ thống này cũng tương tự như hệ thống

chia sẻ thời gian nhưng các bộ xử lý không chia sẻ bộ nhớ, thay vào

đó mỗi bộ xử lý có bộ nhớ cục bộ riêng Các bộ xử lý thông tin với nhau thông qua các đường truyền thông hay đường dây điện thoại

Các nguyên nhân phải xây dựng hệ thống phân tán là:

+ Chia sẻ tài nguyên: chia sẻ tài nguyên phần cứng, phần mềm…

+ Tăng tốc độ tính toán: phân chia các việc tính toán trên nhiều vị trí

khác nhau để tính toán song song

+ An toàn: nếu một ví trí bị hỏng các vị trí khác cũng thực hiện được + Thông tin liên lạc với nhau: chuyển đổi dữ liệu từ vị trí này đến vị

trí khác thông qua mạng cục bộ, Email, yahoo

Trang 29

1.3.2 Phân loại hệ điều hành (7/7)

Tóm lại: qua sự phân loại trên ta thấy quá trình phát triển của HĐH Các HĐH ra đời sau luôn tìm cách khắc phục các hạn chế của HĐH trước đó, nó làm cho sự đa chương của HĐH ngày càng được nâng lên đáng kể và phát triển nhiều hơn nữa để đáp ứng yêu cầu ngày càng cao của của người sử dụng và chương trình người sử dụng, cũng như khai thác tối đa các chức năng của phần cứng máy tính để nâng cao hiệu suất của hệ thống Nhưng chức năng của HĐH càng cao thì chi phí cho

nó cũng tăng theo và cấu trúc của HĐH cũng sẽ phức tạp hơn

Ngày đăng: 03/12/2015, 14:36

HÌNH ẢNH LIÊN QUAN

Bảng mô tả - Bài giảng nguyên lý hệ điều hành  chương 1   GV  đặng quang hiển
Bảng m ô tả (Trang 41)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm