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

Bài giảng hệ điều hành chương 1 giới thiệu

52 389 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 52
Dung lượng 3,2 MB

Nội dung

• Là một chương trình quản lý tài nguyên của máy tính, đóng vai trò như một lớp trung gian giữa người sử dụng máy tính và phần cứng của máy tính.• Mục đích của hệ điều hành: o Thực thi c

Trang 1

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

Đại học Cần Thơ

Giảng viên: Hà Duy An

Trang 2

1 Hệ điều hành là gì?

2 Tổ chức hệ thống máy tính

3 Các thành phần của hệ điều hành

4 Các môi trường điện toán

Trang 4

• Là một chương trình quản lý tài nguyên của máy tính, đóng vai trò như một lớp trung gian giữa người sử dụng máy tính và phần cứng của máy tính.

• Mục đích của hệ điều hành:

o Thực thi chương trình người dùng và giúp giải quyết các vấn củangười dùng dễ dàng hơn

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

o Sử dụng tài nguyên phần cứng máy tính hiệu quả

Trang 5

• Hệ thống máy tính có thể được chia thành 4 thành phần:

o Phần cứng (Hardware): cung cấp các tài nguyên tính toán cơ sở

• CPU, memory, I/O devices

o Các người dùng

Người, các máy móc, các máy tính khác

Trang 6

8/8/2013 6 Chương 1: Tổng quan về hệ điều hành

Trang 7

• Tùy thuộc vào góc nhìn: user view, system view

• Người dùng cần tiện lợi, dễ sử dụng, hiệu năng cao => không quan tâm đến việc chia sẽ các nguồn tài nguyên.

• Share computer (mainframe, minicomputer): chia sẽ công bằng và tận dụng các nguồn tài nguyên hiệu quả nhất có thể.

• Người dùng ngồi tại máy trạm (workstation) sử dụng các nguồn tài nguyên dùng chung: networking and servers (file, compute, and print servers) => hài hòa giữa việc sử dụng các tài nguyên cá nhân và tận dụng tài nguyên chia sẽ

• Các thiết bị cầm tay: tài nguyên tính toán, năng lượng giới hạn

Trang 8

• Bộ cấp phát tài nguyên (Resource Allocator):

o Quản lý tất cả các tài nguyên

o Đảm bảo cạnh tranh sử dụng hiệu quả và công bằng các nguồn tài nguyên

• Chương trình điều khiển (Control Program):

o Điều khiển sự thực thi của các chương trình để ngăn chặn lỗi và việc sử dụng không hợp lý máy tính

Trang 9

• Không có định nghĩa nào được chấp nhận hoàn toàn

• Có thể xem hệ điều hành là “mọi thứ có trong một bản phân phối hệ điều hành”

Hay:

thời gian (còn lại là các chương trình hệ thống hay ứng dụng).

Trang 11

• Một hay nhiều CPU, các bộ điều khiển thiết bị (device controller) truy cập bộ nhớ thông qua một bus chung

• Các truy cập đồng thời (CPU và thiết bị) sẽ cạnh tranh nhau chu kỳ bộ nhớ

Trang 12

• Ngắt chuyển điều khiển đến các thường trình dịch vụ xử lý ngắt (interrupt service routine) thông qua vector ngắt (chứa địa chỉ của thường trình dịch vụ)

• Kiến trúc ngắt phải lưu trữ địa chỉ của các lệnh xử lý ngắt

• Một trap hay exeption là một ngắt phát sinh bởi phần mềm do một lỗi hay một yêu cầu của người dùng

• Hệ điều hành hướng ngắt (interrupt driven)

Trang 13

• Hệ điều hành dừng công việc đang thực hiện

o Lưu giữ trạng thái của CPU bằng cách lưu trữ các thanh ghi và

bộ đếm chương trình

• Xác định loại ngắt xảy ra:

o Generic routine

o Interrupt vetor

• Thực thi intrrupt service routine

• Tiếp tục thực thi công việc trước khi bị ngắt

Trang 14

8/8/2013 14 Chương 1: Tổng quan về hệ điều hành

Trang 15

Các thiết bị nhập/xuất (I/O devices) và CPU có thể thực thi đồng

thời

Mỗi bộ điều khiển thiết bị (device controller) sẽ chịu trách nhiệm

điều khiển một loại thiết bị khác nhau

Device Driver – cho mỗi bộ điều khiển thiết bị để quán lý I/O

o Cung cấp giao diện đồng nhất giữa controller và kernel

Mỗi bộ điều khiển thiết bị có một vùng đệm cục bộ (local buffer)

và các thanh ghi (special-purpose registers), chịu trách nhiệm dichuyển dữ liệu giữa thiết bị và vùng đệm cục bộ

• I/O là việc di chuyển dữ liêu giữa thiết bị và vùng đệm cục bộ

• Bộ điều khiển thiết bị báo cho CPU biết nó đã hoàn thành tác vụ của

nó bằng cách sinh ra một ngắt (interrupt)

• CPU di chuyển dữ liệu từ bộ nhớ chính đến vùng đệm cục bộ vàngược lại

Trang 16

• Để bắt đầu một thao tác I/O, device driver nạp vào các thanh ghi trong device controller thao tác cần thực hiện

• Device controller dựa vào nội dung của các thanh ghi để thực thi thao tác tương ứng

• Khi hoàn thành I/O, device controller báo cho device driver thông qua ngắt

• Device driver chuyển quyển điều khiển cho hệ điều hành có thể bao gồm dữ liệu hay một con trỏ

Trang 17

• Được sử dụng cho các thiết bị I/O tốc độ cao, có thể chuyển dữ liệu gần bằng với tốc độ bộ nhớ

• Bộ điều khiển thiết bị chuyển các khối dữ liệu từ vùng đệm lưu trữ của thiết bị trực tiếp vào bộ nhớ chính mà không có sự can thiệp của CPU

• Chỉ một ngắt sinh ra cho mỗi block thay vì mỗi byte

Trang 18

8/8/2013 18 Chương 1: Tổng quan về hệ điều hành

A von Neumann architecture

Trang 19

• Bộ nhớ chính – là phương tiên lưu trữ lớn nhất mà CPU có thể truycập trực tiếp

o Truy cập ngẫu nhiên

• Đĩa bán dẫn (solid-state disks) – nhanh hơn đĩa từ, không bay hơi

o Có nhiều kỹ thuật khác nhau

o Đang ngày càng trở nên phổ biến hơn.

Trang 21

• Là một nguyên lý quan trọng, được cài đặt nhiều mức độ trong một máy tính (phần cứng, hệ điều hành, phần mềm)

• Thông tin được sao chép tạm thời từ thiết bị lưu trữ chậm đến thiết bị lưu trữ nhanh hơn.

• Thiết bị lưu trữ nhanh hơn (cache) được kiểm tra trước để xác định thông tin cần thiết có trong đó không?

o Nếu có, thông tin được sử dụng từ trong cache

o Nếu không, dữ liệu được copy vào cache và sử dụng

• Cache luôn nhỏ hơn thiết bị lưu trữ được cache

o Quản lý cache là một vấn đề thiết kế quan trọng

o Kích thước cache và chính sách thay thế

Trang 22

Single-processor: Hầu hết các hệ thống dùng một bộ xử lý đa

mục đích (general-purpose processor), kèm với các bộ xử lý có mục đích xử lý riêng biệt (special-purpose processors) vd: disk, keyboard, graphics controllers.

Multiprocessors (Hệ thống có nhiều bộ xử lý) đang được sử

dụng và ngày càng đóng vai trò quan trọng: được biết như là parallel systems hay tightly-coupled systems

• Đa xử lý bất đối xứng (Asymmetric Multiprocessing)

• Đa xử lý đối xứng (Symmetric Multiprocessing)

Trang 24

• Giống như multiprocessor, nhưng nhiều hệ thống máy tính riêng lẽ được tổ chức để hoạt động cùng nhau:

o Thông thường chia sẽ lưu trữ thông qua vùng lưu trữ mạng(Storage-area network hay SAN)

o Cung cấp các dịch vụ có tính sẵn dùng cao, khả năng chịu lỗi:

• Asymmetric clustering

• Symmetric clustering

o Cluster dùng cho high-performance computing (HPC): các ứngdụng phải được thiết kế để tận dụng khả năng tính toán songsong của hệ thống

o Cluster có thể được trang bị khả năng DLM (distributed lockmanager) để tránh các thao tác xung đột trên dữ liệu chia sẽ dùngchung

Trang 27

Multiprogramming (đa chương) – hiệu quả khi sử dụng CPU

o Một chương trình người dùng không thể giữ cho CPU và thiết bị I/O luôn bận

o Đa chương giữ một số công việc (jobs) trong bộ nhớ đồng thời => CPU luôn có một công việc để thực thi

o Khi tiến trình công việc hiện hành phải chờ (e.g I/O), HĐH sẽ chuyển quyền điều khiển CPU cho một công việc khác

Timesharing hay multitasking (chia thời gian hay đa nhiệm): CPU chuyển

qua lại giữa các công việc rất thường xuyên => người dùng có thể tương tác với mỗi công việc (tính toán tương tác)

o Thời gian đáp ứng nên < 1s

o Mỗi người dùng có ít nhất một chương trình thực thi trong bộ nhớ => tiến trình

o Nếu vài tiến trình sẳn sàng để được thực thi tại cùng một thời điểm => cần chọn ra một tiến trình để thực thi (CPU scheduling)

o Nếu kích thước của tiến trình lớn hơn bộ nhớ => hoán chuyển (swapping từng phần vào ra bộ nhớ để thực thi

Bộ nhớ ảo (Virtual memory) cho phép thực thi một tiến trình không hoàn

Trang 28

8/8/2013 28 Chương 1: Tổng quan về hệ điều hành

Trang 29

• Hướng ngắt (interrupt driven)

• Lỗi phần mềm hay một yêu cầu từ phía người dùng chương trình tạo

ra các exception hay trap

o Chia 0, yêu cầu dịch vụ của hệ điều hành

• Các vấn đề khác: vòng lặp vô hạn, các tiến trình can thiệp lẫn nhauhay hệ điều hành

• HĐH bảo vệ chính nó và các thành phần hệ thống khác bằng cáchtạo ra 2 chế độ thực thi khác nhau:

o User mode và kernel mode

o Mode bit được cung cấp bởi phần cứng

• Phân biệt chế độ hệ thống đang thực thi

• Một số lệnh được thiết kế chỉ có thể thực thi trong kernel mode

• Lời gọi hệ thống chuyển đến kernel mode để thực thi, sau đó đặt lại user mode sau khi thực thi xong

• Một hệ điều hành có thể có nhiều hơn 2 chế độ thực thi

Ví dụ: virtual machine manager (VMM) mode cho guest VMs

Trang 30

• Bộ điếm thời gian (timer) dùng để ngăn các vòng lặp vô hạn

o Phát sinh ngắt sau một khoản thời gian đặt biệt

Trang 31

• Tiến trình (process) là một chương trình đang thực thi Là một đơn

vị công việc trong hệ thống Chương trình là một thực thể bị động,tiến trình là một thực thể chủ động

• Tiến trình cần các tài nguyên để thực hiện tác vụ của nó: thời gianphục vụ của CPU, bộ nhớ, tập tin, thiết bị vào ra, dữ liệu khởi tạo

• Khi tiến trình kết thúc các nguồn tài nguyên cấp phát cho nó sẽ đượcthu hồi lại

Một tiến trình đơn luồng (single-threaded process) có một

program counter chỉ đến vị trí của lệnh tiếp theo

o Tiến trình thực thi từng lệnh một theo tuần tự

Tiến trình đa luồng (multi-threaded process) có một program

counter cho mỗi luồng

• Thông thường hệ thống có nhiều tiến trình: tiến trình người dùng và

hệ điều hành có thể thực thi đồng thời trên một hoặc nhiều CPU

Trang 32

• HĐH chịu trách nhiệm thực hiện các tác vụ quản lý liên quan đến tiến trình:

o Tạo và hủy tiến trình

Trang 33

• Tất cả các dữ liệu được đưa vào bộ nhớ trước và sau khi xử lý

• Tất cả các lệnh được đưa vào trong bộ nhớ để thực thi

• Cơ chế quản lý bộ nhớ xác định dữ liệu gì được nằm trong bộ nhớ nhằm tối ưu hóa việc sử dụng CPU và thời gian đáp ứng cho người dùng

• Bộ quản lý bộ nhớ chính (Main-Memory Manager) chịu trách nhiệm thực hiện các hoạt động sau:

o Theo dõi phần nào của bộ nhớ đang được sử dụng bởi tiến trìnhnào

o Quyết định các tiến trình (hay phần nào của tiến trình đó) và dữliệu nào sẽ được nạp vào/chuyển ra bộ nhớ

o Cấp phát và thu hồi không gian nhớ khi cần thiết

Trang 34

• HĐH cung cấp một cái nhìn nhất quán, luận lý về việc lưu trữ thôngtin:

o Trừu tượng hóa các thuộc tính vật lý thành đơn vị lưu trữ luận lý – file

o Mỗi phương tiện lưu trữ được điều khiển bởi một thiết bị (i.e., disk drive, tape drive)

• Có nhiều thuộc tính khác nhau: tốc độ truy cập, dung lượng, tốc độ truyền dữ liệu, phương thức truy cập (tuần tự hay ngẫu nhiên)

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

o Tập tin thường được tổ chức nằm trong các thư mục

o Điều khiển truy cập: xác định tập tin có thể được truy cập bởi ai

o Các thao tác HĐH cung cấp khi làm việc với hệ thống tập tin:

• Tạo và xóa tập tin, thư mục

• Các thao tác cơ bản trên tập tin và thư mục

• Ánh xạ tập tin vào thiết bị lưu trữ thứ cấp

• Sao lưu tập tin vào thiết bị lưu trữ không bay hơi (non-volatile)

Trang 35

Thông thường các đĩa hay thiết bị lưu trữ thứ cấp (disks hay

secondary storage) được sử dụng để lưu trữ dữ liệu lớn hơn bộ nhớchính hay dữ liệu cần lưu trữ thời gian dài

• Một cơ chế quản lý đĩa hợp lý rất quan trọng trong hệ thống máytính

• Tốc độ chung của toàn bộ hệ thống phụ thuộc rất nhiều vào hệ thốngđĩa và các giải thuật sử dụng trên nó

o Có thể được quản lý bởi HĐH hay một ứng dụng nào đó

o Có thể là WORM (write-once, read-many-times) hay RW(read-write)

Trang 36

• Việc di chuyển giữa các cấp độ lưu trữ trong bộ nhớ phân cấp

có thể rõ ràng hoặc không

Trang 37

• Trong môi trường đa nhiệm cần đảm bảo giá trị mới nhất được

sử dụng, cho dù nó được lưu trữ tại bất kỳ đâu trong hệ thống phân cấp

• Trong môi trường có nhiều bộ xử lý: phần cứng cần hỗ trợ cơ chế đồng nhất cache => đảm bảo tất cả các CPU điều được cập nhật giá trị mới nhất

• Trong môi trường phân tán: nhiều bản sao dữ liệu có thể tồn tại đồng thời => vấn đề đồng bộ hóa phức tạp hơn nhiều

Trang 38

• Một trong các mục đích của HĐH là ẩn đi các đặc tính riêng biệt của các thiết bị phần cứng với người dùng

• Hệ thống I/O chịu trách nhiệm:

o Quản lý vào ra bộ nhớ chính bao gồm buffering, caching,spooling

o Giao diện điều khiển thiết bị tổng quát

o Trình điều khiển cho các thiết bị chuyên biệt

Trang 39

Protection – các cơ chế điều khiển truy cập các nguồn tài nguyên

của các tiến trình hoặc người dùng được định nghĩa bởi hệ điều hành

Security – các cơ chế bảo vệ hệ thống chống lại các tấn công từ bên

trong hay bên ngoài

o Rất đa dạng: denial-of-service, worrms, viruses, identity theft, theft of service

• Hệ thống trước tiên phải nhận dạng được người dùng, để xác địnhquyền hạn của người truy cập

o Định danh người dùng (User ID hay Security ID) – gồm tên kết hợp với một số duy nhất cho mỗi người dùng

o User ID kết hợp với tất cả các file, tiến trình mà người dùng được phép truy cập

o Định danh nhóm (group ID)

Trang 41

• Các máy tính đa mục đích, độc lập (Stand-alone general purpose machines)

• Hầu hết các hệ thống ngày nay điều được kết nối với nhau =>

sự phân biệt giữ các hệ thống là không rõ ràng

• Portals cung cấp truy cập thông qua giao diện web vào bên trong hệ thống

• Network computers (thin clients) có thể xem như Web terminals

• Kết nối Internet trở nên phổ biến, thậm chí các hệ thống tại nhà cũng được trang bị tường lửa các máy tính khỏi các mối nguy từ bên ngoài.

Trang 42

• Các thiết bị cầm tay, tablet,…

• Có kích thước nhỏ, nhẹ, bộ nhớ và CPU có khả năng giới hạn

• Có các tính năng chuyên biệt (GPS, gyroscope)

Tạo ra các kiểu ứng dụng mới như augmented reality

• Sử dụng IEEE 802.11 wireless, hay cellular data network

• Hệ điều hành: Apple iOS, Google Android

Trang 43

• Tập hợp các hệ thống máy tính riêng biệt, có thể có cấu trúc phần cứng không giống nhau, được kết nối với nhau

o Kết nối thông qua mạng, dùng TCP/IP

Local Area Network (LAN)

Wide Area Network (WAN)

Metropolitan Area Network (MAN)

Personal Area Network (PAN)

o Cho phép các máy tính trong hệ thống có thể truy cập đến nhiều nguồn tài nguyên đa dạng khác nhau có trong hệ thống => khả năng truy cập các nguồn tài nguyên chia sẽ này giúp gia tăng tốc độ tính toán, sự sẳn sàng của dữ liệu và độ tin cậy của hệ thống.

o HĐH phân tán (Distributed OS) điều khiển các hệ thống máy tính khác nhau trong hệ thống để có thể thực hiện các chức năng chung của hệ thống

Trang 44

• Dumb terminals được thay thế bằng các smart PC

• Hệ thống máy chủ có thể chia làm 2 loại:

o Compute-server system: cung cấp giao diện để client có thể yêucầu các dịch vụ (vd: database)

o File-server system: cung cấp giao diện cho phép client lưu trữ vàtruy xuất file

Trang 45

• Là một kiểu của mô hình phân tán

• P2P không phân biệt clients và servers

o Tất cả các node là ngang hàng

o Có thể là client, server hay cả hai

o Node khi kết nối vào mạng P2P:

• Đăng ký dịch vụ của nó với trung tâm tìm kiếm dịch vụ mạng, hay

Sử dụng discovery protocol để yêu

cầu dịch vụ

o Ví dụ: Napster, Gnutella, VoIP của

Skype

Trang 46

• Cho phép các hệ điều hành có thể chạy như là một chương trình ứng dụng trong những hệ điều hành khác

o Đây là một lĩnh vực rộng và đang phát triển nhanh chóng

CPU đích (ví dụ: PowerPC và Intel x86)

o Nhìn chung tốc độ chậm hơn khi chạy trực tiếp

o Thông dịch (Interpretation) cũng là một dạng của giả lập

chạy bên trong hệ điều hành khác

o VD: VMware chạy các WinXP guest, mỗi cái chạy các ứng dụngcủa chính nó, và tất cả chạy trên WinXP host OS

o Vmware hay VMM (Virtual machine manager) cung cấp cácdịch vụ ảo hóa

Trang 47

• VMM cho phép chạy nhiều HĐH trên PC với mục đích khám phá hay vấn đề tương thích

o Apple laptop dùng HĐH Mac OS X, chạy HĐH Windows như làmột guest OS

o Phát triển các ứng dụng cho nhiều hệ điều hành khác nhau màkhông cần có nhiều hệ thống vật lý khác nhau

o Thực thi và quản lý các môi trường điện toán trong các trung tâm

dữ liệu (data centers)

• Một số VMM như Vmware ESX hay Citrix XenServer không cần chạy trên một host OS

Trang 48

8/8/2013 48 Chương 1: Tổng quan về hệ điều hành

Trang 49

Cloud Computing hay điện toán đám mây: Giúp cung cấp các tài

nguyên tính toán, lưu trữ, ứng dụng như là các dịch vụ thông quamạng

• Là một bước mở rộng của ảo hóa và dựa trên nền tảng ảo hóa

o Amazon EC2 cung cấp hàng ngàng server, hàng triệu máy ảo, và hàng Petabytes lưu trữ sẳn dùng cho bất cứ người dùng nào trên internet (người dùng phải trả phí cho các tài nguyên mà họ dùng)

• Các loại cloud Computing:

o Public cloud

o Private cloud

o Hybrid cloud

• Các loại dịch vụ cung cấp:

o Software as a Service (SaaS)

o Platform as a Service (PaaS)

o Infrastructure as a Service (IaaS)

Ngày đăng: 27/04/2016, 20:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w