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

Bài giảng hệ điều hành - chương 2 - cấu trúc hệ điều hành

45 368 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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

Định dạng
Số trang 45
Dung lượng 5,77 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 dịch vụ của hệ điều hành ¢ HDH cung cấp môi trường cho các chương trình thực thi và các dịch vụ cho các chương trình và người dùng.. ° - Các dịch vụ cung cấp các tính năng hữu ích

Trang 1

Chương II: Cấu Trúc Hệ

Điều Hành

Khoa Công Nghệ Thông Tin & Truyền Thông

Dai hoc Can Tho

Giang vién: Ha Duy An

Trang 2

NỘI DUNG

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

Giao điện người dùng

Lời goi hệ thông

Trang 3

1 Các dịch vụ

của hệ điều hành

Trang 4

Mô hình kiến trúc dich vu cua HDH

user and other system programs

execution operations systems communication

protection

and

security

error detection

Trang 5

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

¢ HDH cung cấp môi trường cho các chương trình thực thi và các dịch vụ cho các chương trình và người dùng

° - Các dịch vụ cung cấp các tính năng hữu ích với người dùng:

o User interface (UI) - Hau hết tất cả các hệ điều hành điều có một giao dién nguoi dung: Command-Line (CLI), Graphics User Interface (GUI), Batch

o Program execution — nạp chương trình vào bộ nhớ, thực thi và kết thúc nó

o I/O operations — do chương trình người dùng không thể thực hiện trực tiếp các thao tác IO, HĐH phải cung câp phương tiện

để thực hiện thao tác I/O (file trên đĩa hay các thiết bị I/O khác)

o File- “sytem manipulation — cung cấp các phương tiện dé chương trình có thể đọc, ghi, tạo, xóa, liệt kê, tìm kiêm, quản lý quyên truy cập trên tập tin/thư mục

Trang 6

o Có thê tôn tai trong CPU, memory, I/O devices, user program

© Với mỗi loại lỗi, HĐH cân có một cơ chế thích hop dé dam bao

việc tính toán là chính xác và nhất quán

Trang 7

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

¢ Cac dich vu dam bao su hoat dong higu qua của chính hệ

thông với cơ chê chia sẽ tài nguyên

o Resource allocation — khi có nhiều người dùng hay nhiều công việc dang thực thì đồng thời, các nguôn tài nguyên phải được câp phát cho môi công việc

°Ổ Có nhiều loại tài tài nguyên — một vài loại có mã cấp phát riêng biệt (CPU cycles, main memory, file storage), những loại khác có mã yêu câu và giải phóng tài nguyên chung (L/O devices)

O Accounting - theo dõi va ghi lại thông tin sử dụng tài nguyên của người dùng để làm cơ sở tính tiên sử dụng hệ thông hoặc thông kê sử dụng

Trang 9

2 Giao điện người dùng

Trang 10

User Interface - CLI

¢ CLI hay command interpreter cho phép nhập các câu lệnh trực tiếp

O Co thê được cài đặt trong nhân hay như là một chương trình hệ

thong (system program)

o Mot hé thông có thể cài đặt nhiêu CLI — shells

° Các CLI có thể được cung cấp bởi bên thứ 3

o Chức năng chính là lấy lệnh từ người dùng và thực thi nó

o Các lệnh trên shell có thể được cài đặt:

°Ò Shell chứa mã thực thi các lệnh của người dùng

°Ồ Shell thực thi các lệnh của người dùng bằng cách gọi các chương

trình bên ngoài => chương trình CLI nhỏ, việc cập nhật các lệnh

không ảnh hưởng đến CLI

Trang 11

Microsoft Windows Command Promt

Microsoft Windows [Version 6.1.7601]

Copyright (c) 2009 Microsoft Corporation

tb-1n-f125: 5222 w1k1med1a- lb: http Z5:http

Trang 12

User Operating System Interface - GUI

°« Giao diện người dùng đô họa (Desktop): thân thiện, dé sử

dụng

o Mouse, keyboard, monitor

o Icons hién thi file, chuong trinh, thao tac,

© Các sự kiện chuột trên những đôi tượng khác nhau trên giao diện

là cơ sở cho các thao tác khác nhau

o Phat minh tai Xerox PARC

¢ Nhiéu hé thong ngay nay cé ca CLI va GUI:

Trang 13

Touchscreen Interfaces

° SA ` ` > „ at_.CELCOM © 03:26PM -:,: @ 93% mm

¢ Giao dién man hinh cam tng: ~~ —

o Khong su dung chuodt

O Cac thao tac dua trén cử chỉ Messages Calendar Photos Camera

Trang 14

3 Lời gọi hệ thống

Trang 15

Lời gọi hệ thống

- Loi goi hé thong (System call) la giao diện lập trình để sử

dụng các dịch vụ được cung câp bởi hệ điêu hành

° _ Thường được viết băng ngôn ngữ cấp cao (C, C++)

¢ Hau hét các chương trình sử dụng system call thông qua một giao diện lập trình ứng dụng ở mức cao (API) hơn là dùng trực tiêp

¢ |3 API phô biến nhất:

o Windows API (HDH Windows)

o POSIX API cho POSIX-based systems (tất cả các phiên bản của

UNIX, Linux, Mac OS X)

o Java API cho Java virtual machine (JVM)

Trang 16

Open the input file

if file doesn't exist, abort

Create output file

if file exists, abort Loop

Read from input file Write to output file Until read fails Close output file Write completion message to screen

Trang 17

Cài đặt lời gọi hệ thống

° Giao diện lời gọi hệ thông (System-call interface): cung cấp giao

diện trực tiếp đến các lời gọi hệ thông bên trong nhân => bắt các lời

gọi hàm trong API và gọi các lời gọi hệ thông cân thiết

¢ Thong thường, mỗi system call sẽ được kết hợp với một số

O Giao diện lời gọi hệ thông duy trì một bảng được lặp chỉ mục theo các

sô này

« Giao diện lời gọi hệ thông gọi system call được chỉ định trong nhân HĐH (OS kernel) và trả về trạng thái + giá trị (nêu có) của lời gọi hệ thông

° Người lập trình không cân biết bất cứ gì về cách thức system call

được cài đặt

o Chỉ cân tuân theo API va hiểu HĐH sẽ làm gì khi thực hiện một lời gọi

o Hau hét cac chi tiết của giao diện HĐH ân với người lập trình bởi API

Trang 18

API - System Call - OS

user mode kernel

Trang 19

Truyền tham số cho lời gọi hệ thống

°Ồ Thông thường, nhiêu thông tin được yêu câu hơn là chỉ có

định danh của lời gọi hệ thông (kiêu, đữ liệu, tùy chọn)

° - Nhìn chung có 3 phương pháp đề truyền tham số cho HĐH:

o Đơn giản nhất: truyền qua các thanh ghi

°©_ Có thể có nhiêu tham số hơn số lượng thanh ghi có thê chứa

o Các tham số được lưu trữ như là một khôi (block) hay bang

(table) trong bộ nhớ và địa chỉ của khôi hay bảng tham sô được truyên như là một tham sô vào thanh ghi (Linux, Solaris)

o Dung stack: các tham sô duoc dat (pushed) vao stack boi chương trình và lây ra bởi HDH

O Phuong phap dung block hay stack không giới hạn số lượng hay chiêu dài của tham số cân truyền

Trang 20

Tham số được truyền qua bảng

Trang 21

Các kiểu System Call

¢ Cac System Call co thé được nhóm vào trong 6 loại chính: process control, file manipulation, device manipulation, information maintenance, communications, protection

¢ Process control

o end, abort

o load, execute

© create process, terminate process

get process attributes, set process attributes wait for time

wait event, signal event allocate and free memory

Trang 22

Các kiểu System Call (tt)

°ÒỒ File management

o create file, delete file

o open, close file

o read, write, reposition

o get and set file attributes

¢ Device management

© request device, release device

o read, write, reposition

o get device attributes, set device attributes

o logically attach or detach devices

Trang 23

Các kiểu System Call (tt)

¢ Information maintenance

o get time or date, set time or date

o get system data, set system data

o get and set process, file, or device attributes

¢ Communications

o create, delete communication connection

© send, receive messages if message passing model to host name or process name

¢ From client to server

o Shared-memory model create and gain access to memory regions

o transfer status information

o attach and detach remote devices

Trang 24

Các kiểu System Call (tt)

¢ Protection

o Control access to resources

o Get and set permissions

o Allow and deny user access

Trang 25

Ví dụ về System Calls trong Windows và

File Manipulation

Device Manipulation

Information Maintenance

Communication

Protection

Windows

CreateProcess() ExitProcess()

WaitForSingleObject()

CreateFile()

ReadFile() WriteFlle() CloseHandle()

SetConsoleMode()

ReadConsole()

WriteConsole()

GetCurrentProcessID() SetTimer()

Sleep() CreatePipe() CreateFileMapping() MapViewOfFile() SetFileSecurity()

InitlializeSecurityDescriptor()

SetSecurityDescriptorGroup()

Unix

fork() exit() wait()

open()

read() write) close() 1octl() read() write()

getpid() alarm () sleep()

Trang 26

4 Chương trình hệ thống

Trang 27

Chương trình hệ thống

° Các chương trình hệ thông (System Programs) cung cấp một môi

trường thuận lợi cho việc phát triển và thực thi chương trình Nó có

thể đơn giản là giao diện đến các lời gọi hệ thông hay phức tạp hơn

Trang 28

Chương trình hệ thống (tt)

¢ File management — Create, delete, copy, rename, print, dump,

list, va cac thao tac chung trén cac file va thu muc

¢ Status information

o Là những chương trình yêu câu hệ thông cung cấp các thông tin như ngày, giờ, lượng bộ nhớ hay đĩa sẵn dùng, số lượng người dùng

o Hay các thông tin chi tiết phức tạp hơn: tình trạng thực thi, logging, debugging

o Cac chuong trình này dinh dang va xuat dir liéu ra may in hay

Trang 29

Chương trình hệ thống (tt)

¢ File modification

o Cac trinh soan thao van ban dung để tạo và sửa đối file

o_Có cung cập các lệnh đề tìm kiêm nội dung file hay thực hiện

việc chuyên đôi văn bản

¢ Programming-language support — Compilers, assemblers,

debuggers, interpreters cho cdc ng6n ngữ phố biên

¢ Program loading and execution — Absolute loaders,

relocatable loaders, linkage editors, and overlay-loaders,

debugging systems for higher-level and machine language

¢ Communications — cung cap cơ chế để tạo các kết nỗi ảo giữa các tiễn trình, người dùng hay các hệ thông máy tính

Trang 30

Chương trình hệ thống (tt)

¢ Background Services: disk checking, error monitoring, network daemon

o Khởi chạy vào thời gian hệ thông được khởi động

°_ Vài chương trình dùng để khởi động hệ thông, sau đó kết thúc

°- Vài chương trình thực thi đên khi hệ thông shutdown

o Chay trong chế độ người dùng

© Được biêt như là services, subsystems, daemons

Trang 31

5 Thiết kế và cài đặt HDH

Trang 32

Thiết kế

Có nhiêu hướng tiêp cận

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

Bat dau bang việc xác định các mục tiêu và đặt tả kỹ thuật

o Phân cứng, kiểu hệ thông (batch, time sharing, single user, multiuser, distributed, real time, or general purpose)

¢ Muc tiéu ngudi ding va muc tiéu hé thong:

© Mục tiêu người dùng: HDH cân tiện dung, dé hoc, đáng tin cậy,

an toàn và nhanh

o Mục tiêu hệ thông: HĐH cân dễ thiết kê, cài đặt và bảo trì, linh

hoạt, tin cậy, không lôi và hiệu quả

Trang 34

o Các chương trình hệ thông: C, C++, scripting languages (PERL,

Python, shell scripts)

° Mie dùng ngôn ngữ cấp cao cho phép HĐH dễ thực thi trên

ác phân cứng khác nhau nhưng chậm hơn

Trang 35

6 Cau trúc HĐH

Các hệ điêu hành đa mục đích rất lớn và phức tạp

S Các thành phần can được bố trí can than

=> đảm bảo các chức năng và dễ bổ xung sửa đổi

Trang 36

Cấu trúc đơn giản

cung cap nhiéu chirc nang

nhất với dung lượng nhỏ

MS-DOS device drivers

ROM BIOS device drivers py

Chuong 2: Cau tric hé diéu hanh e

Trang 37

Cấu trúc đơn giản (tt)

°Ò UNIX - bị giới hạn bởi phần cứng, hệ điều hành UNIX khởi

đâu có cấu trúc giới hạn Gồm 2 phân riêng biệt:

° Cung cấp hệ thống quản lý tập tin, định thời CPU, quản lý bộ nhớ,

và các chức năng khác của HDH => một lượng lớn các chức năng trong cùng một mức

Trang 38

Cấu trúc của HĐH UNIX truyền thống

system-call interface to the kernel

— signals terminal file system CPU scheduling

c l handling swapping block I/O page replacement

o character I/O system system demand paging

terminal drivers disk and tape drivers virtual memory

kernel interface to the hardware

terminal controllers device controllers memory controllers

terminals disks and tapes physical memory

Trang 39

Cấu trúc phân tầng

° HDH được chia thành một

sô tâng (mức), mỗi tâng

được xây dựng trên nên tảng

của một tang khac thap hon

Tang thap nhat (layer 0) là

tâng vật ly, tâng cao nhất

(layer N) là giao diện người

dùng

*°® Sự phân chia chức năng

được thực hiện sao cho mỗi

Trang 40

Cấu trúc Vi nhân

° - Di chuyên nhiều chức năng từ nhân lên mức người dùng, giữ lại các phân chính yêu: quản lý quá trình, bộ nhớ, giao tiêp giữa các quá trình —> nhân nhỏ hơn

° - Giao tiếp giữa các quá trình người dùng được thực hiện bang cơ chê chuyên thông điệp gián tiêp thông qua nhân

Trang 41

Cấu trúc Vi nhân (tt)

Application Program

lnterprocess Communication

Trang 42

Modules

° - Hâu hết các HĐH dùng các loadable kernel module

o Dung tiếp cận hướng đối tượng

o Các thành phân lõi được tách ra

o Giao tiếp với nhau thông qua các interface

© Được nạp vào trong nhân khi cân thiết

° Nhin chung gân giông với kiến trúc phân tầng nhưng linh hoạt hơn

o Linux, Solaris, Mac OS X, Windows,

Trang 43

core Solaris kernel

Trang 44

Hệ thống lai (Hybrid System)

¢ Hau hết các hệ điều hành không thật sự dùng một kiểu câu trúc

đơn nhât

o Kết hợp nhiêu hướng tiếp cận nhăm đạt được hiệu suất, độ an

toàn, khả năng linh hoạt cao nhât có thê

Trang 45

THE END!

Ngày đăng: 28/04/2016, 00:06

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN