1. Trang chủ
  2. » Thể loại khác

BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH

44 20 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 44
Dung lượng 1,39 MB

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

Nội dung

Các mô hình h th ng VM và non-VM ệ ốNon-virtual Machine Virtual Machine... Java Virtual Machine.

Trang 1

BÀI GI NG Ả

NGUYÊN LÝ H I U HÀNH Ệ Đ Ề

Ch ư ơ ng 2: C u trúc h i u hành ấ ệ đ ề

B môn Khoa h c máy tính ộ ọ

Khoa Công ngh thông tin ệ

H c vi n Nông nghi p Vi t Nam ọ ệ ệ ệ

Trang 4

● Khác nhau gi a giao di n dòng l nh (Command-Line, CLI), giao ữ ệ ệ

di n ệ đồ ọ h a (Graphics User Interface, GUI), Batch

Th c hi n ch ự ệ ươ ng trình (Program execution) – kh n ng c a h ả ă ủ ệ

th ng ố để ạ n p m t chộ ương trình vào b nh và ch y nó, d ng ộ ớ ạ ừ

chương trình (bình thường ho c b t thặ ấ ường)

Th c hi n vào-ra ự ệ (I/O operations) – vì chương trình c a ngủ ườ ửi s

d ng không th th c hi n tr c ti p các ho t ụ ể ự ệ ự ế ạ động vào/ra, H H ph i Đ ả

cung c p m t s phấ ộ ố ương pháp để th c hi n vào/ra (1 file ho c 1 ự ệ ặ

thi t b vào/ra).ế ị

Trang 5

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

Các d ch v c a h i u hành ị ụ ủ ệ đ ề (ti p) ế

Giao ti p ế (Communications) – trao đổi thông tin gi a các ti n trình ữ ế

ang th c hi n trên cùng 1 máy tính ho c trên các máy tính khác

nhau được n i m ng ố ạ

● Giao ti p có th thông qua b nh chia s (ế ể ộ ớ ẻ shared memory) ho c

chuy n thông i p (ể đ ệ message passing): các gói tin được chuy n ể

b i H H.ở Đ

Phát hi n l i ệ ỗ (Error detection) – H H c n ph i thĐ ầ ả ường xuyên quan tâm đến các l i có th x y raỗ ể ả

● Có th l i trong CPU và b nh , trong các thi t b vào-ra, ho c ể ỗ ộ ớ ế ị ặ

trong chương trình c a ngủ ườ ử ụi s d ng

● V i m i lo i l i, H H c n có hành ớ ỗ ạ ỗ Đ ầ động thích h p ợ để đảm b o s ả ự

tính toán phù h p và úng ợ đ đắn

● Tính n ng s a l i có th t ng áng k kh n ng s d ng hi u qu ă ử ỗ ể ă đ ể ả ă ử ụ ệ ả

H H c a ngĐ ủ ườ ử ụi s d ng và các l p trình viên.ậ

Trang 6

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

Các d ch v c a h i u hành ị ụ ủ ệ đ ề (ti p) ế

Có m t t p ch c n ng khác c a H H ộ ậ ứ ă ủ Đ để đảm b o s ho t ả ự ạ động hi u qu ệ ả

c a chính nó thông qua chia s tài nguyên:ủ ẻ

Resource allocation – các tài nguyên ph i ả được phân ph i cho m i ố ỗ

user/ti n trình khi chúng ch y ế ạ đồng th iờ

● Có nhi u lo i tài nguyên: m t s (nh các chu k CPU, b nh chính, file) có ề ạ ộ ố ư ỳ ộ ớ

th có mã phân ph i ể ố đặ c bi t, s khác (nh các thi t b vào/ra) có th có mã ệ ố ư ế ị ể

yêu c u và gi i phóng chung ầ ả

Accounting – theo dõi và ghi l i lo i tài nguyên và lạ ạ ượng s d ng (tài ử ụ

nguyên) c a user nh m m c ích th ng kê.ủ ằ ụ đ ố

Protection & Security – người ch thông tin trên m t h th ng máy tính ủ ộ ệ ố

nhi u ngề ườ ử ụi s d ng ho c n i m ng có th mu n ki m soát s s d ng ặ ố ạ ể ố ể ự ử ụ

thông tin ó, các ti n trình đ ế đồng th i không nên can thi p l n nhauờ ệ ẫ

Trang 7

– Đôi khi các l nh là built-in, ệ

– Đôi khi ch là tên c a các chỉ ủ ương trình (vd UNIX):

» Vd l nh ệ rm file.txt

» N u sau c n thêm l nh m i thì không c n s a ế ầ ệ ớ ầ ử đổi

shell

Trang 8

Giao di n ng ệ ườ i s d ng c a H H ử ụ ủ Đ

Giao di n ng ệ ườ i s d ng c a H H ử ụ ủ Đ (ti p) ế

b) Graphical User Interface (GUI)

■ Giao di n ệ desktop thân thi n

● Thường dùng chu t, bàn phím, màn hìnhộ

Icons đại di n cho các file, chệ ương trình, hành động,…

● Các nút chu t khác nhau trên các ộ đố ượi t ng gây các hành động

khác nhau (cung c p thông tin, l a ch n, th c hi n ch c n ng, ấ ự ọ ự ệ ứ ă

m th m c)ở ư ụ

● Được phát minh t i Xerox PARC nh ng n m 1970ạ ữ ă

■ Hi n nay nhi u H H bao g m c giao di n CLI và GUIệ ề Đ ồ ả ệ

b) Microsoft Windows có GUI v i CLI ớ “command” shell

c) Apple Mac OS X có giao di n GUI là ệ “Aqua” v i UNIX kernel bên ớ

Trang 9

2.3 System Calls

■ Cung c p giao di n l p trình cho các d ch v c a H H.ấ ệ ậ ị ụ ủ Đ

■ Thường được vi t b ng m t ngôn ng b c cao (C, C++)ế ằ ộ ữ ậ

■ H u h t ầ ế được truy nh p b i các chậ ở ương trình thông qua m t giao di n ộ ệ

l p trình ng d ng (ậ ứ ụ Application Program Interface - API) b c cao, ít

khi s d ng tr c ti p system call.ử ụ ự ế

■ Ba API ph bi n nh t là Win32 API cho Windows, POSIX API cho các ổ ế ấ

h th ng trên n n POSIX (g m h u h t các phiên b n c a UNIX, Linux, ệ ố ề ồ ầ ế ả ủ

Mac OS X), và Java API cho Java virtual machine (JVM)

■ T i sao l i s d ng các API thay vì các system call?ạ ạ ử ụ

(Chú ý: tên c a các system-call ủ được s d ng ây là t ng quát)ử ụ ở đ ổ

Trang 10

Ví d các System Call ụ

■ Chu i system call ỗ để copy n i dung c a 1 file t i file khácộ ủ ớ

Trang 11

Ví d API chu n ụ ẩ

■ Xét hàm ReadFile() trong Win32 API – hàm đọc 1 file

■ Các tham s ố được truy n cho ReadFile()ề

● HANDLE file – file c n ầ đọc

● LPVOID buffer – buffer để ữ ệ đượ đọ d li u c c vào và ghi ra

● DWORD bytesToRead – s byte ố đượ đọc c vào buffer

● LPDWORD bytesRead – s byte ố đọ được c trong l n ầ đọc trước

● LPOVERLAPPED ovl – ch ra n u s d ng vào/ra ki u g i ch ng.ỉ ế ử ụ ể ố ồ

Trang 12

Th c thi system call ự

■ Thường thì m t s ộ ố được g n v i m i system callắ ớ ỗ

● Giao di n system-call duy trì m t b ng ệ ộ ả đượ đc ánh ch s theo ỉ ố

nh ng s này.ữ ố

■ Giao di n system call g i system call mong mu n trong kernel H H ệ ọ ố Đ

và tr v tr ng thái c a nó và các giá tr tr v nào ó.ả ề ạ ủ ị ả ề đ

■ Ngườ ọi g i không c n bi t gì v system call ầ ế ề được th c thi nh th nàoự ư ế

Trang 13

M i quan h API – System Call – H H ố ệ Đ

Trang 14

Ví d th vi n C chu n ụ ư ệ ẩ

Ví d th vi n C chu n ụ ư ệ ẩ

■ Chương trình C g i l i g i th vi n printf(), mà g i t i system call ọ ờ ọ ư ệ ọ ớ

write()

Trang 15

Truy n tham s cho System Call ề ố

■ Thường c n nhi u thông tin h n là ầ ề ơ đơn gi n ch xác ả ỉ định system call mong mu nố

● Ki u và lể ượng thông tin chính xác thay đổi theo H H và theo l i g iĐ ờ ọ

■ Ba phương th c t ng quát ứ ổ được s d ng ử ụ để truy n tham s ề ố cho H H.Đ

1. Đơn gi n nh t: Truy n tham s trong các thanh ghi.ả ấ ề ố

 Trong m t s trộ ố ường h p: s tham s nhi u h n s thanh ghiợ ố ố ề ơ ố

2. Tham s ố được ch a trong m t b ng trong b nh , và a ch c a b ng ứ ộ ả ộ ớ đị ỉ ủ ả

c truy n nh m t tham s trong m t thanh ghi

đượ ề ư ộ ố ộ

 Phương pháp này được s d ng b i Linux và Solarisử ụ ở

3. Đẩy (push, store) các tham s vào stack b ng chằ ương trình, và l y ra ấ

kh i stack (ỏ pop) b i H H.ở Đ

● Các phương pháp dùng b ng và stack không gi i h n s lả ớ ạ ố ượng hay

dài c a các tham s c truy n

độ ủ ố đượ ề

Trang 16

Truy n tham s thông qua B ng ề ố ả

Trang 18

Các lo i System Calls ạ

■ Qu n lý file ả (File management)

● t o file, xóa file ạ

● m , óng ở đ

● đọ c, ghi, nh v đị ị

● l y/ thi t l p thu c tính file ấ ế ậ ộ

■ Qu n lý thi t b ả ế ị (Device management)

● yêu c u thi t b , gi i phóng thi t b ầ ế ị ả ế ị

● đọ c, ghi, nh v đị ị

Trang 19

Các lo i System Calls ạ

■ Duy trì thông tin (Information maintenance)

● truy n thông tin tr ng thái ề ạ

● g n k t, tháo g logic các thi t b xa (remote device) ắ ế ỡ ế ị ở

Trang 20

MS-DOS

Trang 21

UNIX

Trang 23

2.4 Các ch ươ ng trình h th ng ệ ố

■ Các chương trình h th ng cung c p m t môi trệ ố ấ ộ ường thu n ti n cho ậ ệ

vi c th c hi n và phát tri n chệ ự ệ ể ương trình Chúng có th ể được phân

lo i thành:ạ

● Thao tác v i file: t o, xóa, copy, ớ ạ đổi tên… các file và th m cư ụ

● Thông tin tr ng thái: ngày gi , dung lạ ờ ượng b nh tr ng, s user…ộ ớ ố ố

● S a ử đổi file: trình so n th o v n b n có th t o, s a n i dung file trên aạ ả ă ả ể ạ ử ộ đĩ

● H tr ngôn ng l p trình: trình biên d ch, trình thông d ch, trình g l i…ỗ ợ ữ ậ ị ị ỡ ỗ

● N p và th c hi n chạ ự ệ ương trình: n p CT ã ạ đ được biên d ch vào b nh ị ộ ớ để

th c hi n ự ệ

● Giao ti p: cung c p c ch t o k t n i o gi a các ti n trình, các user, các ế ấ ơ ế ạ ế ố ả ữ ế

máy tính để ử g i message, duy t web, g i email, truy n file… ệ ử ề

■ H u h t cách nhìn nh n c a ngầ ế ậ ủ ườ ử ụi s d ng v H H ề Đ được xác nh đị

b i các chở ương trình h th ng, không th c s b i các system call.ệ ố ự ự ở

Trang 24

2.5 Thi t k và th c thi H H ế ế ự Đ

2.5 Thi t k và th c thi H H ế ế ự Đ

■ Thi t k và th c thi H H không có gi i pháp hoàn h o, nh ng m t s ế ế ự Đ ả ả ư ộ ố

phương pháp ã ch ng minh thành côngđ ứ

■ C u trúc bên trong c a các H H khác nhau có th r t khác nhauấ ủ Đ ể ấ

■ B t ắ đầ ừ ệu t vi c xác nh các m c tiêu và đị ụ đặ đ ểc i m

■ B tác ị động b i s l a ch n ph n c ng, lo i H H: ở ự ự ọ ầ ứ ạ Đ chia s th i gian, ẻ ờ

n ng i dùng, a ng i dùng, phân tán, th i gian th c…

User goals và System goals

● User goals – H H c n d s d ng, d h c, áng tin c y, an toàn, Đ ầ ễ ử ụ ễ ọ đ ậ

nhanh

● System goals – H H c n d thi t k , th c thi và duy trì, c ng nh Đ ầ ễ ế ế ự ũ ư

Trang 25

Thi t k và th c thi H H ế ế ự Đ

Thi t k và th c thi H H ế ế ự Đ (ti p) ế

■ Nguyên lý quan tr ng là s tách bi t:ọ ự ệ

Policy (chính sách): Cái gì s ẽ được làm? - What

Mechanism (c ch ):ơ ế Làm nó nh th nào ư ế ? - How

● S tách bi t chính sách v i c ch cho phép s linh ho t t i a n u ự ệ ớ ơ ế ự ạ ố đ ế

sau này các quy t nh chính sách ế đị được thay đổi

● VD: Các H H vi nhân (nh UNIX, Solaris) tách bi t c ch và Đ ư ệ ơ ế

chính sách b ng cách th c thi m t t p c b n các kh i t o d ng ằ ự ộ ậ ơ ả ố ạ ự

ban đầu, h u nh ầ ư độ ậc l p v i chính sách; cho phép các c ch và ớ ơ ế

chính sách tiên ti n h n có th ế ơ ể được thêm vào thông qua các

mô un kernel do ngđ ười s d ng t o ho c do chính chử ụ ạ ặ ương trình

c a ngủ ườ ử ụi s d ng Trong phiên b n m i nh t c a Solaris, tùy vào ả ớ ấ ủ

b ng nào ả được n p, h th ng có th là chia s th i gian, x lý theo ạ ệ ố ể ẻ ờ ử

lô, th i gian th c, chia s công b ng, hay d ng k t h p b t k ờ ự ẻ ằ ạ ế ợ ấ ỳ

Trang 26

Th c thi h th ng ự ệ ố

Th c thi h th ng ự ệ ố

■ Tr ướ đ c ây, H H Đ đượ c vi t b ng ngôn ng assembly, ế ằ ữ

hi n nay có th vi t b ng nh ng ngôn ng b c cao ệ ể ế ằ ữ ữ ậ (UNIX, PS/2, Windows NT ch y u vi t b ng C) ủ ế ế ằ

■ Mã đượ c vi t b ng ngôn ng b c cao: ế ằ ữ ậ

Trang 28

L p áy (layer 0) là ph n c ng; l p cao nh t ớ ở đ ầ ứ ớ ấ

(layer N) là user interface.

■ B ng cách chia thành các l p nh trên, m i l p ch ằ ớ ư ỗ ớ ỉ

s d ng các ch c n ng và d ch v c a các l p ử ụ ứ ă ị ụ ủ ớ

d ướ i.

Trang 29

H H Đ đượ c phân l p ớ

Trang 30

C u trúc H H UNIX ấ Đ

■ UNIX – là H H khác mà ban Đ đầ đ u ã b h n ch b i ị ạ ế ở

ch c n ng ph n c ng ứ ă ầ ứ

■ H H UNIX bao g m 2 ph n riêng bi t: Đ ồ ầ ệ

● Systems programs – các ch ươ ng trình h th ng ệ ố

● The kernel - nhân

 Bao g m t t c các l p n m d ồ ấ ả ớ ằ ướ i giao di n system-call và ệ

n m trên physical hardware ằ

Trang 31

C u trúc l p H H UNIX ấ ớ Đ

C u trúc l p H H UNIX ấ ớ Đ (ti p) ế

Trang 32

■ S giao ti p di n ra gi a các module c a ngự ế ễ ữ ủ ười s d ng b ng ử ụ ằ

phương th c message passing.ứ

Trang 33

C u trúc vi nhân lai c a Mac OS X ấ ủ

Trang 34

d) Modules

■ H u h t các H H hi n ầ ế Đ ệ đại th c thi các kernel module:ự

● S d ng phử ụ ương pháp hướng đố ượi t ng

Trang 35

C u trúc mô un c a H H Solaris ấ đ ủ Đ

Trang 36

2.7 Virtual Machines

■ M t ộ máy o ả (virtual machine) là m t chộ ương trình gi l p ph n c ng ả ậ ầ ứ

(hardware simulator) Ch y N b n copy c a chạ ả ủ ương trình gi l p này, ả ậ

Trang 37

Các mô hình h th ng VM và non-VM ệ ố

Non-virtual Machine Virtual Machine

Trang 38

Các l i i m c a Virtual Machine ợ đ ể ủ

■ Virtual-machine cung c p s b o v hoàn toàn các ấ ự ả ệ

tài nguyên h th ng vì m i máy o ệ ố ỗ ả đượ c tách bi t ệ

v i các máy o khác ớ ả

■ R t lý t ấ ưở ng cho vi c nghiên c u và phát tri n các ệ ứ ể

H H S phát tri n h th ng o không phá v s Đ ự ể ệ ố ả ỡ ự

ho t ạ độ ng c a h th ng th t ủ ệ ố ậ

Trang 39

Các b t l i c a Virtual Machine ấ ợ ủ

■ Không chia s tr c ti p các tài nguyên.ẻ ự ế

■ Khó th c hi n ự ệ Để ă t ng hi u qu , chúng ta ch y l nh không ệ ả ạ ệ đặc quy n trên ph n c ng Nh ng i u gì x y ra n u…ề ầ ứ ư đ ề ả ế

● Chương trình người s d ng trong trình gi l p t o system call trong ử ụ ả ậ ạ

ch ế độ ự th c (real user mode), gây ra ng t th cắ ự

● H H th c trong ch Đ ự ở ế độ real kernel, thi t l p trình gi l p thành ch ế ậ ả ậ ế độ

simulated kernel, kh i ở độ ng l i s th c hi n trình gi l p trong ch ạ ự ự ệ ả ậ ế độ

real user

● Trình gi l p ch y l nh ả ậ ạ ệ đặc quy n (vd: I/O) trong ch ề ế độ real user, gây

ra real trap

● H H th c gi l p I/O trong ch Đ ự ả ậ ế độ real kernel, kh i ở độ ng l i trình gi l p ạ ả ậ

trong ch ế độ simulated kernel và real user.

■ N u i u này quá khó hi u, hãy tế đ ề ể ưởng tượng xem vi c vi t code x ệ ế ử

lý nó úng thì khó kh n nh th nào…đ ă ư ế

Trang 40

Ki n trúc VMware ế

Trang 41

Java Virtual Machine

■ Các chương trình Java sau khi biên d ch thành các t p bytecode có ị ệ

tính trung l p n n (platform-neutral bytecode, có tên m r ng ậ ề ở ộ .class),

và được th c hi n b i Java Virtual Machine (JVM).ự ệ ở

● mô un ph n m m thông d ch các bytecode ch 1 l n.đ ầ ề ị ỉ ầ

● Just-In-Time (JIT) compiler chuy n các bytecode thành ngôn ng ể ữ

máy t nhiên ự → làm t ng hi u n ng.ă ệ ă

Trang 42

Java Virtual Machine

Trang 43

2.8 System Generation (SYSGEN)

■ Các H H Đ được thi t k ế ế ểđ ch y trên b t k lo i máy nào; sau ó h ạ ấ ỳ ạ đ ệ

th ng ph i ố ả được c u hình cho m i máy tính c th Ti n trình ó ấ ỗ ụ ể ế đ được

g i là System generation.ọ

■ H H thĐ ường được phân ph i trên các ố đĩa CD Để ạ t o ra 1 H H, Đ

chúng ta s d ng 1 chử ụ ương trình đặc bi t - SYSGEN.ệ

■ Chương trình SYSGEN xác định thông tin liên quan đến c u hình ấ

riêng c a h th ng ph n c ng t 1 file ho c yêu c u ngủ ệ ố ầ ứ ừ ặ ầ ườ ử ụi s d ng cung c p:ấ

● S d ng CPU nào? Dung lử ụ ượng b nh kh d ng?ộ ớ ả ụ

● Thông tin v các thi t b kh d ng?ề ế ị ả ụ

● Các l a ch n H H nào ự ọ Đ được yêu c u? Nh ng giá tr tham s nào ầ ữ ị ố được

ử ụ

Trang 44

■ Sau khi h th ng ệ ố được sinh ra, nó ph i ả được ph n c ng s d ng ầ ứ ử ụ →

làm sao để ph n c ng bi t n i ch a nhân H H (kernel), n p nh th ầ ứ ế ơ ứ Đ ạ ư ế

nào?

Booting – quá trình kh i ở động máy tính b ng cách n p nhân ằ ạ

Bootstrap program – o n mã đ ạ được ch a trong ROM c a h u h t các ứ ủ ầ ế

h th ng máy tính ệ ố để có th xác nh v trí c a nhân, n p nó vào b ể đị ị ủ ạ ộ

nh , và b t ớ ắ đầu s th c hi n c a nó.ự ự ệ ủ

Ngày đăng: 18/04/2022, 15:39

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