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

bài giảng nguyên lý hệ điều hành - ths. nguyễn đức thuần

215 620 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 215
Dung lượng 1,16 MB

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

Nội dung

Ng Duc ThuanChương 1:Tổng quan về Hệ điều hành • Khái niệm về hệ điều hành tt – HĐH là bộ điều phối tài nguyên của máy tính thời gian sử dụng CPU, bộ nhớ, đĩa, thiết bị IO cho các ứng dụ

Trang 2

Ng Duc Thuan

Chương 0: Cấu trúc hệ thống máy tính

Trang 3

Ng Duc Thuan

Cơ chế vận hành của hệ thống

Một hệ thống thông thường gồm CPU và các bộ điều

khiển thiết bị (BĐKTB - device controller) Các tác vụ của

CPU và BĐKTB có thể thực thi song hành và tranh chấp

bộ nhớ chia sẻ qua sự điều khiển đồng bộ của memory

controller

Mỗi BĐKTB phụ trách một loại thiết bị cụ thể (video

adapter, disk drive, )

Mỗi BĐKTB có một buffer riêng

CPU chuyển dữ liệu từ bộ nhớ chính đến buffer riêng của

các BĐKTB và ngược lại Dữ liệu của các tác vụ I/O được

chuyển từ thiết bị đến buffer riêng của BĐKTB tương ứng

Mỗi khi kết thúc một tác vụ I/O, BĐKTB thông báo cho

CPU bằng cách gây ra ngắt (interrupts).

Trang 4

Ng Duc Thuan

Ngắt (interrupts)

Ngắt (interrupt) là cơ chế cho phép tạm ngưng công việc

đang được CPU xử lý để phục vụ một yêu cầu khác

Khi có ngắt xảy ra, quyền điều khiển được chuyển giao

cho trình phục vụ ngắt (interrupt service routine) thông

qua bảng vector ngắt

Các đặc điểm của cơ chế ngắt :

– tăng hiệu suất xử lý công việc – đặc biệt là các tác vụ I/O

– ngắt thường được phát khởi bởi một thiết bị phần cứng

– thực hiện theo cơ chế bất đồng bộ (asynchronously) với process bị

ngắt.

Trap: ngắt mềm, phát khởi bởi một lỗi nào đó hoặc do

user yêu cầu Ví dụ:

– Lỗi chia cho 0 (divided-by-zero), memory page fault…

Hầu hết OS là interrupt-driven operating systems

Trang 5

Ng Duc Thuan

Chu trình thực hiện lệnh

Trang 6

Ng Duc Thuan

Chu trình lệnh với ngắt quãng

CPU kiểm tra ngắt sau mỗi lệnh

– polling

– vectored interrupt system

Nếu không có ngắt, bắt đầu một chu kỳ lệnh mới

Nếu có ngắt đang chờ, tạm ngưng và lưu trạng thái chương trình đang

Trang 7

Ng Duc Thuan

I/O structure Hai phương thức thực hiện I/O

Sau khi bắt đầu tác vụ I/O, quyền điều khiển chỉ được

trả về khi và chỉ khi tác vụ I/O hoàn tất.

– CPU phải chờ đến khi tác vụ I/O hoàn tất

– Trong một thời điểm, có nhiều nhất là 1 tác vụ I/O

được thực hiện, không xử lý được đồng thời nhiều yêu

cầu I/O

Sau khi bắt đầu tác vụ I/O, quyền điều khiển được trả

về ngay mà không cần chờ hoàn tất tác vụ I/O

– CPU có thể thực thi lệnh kế tiếp mà không phải chờ

đến khi tác vụ I/O hoàn tất

– Trong một thời điểm, có thể có nhiều tác vụ I/O được

thực hiện đồng thời

Trang 8

Ng Duc Thuan

Hai phương thức I/O

Synchronous I/O Asynchronous I/O

Trang 9

Ng Duc Thuan

Các kỹ thuật thực hiện I/O

Programmed I/O (PIO)

– Không dùng ngắt, CPU phải chờ tác vụ I/O hoàn tất

Interrupt-driven I/O

– CPU có thể tiếp tục thực thi trong suốt quá trình xảy ra

I/O, khi tác vụ I/O hoàn tất thì sẽ phát ra một ngắt báo

hiệu cho CPU

Direct Memory Access (DMA)

– Một khối dữ liệu được chuyển trực tiếp giữa bộ nhớ và

thiết bị I/O mà không cần qua CPU

– Thường sử dụng cho các thiết bị I/O có tốc độ cao.

Trang 10

Ng Duc Thuan

Storage structure

Bộ nhớ chính (main memory): CPU chỉ có thể truy cập

trực tiếp thanh ghi (registers) và bộ nhớ RAM

Bộ nhớ phụ (secondary storage): hệ thống lưu trữ thông tin

bền vững (nonvolatile storage)

Đĩa từ (magnetic disks)

– Bề mặt đĩa chia thành các rãnh (tracks), các rãnh này được chia

nhỏ hơn thành các cung từ (sectors).

– Cylinder: tập các track tạo thành một hình trụ

– Disk controller: bộ điều khiển quá trình giao tiếp giữa CPU và đĩa.

Trang 11

Ng Duc Thuan

Cơ chế truy xuất đĩa

Thời gian định vị dữ liệu

-positioning time

(random-access time) bao gồm

– Seek time: thời gian di

chuyển đầu đọc đến cylinder

cần đọc

– Rotational latency: thời gian

tìm được sector cần đọc dữ

liệu.

Transfer rate: tốc độ chuyển

dữ liệu giữa đĩa và CPU

Trang 12

Ng Duc Thuan

Phân cấp hệ thống lưu trữ

Hệ thống lưu trữ có thể phân cấp theo các tiêu

chuẩn

– Tốc độ (speed, access time)

– Dung lượng (capacity)

– Giá cả (cost)

– Độ bền vững dữ liệu (volatility)

Hệ thống phân cấp từ trên xuống theo

– Giá thành giảm dần

– Dung lượng tăng dần

– Thời gian truy cập tăng dần

– Tần suất truy cập của CPU giảm dần

– Chế độ lưu trữ bền vững (non-volatile)

Trang 13

Ng Duc Thuan

Phân cấp hệ thống lưu trữ

Trang 14

Ng Duc Thuan

Cơ chế caching

Caching: copy dữ liệu vào thiết bị lưu trữ tốc độ cao

hơn.

Tại sao phải dùng bộ nhớ cache

– Tốc độ CPU và bộ nhớ chính khác nhau

– Khai thác nguyên lý “locality”

Cần có chiến lược quản lý bộ nhớ cache thích hợp

Trong cơ chế caching, một dữ liệu có thể được lưu

trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ

liệu (consistent): bài toán cache coherency.

Trang 15

Ng Duc Thuan

Bảo vệ phần cứng

Chức năng của hệ điều hành là kiểm tra toàn bộ

hệ thống

Hệ điều hành cung cấp chức năng chia sẻ tài

nguyên cho nhiều chương trình, vì vậy phải có cơ

chế kiểm tra và xử lý lỗi ứng với mỗi một chương

trình Các lỗi chương trình do phần cứng phát

hiện và thông báo cho hệ điều hành để ra quyết

định chấm dứt và thông báo

Bảo vệ phần cứng bao gồm cơ chế bảo vệ CPU,

Bộ nhớ, Thiết bị nhập xuất…

Trang 16

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

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

• Phân loại các hệ điều hành

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

• Lịch sử phát triển của hệ điều hành

Trang 17

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

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

– Chương trình ứng dụng (trình biên dịch, hệ quản trị

CSDL, phần mềm thương mại, trị chơi…) sử dụng tài

nguyên máy tính để giải quyết các yêu cầu của user

– HĐH là chương trình hoạt động giữa user và phần cứng

máy tính, điều khiển quản lý tài nguyên và phối hợp sử

dụng phần cứng cho những ứng dụng khác nhau, giúp

giao tiếp người-máy thuận lợi hiệu quả

Trang 19

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

Mô hình trừu tượng của 1 máy tính

Trang 20

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Khái niệm về hệ điều hành (tt)

– HĐH là bộ điều phối tài nguyên của máy tính (thời

gian sử dụng CPU, bộ nhớ, đĩa, thiết bị IO) cho các

ứng dụng

– Khi cĩ nhiều yêu cầu khai thác tài nguyên, HĐH phải

giải quyết vấn đề tranh chấp và quyết định cấp phát

tài nguyên như thế nào là hiệu quả nhất

– Để gia tăng hiệu quả khai thác tài nguyên, HĐH phải

quản lý các bộ ĐKTB của nhà sản xuất (vd: VGA

card, sound card, modem, printer, HDD…)

– Giúp cho việc thi hành các chương trình dễ dàng hơn

Trang 21

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Phân loại các hệ điều hành

– Hệ thống xử lý theo lơ (batch) đơn giản

– Hệ thống xử lý theo lơ đa chương

– Hệ thống chia xẻ thời gian

– Hệ thống song song

– Hệ thống phân tán

– Hệ thống xử lý thời gian thực

Trang 22

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

1 Hệ thống xử lý theo lô đơn giản (đơn nhiệm, đơn

chương)

Hệ điều hành xử lý theo lô thực hiện các công việc lần

lượt theo những chỉ thị định trước Việc thực hiện dãy các

công việc một cách tự động nhờ một chương trình luôn

nằm thường trú trong bộ nhớ máy tính được gọi bộ giám

sát thường trực

Ưu điểm:Thời gian thực hiện chương trình nhanh.

Nhược điểm: CPU còn nhiều thời gian nhàn rỗi khi làm

việc thiết bị nhập xuất:

Khắc phục: Xử lý off_line, Spooling.

Trang 23

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

Multi-programmed Systems

2 Hệ thống xử lý đa chương

– Job pool: cấu trúc dữ liệu cho phép OS

lựa chọn công việc được thực thi kế tiếp

– Nhiều công việc được nạp vào bộ nhớ

chính cùng lúc, thời gian xử lý của CPU

được phân chia giữa các công việc đó

– Tận dùng được thời gian rảnh, khi một

công việc nào đó phải chờ I/O thì phải

nhường CPU cho công việc khác

(overlapping CPU - I/O).

Yêu cầu đối với OS

– Job Scheduling

– Memory management

– CPU scheduling

– Allocation of devices

Trang 24

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

So sánh multi-programming và uni-programming

Trang 25

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

3 Hệ thống chia sẻ thời gian Time-Sharing (multitasking) Systems

– Multi-programmed systems không cung cấp khả năng tương tác

với users

– CPU luân phiên chuyển đổi thực thi giữa các công việc

Quá trình chuyển đổi xảy ra thường xuyên hơn, mỗi công

việc chỉ được chia một phần nhỏ thời gian CPU Cung cấp sự tương tác giữa hệ thống với user

– Khi kết thúc thực thi một lệnh, OS sẽ chờ lệnh kế tiếp từ bàn phím chứ không phải từ card reader

Một công việc chỉ được chiếm CPU để xử lý khi nó nằm trong bộ nhớ chính

Khi cần thiết, một công việc nào đó có thể được chuyển từ bộ nhớ chính ra thiết bị lưu trữ, nhường bộ nhớ chính cho công việc khác.

Trang 26

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

Yêu cầu đối với OS trong Time-Sharing Systems

– Định thời công việc (job scheduling)

– Quản lý bộ nhớ (Memory Management)

Các công việc được hoán chuyển giữa bộ nhớ chính và đĩa Virtual memory: cho phép một công việc có thể được thực thi mà không cần phải nạp hoàn toàn vào bộ nhớ chính

– Quản lý các process (Process Management)

Định thời CPU (CPU scheduling) Đồng bộ các công việc (synchronization) Tương tác giữa các công việc (process communication) Tránh Deadlock

– Quản lý hệ thống file, hệ thống lưu trữ (disk management)

– Phân bổ các thiết bị, tài nguyên

– Cơ chế bảo vệ (protection)

Trang 27

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

4 Hệ thống song song

Ø Gồm nhiều bộ vi xử lý cùng chia sẻ hệ thống đường dẫn dữ liệu, đồng bộ,

bộ nhớ và các thiết bị ngoại vi Các bộ vi xử lý liên lạc bên trong với

nhau.

Ø Với nhiều bộ vi xử lý công việc thực hiện được thực hiện sẽ nhanh hơn,

những không phải có n vi xử lý nhanh hơn gấp n lần so hệ thống 1 vi xử

Ø Độ tin cậy trong hệ thống nhiều vi xử lý là rất cao.

Ø Hệ thống đa xử lý thường sử dụng cách đa xử lý đối xứng Một số hệ

thống đa xử lý bất đối xứng.

Symmetric multiprocessing (SMP)

– Các processor vận hành cùng một hệ điều hành duy nhất.

– Nhiều ứng dụng thực thi cùng lúc với performance cao.

– Đa số các hệ điều hành hỗ trợ SMP.

Asymmetric multiprocessing

– Mỗi processor thực thi một công việc khác nhau, master processor định thời và phân

công việc cho các slave processors.

Trang 28

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

5 Hệ thống phân tán.

Ø Hệ thống phân tán: trên mỗi máy trong mạng cài đặt một

hệ điều hành khác nhau Máy chủ chủ yếu thực hiện một

số chức năng sau: Quản lý các kho dữ liệu tập trung,

cung cấp một số dịch vụ truyền dữ liệu, tổ chức xử lý khi

có yêu cầu từ máy trạm Mô hình khách

chủ(Client-Server) phân chia quản lý

Ø Nguyên nhân xây dựng HĐH phân tán:

- Chia sẻ tài ngyên.

- Tăng tốc độ tính toán.

- An toàn

- Thông tin liên lạc được với nhau

Yêu cầu cơ sở hạ tầng mạng máy tính

– LAN,WAN

Trang 29

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

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

Hệ thống thời gian thực (Real-Time Systems)

– Thường dùng trong các thiết bị chuyên dụng như điều khiển các

thử nghiệm khoa học, điều khiển trong y khoa, dây chuyền công

nghiệp.

– Ràng buộc tương đối chặt chẽ về thời gian: hard và soft real-time.

Hard real-time:

– Hạn chế (hoặc không có) bộ nhớ phụ, tất cả dữ liệu nằm trong bộ

nhớ chính (RAM) hoặc ROM

– Yêu cầu thời gian đáp ứng, xử lý rất nghiêm ngặt, thường sử dụng

trong điều khiển công nghiệp, công nghệ robotics.

Soft real-time

– Thường xuất hiện trong lĩnh vực multimedia, thực tế ảo (virtual

reality) với yêu cầu mềm dẻo hơn về thời gian.

Trang 30

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

1.3.1 Các thành phần của hệ thống gồm:

Trang 31

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Quản lý tiến trình

– Tiến trình là một loạt các cơng việc được thi hành (proram, batch

processing, spooling, connecting…)

– Tiến trình sử dụng tài nguyên máy tính (CPU, bộ nhớ, tập tin,

thiết bị…) để phục vụ cơng việc của nĩ

– Khi tiến trình khởi tạo, nĩ địi hỏi nhiều tài nguyên hệ thống.

– Khi tiến trình kết thúc, HĐH phải thu hồi hoặc tái tạo tài nguyên

để cĩ thể dùng lại cho các tiến trình khác

– Tiến trình được biên dịch thành các tập tin thụ động trên đĩa

– Khi tiến trình được kích hoạt, HĐH sẽ khởi tạo tài nguyên ban

đầu theo yêu cầu, nạp tập chỉ thị vào bộ nhớ và thi hành theo cơ

chế tuần tự Tiến trình chuyển sang hoạt động

Trang 32

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

Cấu trúc 1 tiến trình của UNIX

argc/argv[]

Stack segment High address

etext edata

end

Initialized data

Uninitialized data

Trang 33

– Về mặt luận lý, bộ nhớ là mảng các bit nhớ tổ chức theo đơn vị

lưu trữ (byte, word hay dword)

– Mỗi ô nhớ được HĐH định vị bằng cơ chế đánh địa chỉ riêng

– Các bộ ĐKTB, HĐH, ứng dụng… đều lưu trữ dữ liệu vào bộ nhớ

– Các chương trình muốn thi hành phải được ánh xạ thành địa chỉ

tuyệt đối, nạp vào bộ nhớ chính để hệ thống truy xuất đến

– Khi tiến trình kết thúc, dữ liệu vẫn còn trong bộ nhớ cho đến khi

một tiến trình khác ghi chồng lên (hoặc tắt máy)

Trang 34

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Quản lý bộ nhớ chính (tt)

– Do ứng dụng cĩ nhu cầu sử dụng bộ nhớ khác nhau,

nên HĐH phải cĩ nhiều kế hoạch quản trị bộ nhớ hiệu

quả

– Kế hoạch quản trị bộ nhớ của HĐH phụ thuộc vào

đặc điểm phần cứng và nhu cầu sử dụng của user

– Vai trị của HĐH trong việc quản lý bộ nhớ chính:

• Cấp phát và thu hồi bộ nhớ khi cần thiết

• Quyết định tiến trình nào được nạp vào bộ nhớ chính, địa chỉ nạp

• Lưu giữ thơng tin về các vị trí trong bộ nhớ đã sử dụng, tiến trình nào đang sử dụng

Trang 35

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Quản lý bộ nhớ phụ

– Nhược điểm của bộ nhớ chính:

• Quá nhỏ để cĩ thể lưu giữ mọi dữ liệu và chương trình

• Mất dữ liệu khi tắt máy

– Hệ thống lưu trữ phụ dùng đĩa lưu trữ chương trình,

dữ liệu

– Vai trị của HĐH trong việc quản lý đĩa:

• Định vị lưu trữ, truy xuất đĩa

• Quản lý vùng trống

• Lập lịch cho đĩa

– Hiệu năng của hệ thống tùy thuộc rất nhiều vào tốc

độ đọc/ghi Vì vậy HĐH phải cĩ cơ chế quản lý đĩa

hiệu quả

Trang 36

– Nhiệm vụ của HĐH là tạo mặt giao tiếp thân

thiện giữa user và thiết bị thông qua các giao

thức ĐKTB tổng quát

– Một hệ thống nhập xuất bao gồm:

• Hệ thống buffer cahing

• Giao tiếp điều khiển thiết bị tổng quát

• Bộ điều khiển cho các thiết bị phần cứng

Trang 37

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Quản lý hệ thống tập tin

– Máy tính cĩ thể lưu trữ thơng tin trên nhiều dạng thiết bị vật lý

khác nhau (băng từ, đĩa từ, đĩa quang, thẻ nhớ…)

– Mỗi dạng thiết bị lưu trữ cĩ đặc điểm riêng về tổ chức vật lý, tốc

độ truy xuất, khả năng lưu trữ, tốc độ truyền…

– HĐH định nghĩa đơn vị lưu trữ logic là tập tin cùng với cấu trúc

đĩa luận lý để truy xuất thơng qua bộ điều khiển đĩa

– Tập tin: tập hợp thơng tin của chương trình và/hoặc dữ liệu

– Các loại tập tin:

• Thi hành: chứa ứng dụng, phần mềm Vd: COM, EXE

• Văn bản: chứa ký tự ASCII, chương trình nguồn

• Nhị phân: chứa dữ liệu của các ứng dụng

Trang 38

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Quản lý hệ thống tập tin (tt)

– Vai trị của HĐH trong việc quản lý tập tin:

• Tạo, xĩa tập tin

• Tạo, xĩa thư mục

• Hỗ trợ các thao tác trên tập tin và thư mục

• Ánh xạ tập tin trên hệ thống lưu trữ phụ

• Backup tập tin trên các thiết bị lưu trữ

Trang 39

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Hệ thống bảo vệ

– Hệ thống cĩ nhiều user, nhiều tiến trình đồng thời

– HĐH cung cấp cơ chế đảm bảo tài nguyên (tập tin, bộ

nhớ, CPU, đồng hồ, thiết bị ngoại vi…) chỉ được truy

xuất bởi những tíên trình cĩ quyền

– Hệ thống bảo vệ là cơ chế kiểm sốt quá trình truy

xuất của chương trình, tiến trình, user trên tài nguyên

hệ thống

– Gia tăng độ an tồn khi kiểm tra lỗi của các giao tiếp

giữa những hệ thống nhỏ bên trong

Trang 40

Ng Duc Thuan

Chương 1:Tổng quan về Hệ điều hành

• Hệ thống cơ chế dịng lệnh

– Mỗi HĐH cĩ những giao tiếp khác nhau: cơ chế dịng lệnh, giao

diện cĩ các biểu tượng, cửa sổ thao tác dùng chuột…

– Cơ chế dịng lệnh là giao tiếp tương tác lệnh giữa user và HĐH

– Các HĐH thiết kế cơ chế dịng lệnh bên trong hạt nhân hoặc

tách cơ chế dịng lệnh thành một ứng dụng đặc biệt:

• DOS: thi hành khi bắt đầu cơng việc (COMMAND.COM)

• Unix: thi hành khi user login lần đầu tiên

– Các lệnh được đưa vào HĐH nhờ bộ thơng dịch lệnh qua cơ chế

dịng lệnh hoặc Shell và được thực hiện tuần tự

– Các lệnh cĩ quan hệ với việc tạo và quản lý các tiến trình, kiểm

sốt nhập xuất, quản lý bộ nhớ, quản lý đĩa, truy xuất tập tin và

cơ chế bảo vệ

Ngày đăng: 04/07/2014, 10:15

TỪ KHÓA LIÊN QUAN

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

w