1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Cấu trúc hệ điều hành

48 1,3K 3
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Cấu Trúc Hệ Điều Hành
Tác giả Trương Văn Quốc, Trần Văn Quang, Nguyễn Hồng Quân
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài luận
Thành phố Hồ Chí Minh
Định dạng
Số trang 48
Dung lượng 1,3 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ấu trúc hệ điều hành

Trang 2

CHƯƠNG 2: CấU TRÚC Hệ ĐIềU HÀNH

Trang 3

MụC TIÊU

 Mô tả các dịch vụ hệ điều hành cung cấp cho người sử dụng, các quy trình và các hệ thống khác

 Thảo luận về sự khác nhau trong cấu trúc hệ điều hành

 Phương pháp để cài đặt , tuỳ chỉnh, cách khởi động hệ điều hành

3

Trang 4

CÁC Hệ THốNG THÔNG TIN DịCH Vụ

 Một hệ điều hành – dịch vụ cung cấp các chức năng hữu ích cho người sử dụng :

 Giao diện người sử dụng-Hầu hết các HĐH đều có giao diện người sử dụng(user interface –UI)

 Sự khác nhau giữa Command-Line (CLI), Graphics User Interface (GUI), Batch

 Thực hiện chương trình - Các hệ thống cần phải có khả năng tải một chương trình vào bộ nhớ và để chạy chương trình đó, kết thúc thực hiện, hoặc là bình thường hay khác thường (chỉ lỗi)

 Hoạt động vào ra(I/O)- Một chương trình chạy có thể yêu cầu vào ra, trong đó có thể bao gồm một tập tin hoặc một thiết bị vào ra (I/O device)

 Sử dụng file hệ thống - Các file hệ thống là đặc biệt quan trọng Rõ ràng, các chương trình cần phải đọc và viết các file và thư mục, tạo và xóa chúng, họ tìm kiếm, danh sách tập tin Thông tin, cho phép quản lý

4

Trang 5

CÁC Hệ THốNG THÔNG TIN DịCH Vụ

(TIếP)

 Một hệ điều hành – dịch vụ cung cấp các chức năng hữu

ích cho người sử dụng (tiếp):

 Truyền thông – điều khiển quá trình trao đổi thông tin, trên

cùng một máy tính hoặc giữa các máy tính trên một mạng

lưới

 Truyền thông có thể được chia sẻ thông qua bộ nhớ hoặc thông qua tin

nhắn (gói chuyển bởi các hệ điều hành)

 Phát hiện lỗi - Hệ điều hành cần phải được liên tục có thể

nhận ra các lỗi

 Có thể xảy ra trong CPU và bộ nhớ vật lý, trong thiết bị vào ra, trong

chương trinh của người sủ dụng

 Đối với mỗi loại hình báo lỗi, hệ điều hành nên dùng các hành động

thích hợp để đảm bảo chính xác và tính toán phù hợp

 Các tiện ích gỡ lỗi có thể giúp người dùng và các lập trình viên tăng

Trang 6

CÁC Hệ THốNG THÔNG TIN DịCH Vụ

(TIếP)

 Một chức năng khác của hệ điều hành là bảo đảm sự tồn tại cho hiệu quả hoạt động

của mình thông qua hệ thống chia sẻ tài nguyên

 Phân bổ nguồn lực - Khi có nhiều người dùng hoặc nhiều công việc làm đồng thời,

nguồn tài nguyên phải được chia nhỏ ra

 Nhiều loại hình tài nguyên - Một số (như là chu kỳ CPU, bộ nhớ chính, và lưu

trữ file) có thể được phân bổ mã đặc biệt, một số khác (chẳng hạn như thiết bị vào ra) có thể có yêu cầu nói chung và phát hành mã

 Thống kê- Để theo dõi trong đó có bao nhiêu người sử dụng và các loại tài nguyên

của máy tính

 Bảo vệ và an ninh - Các chủ sở hữu của thông tin được lưu giữ trong một máy tính

dùng chung hay hệ thống mạng máy tính có thể muốn kiểm soát việc sử dụng

thông tin đó, các quy trình xảy ra đồng thời không nên can thiệp với nhau

 Bảo vệ bao gồm việc bảo đảm rằng tất cả các truy cập vào hệ thống tài nguyên

phải được kiểm soát

 An ninh của hệ thống việc truy cập từ bên ngoài phải được xác nhận, kéo dài

để bảo vệ bên ngoài thiết bị vào ra truy cập từ các nỗ lực không hợp lệ

 Nếu là một hệ thống được bảo vệ và an toàn, nghĩa là phải được đặt nền móng

cho chính nó Một chuỗi chỉ như mạnh mẽ nhờ các yếu liên kết

6

Trang 7

GIAO DIệN Hệ ĐIềU HÀNH CủA NGƯờI Sử

DụNG

(USER OPERATING SYSTEM INTERFACE – CLI)

 CLI(Command-line) cho phép trực tiếp nhập lệnh

 Đôi khi triển khai thực hiện trong kernel , đôi khi do hệ thống

chương trình

 Đôi khi nhiều mùi vị triển khai thực hiện – Vỏ

 Chủ yếu tìm nạp một lệnh từ người dùng và thực thi nó

 Đôi khi xây dựng lệnh, đôi khi chỉ cần tên của các chương trình

 Nếu sau, việc thêm các tính năng mới không cần sửa đổi, bổ sung thêm

7

Trang 8

USER OPERATING SYSTEM

INTERFACE)

 Thân thiện với người dùng máy tính để bàn giao diện ẩn

 Thông thường chuột, bàn phím, và màn hình

 Icon đại diện cho file, chương trình, hành động, vv

 Dùng con chuột tác động đến các đối tượng khác nhau trong

giao diện gây ra nhiều hoạt động (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

 Nhiều hệ thống hiện nay bao gồm cả hai CLI và giao diện GUI

 Microsoft Windows là GUI với CLI “command" shell

 Apple Mac OS X như là "Aqua" GUI giao diện với UNIX kernel

bên dưới và hệ vỏ có sẵn

 Solaris là CLI với tùy chọn giao diện GUI (Java Desktop, KDE)

8

Trang 9

 Phần lớn các truy cập thông qua một chương trình cao cấp-Lập

trình Ứng dụng (API) hơn là trực tiếp sử dụng hệ thống gọi

 Ba API phổ biến nhất là Win32 API cho Windows, posix API

cho posix dựa trên hệ thống (bao gồm hầu như tất cả các phiên

bản của UNIX, Linux, và hệ điều hành Mac OS X), và Java

API cho các máy ảo Java (JVM)

 Tại sao phải sử dụng các API hơn là các lời gọi hệ thống?

(Lưu ý rằng lời gọi hệ thống là tên được sử dụng trong suốt văn

bản này là chung)

9

Trang 10

VÍ Dụ Về LờI GọI Hệ THốNG

 Lời gọi hệ thống được dùng để sao chép nội dung của 1

file vào 1 file khác

10

File nguồn File đích

Trang 11

VÍ Dụ Về STANDARD API

 Xem xét cách đọc của JAVA

byte [] b – bộ đệm là nơi đọc dữ liệu

Int off - bắt đầu offset trong b, nơi các đọc dữ liệu

Int len - tối đa số byte đọc

11

Trang 12

Sự THI HÀNH CUA LờI GọI Hệ THốNG

 Thông thường, một số liên kết với mỗi hệ thống gọi

 Hệ thống-gọi giao diện duy trì một bảng mục theo những con

số

 Hệ thống giao diện gọi dẫn ra hệ thống gọi trong hệ điều

hành kernel và trở về tình trạng của hệ thống gọi và trả về

giá trị

 Người gọi cần biết gì về cách lời gọi hệ thống được thực

hiện

 Chỉ cần phải tuân theo các API và hiểu rõ những gì sẽ làm hệ

điều hành như là một kết quả cuộc gọi

 Hầu hết các chi tiết của giao diện hệ điều hành dều ẩn do các

lập trình viên từ API

 Quản lý bởi thời gian chạy hỗ trợ thư viện (bộ các chức năng được

xây dựng vào thư viện bao gồm trình biên dịch) 12

Trang 13

API – SYSTEM CALL – QUAN Hệ TRONG

HDH

13

Ứng dụng cho ngươi dùng

Hệ thống gọi giao diện

Trang 14

VÍ Dụ Về THƯ VIệN C CHUẩN

14

Chương trình C

Thư viện C chuẩn

Trang 15

TRUYềN THAM Số CHO CÁC LờI GọI Hệ

THốNG

 Bình thường, nhiều thông tin được yêu cầu nhận dạng một cách

đơn giản hơn mong muốn của hệ thống gọi

 Loại và số lượng của thông tin khác nhau tùy thuộc vào hệ điều

hành và cách gọi

 Ba phương pháp chính được sử dụng để gửi tham số cho các hệ

điều hành

 Đơn giản nhất: truyền tham số vào các thanh ghi

 Trong một số trường hợp, có thể có nhiều tham số hơn số thanh ghi

 Các tham số được lưu giữ trong một khối, hoặc bảng, trong bộ nhớ,

và địa chỉ của khối được truyền bằng tham số vào trong thanh ghi

 Phương pháp tiếp cận này được sủ dụng cho Linux và Solaris

 Các tham số được đặt, hoặc đưa vào stack bởi các chương trình và

lấy ra khỏi stack do hệ điều hành

 Khối và stack các phương thức không giới hạn số lượng hay chiều

Trang 16

TRUYềN THAM Số VÀO BảNG

16

Thanh ghi

Hệ Điều hành Người dùng

Trang 18

Sự THựC HIệN MS_DOS

18

(a) Khi mới khởi động

(b) Khi đang chạy chương trình

Lệnh phiên

dịch

Quá trình

Trang 19

CHƯƠNG TRÌNH HOạT ĐộNG NHIềU

NHÁNH LIÊN TụC Tự DO BSD

19

Trang 20

CÁC CHƯƠNG TRÌNH Hệ THốNG

 Các chương trình hệ thống của máy tính cung cấp một môi trường

tiện lợi cho sự phát triển và thực hiện của chương trình Có thể đuợc

phân chia thành:

 Sự thao tác dữ liệu

 Hiện trạng thông tin

 Sửa đổi dữ liệu

 Chu cấp ngôn ngữ lập trình

 Tải và thực hiện chương trình hoạt động

 Sự giao tiếp

 Những chương trình áp dụng

 Hầu hết ý kiến của những người sử dụng của hệ thống hoạt động

được nhận dạng bởi hệ thống những chương trình, không phải là hệ

thống những cuộc gọi 20

Trang 21

SOLARIS 10 DTRACE FOLLOWING

SYSTEM CALL

21

Trang 22

CÁC CHƯƠNG TRÌNH Hệ THốNG

 Cung cấp môi trường tiện lợi cho sự phát triển và thực hiện của chương trình

hoạt động

 Một số người sử dụng dễ dàng sử dụng giao diện trong hệ thống cuộc

gọi Số khác thì xem ra quá phức tạp

 Quản lý dữ liệu - chế tạo, xoá bỏ, sao chép, sửa tên, in ra, vứt bỏ, kê khai, sử

dụng dữ liệu và những danh bạ điện thoại

 Hiện trạng thông tin

 Một số yêu cầu về những thông tin – ngày, giờ, số lượng bộ nhớ sẵn có,

khoảng trống trong đĩa số lượng người sử dụng

 Một số khác cung cấp chi tiết các đặc trưng, sổ ghi và sự chỉnh lý thông

tin

 Tiêu biểu, những chương trình này định dạng và in ra trong giai đoạn

cuối cùng của việc in ra hoặc trong những thiết bị ra khác

 Một số hệ thống thực hiện đăng ký - người dùng có thể lưu trữ và tìm lại

Trang 23

CÁC CHƯƠNG TRÌNH Hệ THốNG(TIếP)

 Sửa đổi dữ liệu

 Những người biên tập văn bản để tạo ra và sửa đỏi dữ liệu

 Những khả năng đặc biệt để tìm kiếm nội dung dữ liệu hoặc thực hiện

thay đổi văn bản

 Lập trình – chu cấp ngôn ngữ - biên soạn tài liệu, tập hợp, gỡ rối và thỉnh

thoảng cung cấp việc phiên dịch

 Chương trình tải và thực hiện - tải đơn thuần, tải di chuyển, kết nối trình soạn

thảo và tải không hạn chế, hệ thống gỡ rối được nâng trình độ cao hơn và

ngôn ngữ máy tính

 Giao tiếp – cung cấp máy móc cho việc sáng tạo là kết nối thực tế giữa quy

trình, người sử dụng và hệ thống máy tính

 cho phép người sử dụng gởi tin nhắn đến màn hình của người khác, lướt web,

gởi thư điện tử(e-mail), nối mạng, trao đổi dữ liệu giữa máy này với máy

khác

23

Trang 24

Hệ ĐIềU HÀNH, THIếT Kế VÀ THựC HIệN

 sự thiết kế và thực hiện của hệ điều hành không “solvable”,

nhưng một số cách thức được cải tiến thành công

 Cấu trúc bên trong của những hệ điều hành khác nhau có thể thay

đổi rất nhiều

 Bắt đầu bởi những mục đích xác định và quy cách kỹ thuật

 Bị ảnh hưởng bởi sự lựa chọn của phần cứng, thể loại hệ thống

Mục đích của người sử dụng và mục đích của hệ thống

 Mục đích của người sử dụng - hệ điều hành nên tiện lợi để sử

dụng, dễ dàng để học, đáng tin cậy, an toàn và nhanh

 Mục đích của hệ thống - hệ điều hành nên dễ dàng thiết kế,

thực hiện, và bảo trì, cũng linh hoạt, đáng tin cậy, không bị

mắc lỗi và công hiệu

24

Trang 25

Hệ ĐIềU HÀNH, THIếT Kế VÀ THựC HIệN

(TIếP)

 Nguyên tắc chung quan trọng để phân biệt

Chính sách: Sẽ được làm gì?

Cơ cấu: Thực hiện bằng cách nào?

 Cơ cấu quyết định cách để thực hiện một số việc, chính

sách quyết định sẽ được làm gì

 Sự phân chia của chính sách từ cơ cấu là một nguyên lý

rất quan trọng, nó cho phép linh hoạt một cách tối đa nếu

những quyết định của khế ước được thay đổi sau đó

25

Trang 26

CấU TRÚC ĐƠN GIảN

 MS-DOS – được viết để cung cấp những chức năng trong

những dấu cách tối thiểu

 Không phân chia thành những bộ phận độc lập

 Mặc dù MS-DOS có một số cấu trúc nhưng những cấp độ của

chức năng và giao diện của nó không được phân chia tốt

26

Trang 27

CấU TRÚC TầNG CủA MS-DOS

27

Chương trình

ứng dụng

Chương trình lưu trú hệ thống

Driver của thiết

bị của MS-DOS

Driver cua

ROM-BIOS

Trang 28

PHƯƠNG PHÁP TầNG

 Hệ điều hành được phân chia thành một số tầng (cấp độ),

mỗi cái được xây dựng trên những tầng thấp hơn Tầng

cuối (tầng 0) là phần cứng, tầng; tầng cao nhất (tầng N) là

giao diện của người sử dụng

 Với sự điều chỉnh đó, những tầng được lựa chọn để mỗi

cái sử dụng nhiều chức năng (hoạt động) và những dịch

vụ của chỉ những tầng cấp độ thấp

28

Trang 29

CÁC TầNG CủA Hệ ĐIềU HÀNH

29

Trang 30

Hệ ĐIềU HÀNH UNIX

 UNIX – được giới hạn bởi những chức năng phần cứng,

nguyên bản hệ điều hành UNIX đã có cấu trúc bị giới

hạn hệ điều hành UNIX bao gồm 2 thành phần

 Hệ thống chương trình

 Kernel(nhân)

 Bao gồm cả những thứ trên giao diện hệ thống cuộc gọi và trên phần

cứng vật lý

 Cung cấp hệ thống dữ liệu, điều khiển CPU, quản lý bộ nhớ, và những

chức năng hệ điều hành khác; có nhiều chức năng cho một cấp độ

30

Trang 31

CấU TRÚC Hệ UNIX

31

Trang 32

Hệ THốNG CấU TRÚC MICROKERNEL

(KERNEL)

 Chuyển nhiều thứ từ hạt nhân vào trong khoảng sử dụng

 Thông tin lấy từ trong đơn vị sử dụng được sử dụng để kết thúc

thông điệp

 Ưu điểm:

 Dễ dàng mở rộng hạt nhân

 Dễ dang tạo kiến trúc cho cổng của hệ điều hành

 Đáng tin cậy hơn (ít mã được chạy trong phương thức hạt nhân)

 Bảo đảm hơn

 Nhược điểm:

 Sự thi hành lệnh được nâng lên trong khoảng sử dụng tới thông

tin trong hạt nhân

32

Trang 33

33

Trang 34

 Mỗi thành phần có thể được tải khi cần trong nhân(kernel)

 Nói chung là như phân lớp nhưng phức tạp hơn

34

Trang 35

Trình điều khiển Bus

và thiết bị

Các cấp thiết lập

Hệ thống file

Lời gọi hệ thống có thể tải được

Các dạng có thể thực thi

Trang 36

MÁY ảO

 Một máy ảo tạo nên một cách tiếp cận phân tầng tới phần

kết thúc logic của nó Nó xem phần cứng và nhân hệ điều

hành như thể chúng là tất cả phần cứng vậy

 Một máy ảo cung cấp một giao diện y hệt như các phần

cứng cơ sở

 hệ điều hành tạo nên một bộ đa xử lí ảo (đa tiến trình ảo)

mà mỗi cái thực hiện trên bộ xử lí và bộ nhớ (ảo) của

chúng

36

Trang 37

MÁY ảO (TIếP)

 Các nguồn tài nguyên của máy tính tự nhiên được chia sẻ

để tạo nên máy ảo

 Sự thiết lập CPU tạo một thể hiện mà người dùng có bộ

xử lí riêng

 Sự cuộn lại (nén lại) và một hệthống file có thể cung cấp

một thẻ đọc ảo, và một máy in dòng ảo

 Một giới hạn thời gian người dùng bình thường phục vụ

như là một bảng điều khiển ảo

37

Trang 39

MÁY ảO (TIếP)

 Khái niệm máy ảo cung cấp một sự bảo vệ hoàn hảo cho

tài nguyên hệ thống bởi vì mỗi máy ảo là độc lập với

những máy ảo khác Tuy nhiên, sự độc lập này không cho

phép chia sẻ trực tiếp nguồn tài nguyên

 Một hệ thống máy ảo là một phương tiện hòan hảo cho

việc nghiên cứu và phát triển hệ điều hành Sự phát triển

của hệ điều hành được tiến hành trên máy ảo thay vì trên

máy tính bình thường vì thế không phá vỡ hệ điều

hành bình thường

 Khái niệm máy ảo thật khó để thực thi đầy đủ bởi vì sự

nỗ lực đòi hỏi cung cấp một bản sao chính xác đối với

Trang 42

Chương trình java(file class)

javaAPI(file class)

HĐHMÁY ảO JAVA

42

Trang 44

Môi trường phát triển Java

Trình biên dịch java Môi trường thời gian biên

Trang 45

Tên miền A Tên miền B

Đối tượng và lớp

Tiến trình Java

Hệ ĐIềU HÀNH JAVA

45

Trang 46

TổNG QUÁT Hệ ĐIềU HÀNH

 HĐH được thiết kế để chạy một lớp bất kì của máy hệ

thống phải được cấu hình một địa chỉ (site) nhất định

 Chương trình SYSGEN chứa những thông tin liên quan

đến cấu hình chỉ định của phần cứng máy tính

 Booting: Khởi động máy tính bằng việc tải nhân hđh

 Chương trình Bootrap – mã lưu trữ trong ROM mà có thể

định vị cho nhân, tải nó vào bộ nhớ và thực thi nó

46

Trang 47

 Đôi lúc tiến trình hai bước nơi mà khối boot tại một nơi

cố định tải Bootrap Loader

 Khi nguồn được thiết lập, các chương trình khởi động

thực thi tại nơi của bộ nhớ cố định

 Firmware được sử dụng để lưu lại các mã cài đặt Boot

47

Trang 48

KếT THÚC CHƯƠNG 2

48

Ngày đăng: 18/03/2013, 16:48

TỪ KHÓA LIÊN QUAN

w