1. Trang chủ
  2. » Cao đẳng - Đại học

Hướng dẫn tự học môn hệ điều hành đại học kinh tế quốc dân

192 1,3K 1

Đ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 192
Dung lượng 6,84 MB

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

Nội dung

15 Dang Minh Quan - NEU, 2016 Hệ thống xử lý theo lô • Người dùng không tương tác trực tiếp với hệ thống máy tính • Người dùng chuẩn bị một công việc và đệ trình tới người vận hành máy

Trang 1

1 Dang Minh Quan - NEU, 2016

Hệ điều hành

Thông tin chung

Thông tin về giảng viên

• TS Đặng Minh Quân

• Địa chỉ: C101- ĐHKTQD

• Email: quandm@neu.edu.vn

Trang 2

3 Dang Minh Quan - NEU, 2016

Kế hoạch giảng dạy

5 7,5

0,5

2

1

2 0,5 0,5

1 1,5

• 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

Trang 3

5 Dang Minh Quan - NEU, 2016

Môi trường lập trình

• Ngôn ngữ lập trình C/C++

• Trình biên dịch gcc

• Hệ điều hành Ubuntu

Tài liệu tham khảo

• Andrew S Tanenbaum, Modern Operating

Systems (2nd Edition), 2001

• Abraham Silberschatz, Peter B Galvin, Greg

Gagne, Operating System Concepts (8th

edition), 2008

Trang 4

7 Dang Minh Quan - NEU, 2016

Hệ điều hành

Chương 1: Giới thiệu chung

Mục tiêu chương 1

• Nêu được chức năng chính của hệ điều hành

• Phân biệt được các loại 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

Trang 5

9 Dang Minh Quan - NEU, 2016

1.1 Khái niệm về hệ điều hành

• Hệ điều hành trong hệ thống máy tính

• Mục tiêu hệ điều hành

• Định nghĩa hệ điều hành

Trang 6

11 Dang Minh Quan - NEU, 2016

Hệ điều hành trong hệ thống máy

• Mục tiêu của hệ điều hành:

– Chạy chương trình và giúp giải quyết vấn đề của

người sử dụng dễ dàng hơn

– Làm cho hệ thống máy tính dễ sử dụng

– Sử dụng phần cứng máy tính một cách hiệu quả

Trang 7

13 Dang Minh Quan - NEU, 2016

Định nghĩa hệ điều hành

• Bộ cấp phát tài nguyên - quản lý và phân bổ

tài nguyên

• Chương trình điều khiển - điều khiển việc

thực hiện các chương trình của người sử

dụng và hoạt động của các thiết bị I / O

• Hạt nhân - một chương trình luôn luôn chạy

Trang 8

15 Dang Minh Quan - NEU, 2016

Hệ thống xử lý theo lô

• Người dùng không tương tác

trực tiếp với hệ thống máy

tính

• Người dùng chuẩn bị một

công việc và đệ trình tới

người vận hành máy tính

• Người dùng nhận lại kết quả

sau 1 khoảng thời gian không

trong số đó, khi chương trình

này phải đợi, HĐH chuyển

sang chạy chương trình khác

Trang 9

17 Dang Minh Quan - NEU, 2016

Hệ thống đa người dùng

• Còn gọi là hệ thống chia sẻ thời gian, cho

phép nhiều người dùng tương tác với máy

tính

• Mỗi người dùng có ít nhất 1 chương trình

đang chạy gọi là tiến trình

• Hệ thống chia cho mỗi tiến trình một khe thời

• Tận dụng hiệu năng CPU không còn là vấn

đề quan tâm hàng đầu

• Một số tính năng của hệ thống chia sẻ thời

gian vẫn được áp dụng cho hệ thống để bàn

Trang 10

19 Dang Minh Quan - NEU, 2016

Hệ thống đa xử lý

• Phổ biến là hệ thống đa xử lý đối xứng

• Mỗi CPU chạy một bản copy của HĐH và

liên lạc với nhau khi cần

• Hệ thống đa xử lý có các lợi ích sau

– Tăng hiệu năng

– Tăng tính kinh tế khi mở rộng

– Tăng độ tin cậy

Hệ thống khách – chủ

• Hệ thống máy chủ dùng phục vụ các yêu cầu

từ nhiều máy khách

Trang 11

21 Dang Minh Quan - NEU, 2016

Hệ thống điểm tới điểm

• Một HĐH mạng cung cấp một giao thức liên

lạc cho phép các tiến trình khác nhau trên các

máy tính khác nhau có thể truyền tin được

cho nhau

• Một máy tính trong hệ thống này hoạt động

độc lập nhưng vẫn nhận biết được mạng và

có thể liên lạc với các máy tính khác trong

Trang 12

23 Dang Minh Quan - NEU, 2016

Hệ thống thời gian thực

• Hệ thống thời gian thực phải đáp ứng các

thách thức về mặt thời gian

• Công việc phải được hoàn thành trong một

giới hạn thời gian đã xác định

• Hệ thống thời gian thực cứng đảm bảo các

tác vụ quan trọng được hoàn thành đúng hạn

• Hệ thống thời gian thực mềm đảm bảo các

tác vụ quan trọng có độ ưu tiên cao nhất

Trang 13

25 Dang Minh Quan - NEU, 2016

Các môi trường tính toán

• HĐH đơn nhiệm, đơn người sử dụng

• HĐH đa nhiệm, đơn người sử dụng

• HĐH đa người sử dụng

Trang 14

27 Dang Minh Quan - NEU, 2016

Trang 15

29 Dang Minh Quan - NEU, 2016

Các dịch vụ hệ điều hành

Cấu trúc HĐH: đơn giản

• MS-DOS có cấu trúc nhưng

giữa giao diện và chức

năng không có sự phân chia

rõ rệt

• UNIX bao gồm hai phần :

hạt nhân và các chương

trình hệ thống

Trang 16

31 Dang Minh Quan - NEU, 2016

Trang 17

33 Dang Minh Quan - NEU, 2016

Nội dung chính chương 1

• Khái niệm về hệ điều hành: vị trí, vai trò,

định nghĩa

• Lịch sử phát triển hệ điều hành cùng với sự

phát triển của các hệ thống máy tính

• Phân loại hệ điều hành: thời gian thực, đơn

nhiệm, đa nhiệm

• Cấu trúc hệ điều hành: đơn giản, phân lớp,

máy ảo

Tài liệu tham khảo

• Abraham Silberschatz, Peter B Galvin, Greg

Gagne (2008), Operating System Concepts

(8th edition), Wiley Chương I, trang 3 – 46;

Chương II, trang 49-97

Trang 18

35 Dang Minh Quan - NEU, 2016

Hệ điều hành

Chương 2: Quản lý tiến trình

Mục tiêu chương 2

• Phân biệt được chương trình và tiến trình

• Áp dụng được các thuật toán điều phối vào

các tình huống giả định

• Nêu đượ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

Trang 19

37 Dang Minh Quan - NEU, 2016

Tổng quan

• Giới thiệu tổng quan về tiến trình và luồng

• Điều phối tiến trình và luồng

• Cơ chế thông tin liên lạc giữa các tiến trình

• Đồng bộ hoá tiến trình

• Tắc nghẽn

2.1 Tổng quan về tiến trình và

luồng

• Khái niệm tiến trình

• Khái niệm luồng

• Các trạng thái của tiến trình

• Chế độ xử lý của tiến trình

• Cấu trúc dữ liệu khối quản lý tiến trình

• Thao tác trên tiến trình

• Tiến trình và luồng trên LINUX

Trang 20

39 Dang Minh Quan - NEU, 2016

Khái niệm tiến trình

Trang 21

41 Dang Minh Quan - NEU, 2016

Các trạng thái của tiến trình

• Khi một tiến trình được chạy, nó sẽ thay đổi

trạng thái

– new: Tiến trình đang được tạo ra

– running: Các lệnh đang được xử lý

– waiting: Tiến trình đang đợi một sự kiện nào đó

– ready: Tiến trình đang đợi để được gán cho một

quá trình xử lý

– terminated: Tiến trình kết thúc

Các trạng thái của tiến trình

Trang 22

43 Dang Minh Quan - NEU, 2016

Khối quản lý tiến trình PCB

Lưu giữ thông tin của một tiến trình

• Trạng thái tiến tình

• Bộ đếm chương trình

• Các thanh ghi CPU

• Thông tin lập lịch CPU

• Thông tin quản lý bộ nhớ

• Thông tin tài khoản

• Thông tin trạng thái I/O

Cấu trúc dữ liệu khối quản lý tiến

trình

Trang 23

45 Dang Minh Quan - NEU, 2016

Thao tác trên tiến trình

• Hệ điều hành cung cấp các thao tác

chủ yếu sau đây trên một tiến trình :

– Tạo lập tiến trình (create)

– Kết thúc tiến trình (destroy)

– Tạm dừng tiến trình (suspend)

– Tái kích hoạt tiến trình (resume)

– Thay đổi độ ưu tiên tiến trình

Tạo lập tiến trình (1)

• Một tiến trình có thể tạo lập nhiều tiến trình

mới bằng cách sử dụng một lời gọi hệ thống

tương ứng

Trang 24

47 Dang Minh Quan - NEU, 2016

Tạo lập tiến trình (2)

• Định danh cho tiến trình mới phát sinh

• Đưa tiến trình vào danh sách quản lý của hệ

thống

• Xác định độ ưu tiên cho tiến trình

• Tạo PCB cho tiến trình

• Cấp phát các tài nguyên ban đầu cho tiến

trình

Tạo lập tiến trình (3)

• Tiến trình cha tiếp tục xử lý đồng hành với

tiến trình con

• Tiến trình cha chờ đến khi một tiến trình con

nào đó, hoặc tất cả các tiến trình con kết thúc

xử lý

Trang 25

49 Dang Minh Quan - NEU, 2016

} else if (pid == 0) { /* child process */ execlp("/bin/ls","ls",NULL);

} else { /* parent process */

/* parent will wait for the child to complete */ wait (NULL) ;

printf("Child Complete");

}

return 0;

Trang 26

51 Dang Minh Quan - NEU, 2016

• Hủy bỏ PCB của tiến trình

Tạm dừng tiến trình - tái kích hoạt

tiến trình

Trang 27

53 Dang Minh Quan - NEU, 2016

Đa chương (multiprogramming)

Trang 28

55 Dang Minh Quan - NEU, 2016

Cơ chế hoạt động 2 chế độ

• Chia sẻ tài nguyên hệ thống đòi hỏi hệ điều

hành đảm bảo rằng một chương trình bị lỗi

không thể ảnh hưởng tới các chương trình

khác

• Cung cấp hỗ trợ cho phần cứng để phân biệt

giữa hai phương thức hoạt động

– 1 Chế độ người dùng – chạy chương trình thay

mặt cho một người sử dụng

– 2 Monitor mode (chế độ giám sát hoặc chế độ hệ

thống) - chạy chương trình thay mặt cho hệ điều

hành

Cơ chế hoạt động 2 chế độ (Cont.)

• Bit chế độ thêm vào

Trang 29

57 Dang Minh Quan - NEU, 2016

Cơ chế hoạt động 2 chế độ (Cont.)

• Các lệnh đặc quyền là các lệnh có thể gây hại

Khái niệm luồng

• Một luồng là một đơn vị xử lý cơ bản trong

hệ thống Mỗi luồng xử lý tuần tự đoạn code

của nó

• Một luồng phải ở trong 1 tiến trình

• 1 tiến trình có thể có nhiều luồng

• Mỗi luồng xử lý tuần tự đoạn code của nó, sở

hữu

– một con trỏ lệnh

– tập các thanh ghi

– vùng nhớ stack riêng

Trang 30

59 Dang Minh Quan - NEU, 2016

Khái niệm đa luồng

2.2 Điều phối tiến trình

• Khái niệm chung

• Các yêu cầu với quá trình điều phối

• Tổ chức điều phối

Trang 31

61 Dang Minh Quan - NEU, 2016

Khái niệm về điều phối

• Bộ điều phối phải lựa chọn tiến trình được xử

lý tiếp theo

• Bộ phân phối sẽ chịu trách nhiệm chuyển đổi

ngữ cảnh và trao CPU cho tiến trình được

chọn bởi bộ điều phối để xử lý

Đặc điểm tiến trình

• Tính hướng xuất / nhập của tiến trình

• Tính hướng xử lý của tiến trình

• Tiến trình tương tác hay xử lý theo lô

• Độ ưu tiên của tiến trình

• Thời gian đã sử dụng CPU của tiến trình

• Thời gian còn lại tiến trình cần để hoàn tất

Trang 32

63 Dang Minh Quan - NEU, 2016

Nguyên lý điều phối độc quyền

• Cho phép một tiến trình khi nhận được CPU

sẽ có quyền độc chiếm CPU đến khi hoàn tất

xử lý hoặc tự nguyện giải phóng CPU

• Hoạt động điều phối CPU sẽ xảy ra khi:

– Khi tiến trình chuyển từ trạng thái đang xử lý

sang trạng thái bị khóa

• Hoạt động điều phối CPU sẽ xảy ra khi:

– Khi tiến trình chuyển từ trạng thái đang xử lý

sang trạng thái bị khóa

– Khi tiến trình chuyển từ trạng thái đang xử lý

sang trạng thái ready

– Khi tiến trình chuyển từ trạng thái chờ sang trạng

thái

– Khi tiến trình kết thúc

Trang 33

65 Dang Minh Quan - NEU, 2016

Các yêu cầu với quá trình điều

phối

• Sự công bằng

• Tính hiệu qủa

• Thời gian đáp ứng hợp lý

• Thời gian lưu lại trong hệ thống

• Thông lượng tối đa

Các danh sách sử dụng trong quá

trình điều phối (1)

• Danh sách sẵn sàng (ready list)

– Chỉ các tiến trình đang thường trú trong bộ nhớ chính và

ở trạng thái sẵn sàng tiếp nhận CPU để hoạt động

– Hệ điều hành chỉ sử dụng một danh sách sẵn sàng cho

toàn hệ thống

• Danh sách chờ đợi(waiting list)

– Tiến trình sẽ được chuyển sang một danh sách chờ khi

xảy ra các sự kiện

– Mỗi một tài nguyên ( thiết bị ngoại vi ) có một danh sách

chờ đợi riêng bao gồm các tiến trình đang chờ được cấp

phát tài nguyên đó

Trang 34

67 Dang Minh Quan - NEU, 2016

Các danh sách sử dụng trong quá

trình điều phối (2)

Chuyển đổi giữa các danh sách

điều phối

Trang 35

69 Dang Minh Quan - NEU, 2016

Điều phối tác vụ (job scheduling)

• Quyết định lựa chọn tác vụ nào được đưa vào

hệ thống và nạp những tiến trình của tác vụ

đó vào bộ nhớ chính để thực hiện

• Chức năng điều phối tác vụ quyết định mức

độ đa chương của hệ thống

• Được kích hoạt khi

– Hệ thống tạo lập một tiến trình

– Có một tiến trình kết thúc xử lý

• Điều phối tác vụ có tần suất hoạt động thấp

Điều phối tiến trình

• Chọn một tiến trình ở trạng thái sẵn sàng ( đã

được nạp vào bộ nhớ chính, và có đủ tài

nguyên để hoạt động ) và cấp phát CPU cho

tiến trình đó thực hiện

• Có tần suất hoạt động cao, sau mỗi lần xảy ra

ngắt

Trang 36

71 Dang Minh Quan - NEU, 2016

Điều phối trung gian

• Kết hợp cả hai cấp độ điều phối tác vụ và tiến

trình

Chiến lược điều phối FIFO

• CPU được cấp phát cho tiến trình đầu tiên

trong danh sách sẵn sàng có yêu cầu

• Điều phối theo nguyên tắc độc quyền

• Có thể xảy ra hiện tượng tích lũy thời gian

chờ

• Không phù hợp với các hệ phân chia thời

gian

Trang 37

73 Dang Minh Quan - NEU, 2016

Chiến lược điều phối xoay vòng

• Bộ điều phối lần lượt cấp phát cho từng tiến

trình trong danh sách một khoảng thời gian

sử dụng CPU gọi là quantum

• Khi một tiến trình sử dụng CPU đến hết thời

gian quantum dành cho nó, hệ điều hành thu

hồi CPU và cấp cho tiến trình kế tiếp trong

danh sách

Chiến lược điều phối ưu tiên

• Mỗi tiến trình được gán cho một độ ưu tiên

tương ứng

• Tiến trình có độ ưu tiên cao nhất sẽ được

chọn để cấp phát CPU đầu tiên

• Giải thuật điều phối với độ ưu tiên có thể

theo nguyên tắc độc quyền hay không độc

quyền

• Tình trạng „đói CPU‟ (starvation) là một vấn

đề chính yếu

Trang 38

75 Dang Minh Quan - NEU, 2016

Chiến lược công việc ngắn nhất

• Khi CPU được tự do, nó sẽ được cấp phát

cho tiến trình yêu cầu ít thời gian nhất để kết

thúc- tiến trình ngắn nhất

• Giải thuật này cũng có thể độc quyền hay

không độc quyền

• Khó khăn thực sự của giải thuật SJF là không

thể biết được thời gian yêu cầu xử lý còn lại

Trang 39

77 Dang Minh Quan - NEU, 2016

Chiến lược điều phối với nhiều

Chiến lược điều phối Xổ số

• Phát hành một số vé số và phân phối cho các

tiến trình trong hệ thống

• Khi đến thời điểm ra quyết định điều phối, sẽ

tiến hành chọn 1 vé "trúng giải", tiến trình

nào sỡ hữu vé này sẽ được nhận CPU

Trang 40

79 Dang Minh Quan - NEU, 2016

2.3 Cơ chế thông tin liên lạc giữa

các tiến trình

• Nhu cầu liên lạc giữa các tiến trình

• Các vấn đề nảy sinh trong việc liên lạc giữa

Trang 41

81 Dang Minh Quan - NEU, 2016

Các vấn đề nảy sinh trong việc

liên lạc giữa các tiến trình

• Liên kết tường minh hay tiềm ẩn (explicit

• Một tín hiệu được sử dụng để thông báo cho

tiến trình về một sự kiện nào đó xảy ra

• Mỗi tiến trình sở hữu một bảng biễu diễn các

tín hiệu khác nhau

• Với mỗi tín hiệu sẽ có tương ứng một trình

xử lý tín hiệu

Trang 42

83 Dang Minh Quan - NEU, 2016

Liên lạc bằng tín hiệu (2)

• Các tín hiệu được gởi đi bởi :

– Phần cứng

– Hạt nhân hệ điều hành gởi đến một tiến trình

– Một tiến trình gởi đến một tiến trình khác

– Người dùng

Liên lạc bằng tín hiệu (3)

• Khi một tiến trình nhận một tín hiệu, nó có

thể xử sự theo một trong các cách sau :

– Bỏ qua tín hiệu

– Xử lý tín hiệu theo kiểu mặc định

– Tiếp nhận tín hiệu và xử lý theo cách đặc biệt của

tiến trình

Trang 43

85 Dang Minh Quan - NEU, 2016

Liên lạc bằng tín hiệu (4)

• Liên lạc bằng tín hiệu mang tính chất không

đồng bộ

• Hơn nữa các tiến trình không thể kiểm tra

được sự kiện tương ứng với tín hiệu có thật

sự xảy ra ?

• các tiến trình chỉ có thể thông báo cho nhau

về một biến cố nào đó, mà không trao đổi dữ

liệu

Liên lạc bằng đường ống (1)

• Một pipe là một kênh liên lạc trực tiếp giữa

hai tiến trình : dữ liệu xuất của tiến trình này

được chuyển đến làm dữ liệu nhập cho tiến

trình kia dưới dạng một dòng các byte

Trang 44

87 Dang Minh Quan - NEU, 2016

Liên lạc bằng đường ống (2)

• Tiến trình đọc pipe sẽ bị khóa nếu pipe trống,

nó sẽ phải đợi đến khi pipe có dữ liệu để truy

xuất

• Tiến trình ghi pipe sẽ bị khóa nếu pipe đầy,

nó sẽ phải đợi đến khi pipe có chỗ trống để

chứa dữ liệu

• Liên lạc bằng pipe là một cơ chế liên lạc một

chiều (unidirectional)

• Chỉ cho phép kết nối hai tiến trình có quan hệ

cha-con, và trên cùng một máy tính

Liên lạc bằng vùng nhớ chia sẻ(1)

• Cho nhiều tiến trình cùng truy xuất đến một

vùng nhớ chung gọi là vùng nhớ chia sẻ

(shared memory)

• Một vùng nhớ chia sẻ tồn tại độc lập với các

tiến trình

• Khi một tiến trình muốn truy xuất đến vùng

nhớ này, tiến trình phải kết gắn vùng nhớ

chung đó vào không gian địa chỉ riêng của

từng tiến trình

Trang 45

89 Dang Minh Quan - NEU, 2016

Liên lạc bằng vùng nhớ chia sẻ(2)

• Phương thức này làm phát

sinh các khó khăn trong việc

bảo đảm sự toàn vẹn dữ liệu

(coherence)

• Không thể áp dụng hiệu quả

trong các hệ phân tán

Liên lạc bằng trao đổi thông điệp

• Hệ điều hành cung cấp các hàm IPC chuẩn

(Interprocess communication)

– Send(message) : gởi một thông điệp

– Receive(message) : nhận một thông điệp

• Đơn vị truyền thông tin trong cơ chế trao đổi

thông điệp là một thông điệp nên các tiến

trình có thể trao đổi dữ liệu ở dạng có cấu

trúc

Ngày đăng: 22/01/2017, 11:04

HÌNH ẢNH LIÊN QUAN

Bảng các bit - Hướng dẫn tự học môn hệ điều hành đại học kinh tế quốc dân
Bảng c ác bit (Trang 71)
Đồ thị tài nguyên - Hướng dẫn tự học môn hệ điều hành đại học kinh tế quốc dân
th ị tài nguyên (Trang 172)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w