Chương 1. Các khái niệm cơ sở

Tài liệu tương tự
Chöông 1 (tt.)

Nội dung chương 3 IT1110 Tin học đại cương Phần I: Tin học căn bản Chương 3: Hệ thống máy tính 3.1. Giới thiệu 3.2. Chức năng và các thành phần của má

PowerPoint Presentation

PowerPoint Presentation

A+ Guide to Managing and Maintaining Your PC, 4e

Microsoft Word - Module 2. Cau truc cua may tinh dien tu.doc

PHẦN MỀM QUẢN LÝ KHÁCH SẠN

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Lkgjlfjq?etyuiiofjkfjlsfjkslddghdgertt

Microsoft Word - DE TAI KIEN TRUC MANG 2.doc

Microsoft Word - HDSD digiTool.doc

Xu hướng phát triển của các hệ thống nhúng Xu hướng phát triển của các hệ thống nhúng Bởi: Khoa CNTT ĐHSP KT Hưng Yên Xu hướng phát triển của các hệ t

Những khái niệm cơ bản của hệ điều hành mạng Windows Những khái niệm cơ bản của hệ điều hành mạng Windows Bởi: unknown Giới thiệu tổng quan về Windows

Slide 1

Cấu trúc và hoạt động của máy tính cá nhân Biên tập bởi: Vien CNTT DHQG Hanoi

Máy tính cá nhân Máy tính cá nhân Bởi: Wiki Pedia Định nghĩa Máy tính cá nhân (tiếng Anh: personal computer, viết tắt PC) là một máy điện toán siêu nh

Nh?ng cách cha?y Android trên máy tính

Microsoft Word - Giải pháp Kaspersky - NTS.docx

Kyõ Thuaät Truyeàn Soá Lieäu

MCSA 2012: Distributed File System (DFS) MCSA 2012: Distributed File System (DFS) Cuongquach.com Ở bài học hôm nay, mình xin trình bày về Distributed

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH ĐỀ CƯƠNG MÔN HỌC 1. THÔNG TIN VỀ MÔN HỌC 1.1. Tên môn học: QUẢN TRỊ HỆ CƠ SỞ DỮ LIỆU 1.

Lỗi thường gặp ở Windows Lỗi thường gặp ở Windows Bởi: Vien CNTT DHQG Hanoi LỖI THƯỜNG GẶP Ở WINDOWS Khi hệ thống gặp bất ổn, hệ điều hành (HĐH) sẽ cố

HỘI THI TIN HỌC TRẺ TỈNH AN GIANG ĐỀ CHÍNH THỨC ĐỀ THI LÝ THUYẾT BẢNG A - KHỐI TIỂU HỌC Khóa ngày: Thời gian : 20 phút (không kể thời gian

Microsoft Word - Phan 1 - Kien thuc co so IFS-HANU 2011.doc

Slide 1

mySQL - Part 1 - Installation

Microsoft Word - mot_so_tool_trong_android.docx

Số hiệu F- QP 7.5.1/7-3 TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ THÔNG TIN ispace 137C Nguyễn Chí Thanh, Phường 9, Quận 5, TP. Hồ Chí Minh ĐT: Fax: 08-2

Làm việc với các thư viện chung (common library) và các thư viện chia sẻ Làm việc với các thư viện chung (common library) và các thư viện chia sẻ Bởi:

Microsoft Word - Khai thac AWS EC2_Web hosting.docx

Chapter 5

Backup Cloud Server

XJ-UT311WN_XJ-UT351WN

Modbus RTU - Modbus TCP/IP Converter

Dell Latitude 12 Rugged Extreme – 7214 Getting Started Guide

Phân tích và thiết kế hệ thống thông tin

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

Microsoft Word - Tailieu win2003.doc

Hệ điều hành Bài tập tuần 6 1 Quản lý bộ nhớ Bài tập 1 : Xem thông tin bộ nhớ 1. Sử dụng top, ps đọc thông tin về kích thước vùng nhớ của 1 tiến trình

Kiểm soát truy suất Kiểm soát truy suất Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khái niệm Bảo mật thực chất là kiểm soát truy xuất [1]. Mục đích của bảo mật m

Microsoft Word - HDSD-QLHD.doc

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG ỨNG DỤNG HÓA ĐƠN ĐIỆN TỬ CYBERBILL CLOUD V2.0 Phiên bản V2.0

Intro Parallel Computing 03

Hệ điều hành UNIX Hệ điều hành UNIX Bởi: Wiki Pedia UNIX Unix hay UNIX là một hệ điều hành máy tính viết vào những năm 1960 và 1970 do một số nhân viê

10 Vạn Câu Hỏi Vì Sao - Tin Học

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

Dell Latitude 14 Rugged — 5414Series Sổ tay hướng dẫn chủ sở hữu

Một số thao tác trong windows XP Một số thao tác trong windows XP Bởi: Vien CNTT DHQG Hanoi MỘT SỐ THAO TÁC TRONG WINDOWS XP Tạo đĩa mềm khởi động DOS

Bài 1:

Hướng dẫn bắt đầu sử dụng mozabook mozabook 2 Cài đặt, bắt đầu, Bản đồ màn hình Mở ấn phẩm, Nhập PDF và PPT Dẫn đường, Cập nhật ấn phẩm Ấn phẩm mới Nộ

tài liệu hướng dẫn sử dụng dành cho người dùng cuối

CÔNG TY CỔ PHẦN TIẾN BỘ QUỐC TẾ Hướng dẫn sử dụng Activ Vote & Expresss

Hướng dẫn Cài đặt NOTEBOOK Hướng dẫn Cài đặt Windows Đọc kỹ tài liệu này trước khi cài đặt. Sau khi đọc Hướng dẫn Cài đặt này, cất ở nơi dễ lấy để tất

IPSec IPSec Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta đã biết khi ta sao chép dữ liệu giữa 2 máy hoặc thông qua mạng VPN để nâng cao chế độ bảo mật người q

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Microsoft Word - TaiLieuTNKTD1PhanPLC-05[1].2008.doc

Chương trình dịch

HD reset mật khẩu cho các hệ điều điều hành HƯỚNG DẪN RESET MẬT KHẨU CHO CÁC HỆ ĐIỀU HÀNH MỤC LỤC 1 Hướng dẫn chỉnh boot bằng cd-rom trên vps R

Chapter 9

Dell Precision Rack 7910 Sổ tay hướng dẫn chủ sở hữu

Bitdefender Total Security

Slide 1

WICELL User Guide Smart Cloud Wicell Controller Standard Version Manual version

Huong dan su dung phan mem Quan ly chat luong cong trinh GXD

Hướng dẫn KHG sử dụng dịch vụ BaaS do Mobifone Global cung cấp Tổng Công ty Viễn thông MOBIFONE là nhà cung cấp dịch vụ Viễn thông và CNTT hàng đầu tạ

ĐỀ CƯƠNG ÔN THI 1. Khái niệm về điều khiển Logic khả trình Có rất nhiều định nghĩa về bộ điều khiển Logic khả trình (Programmable logic controller viế

Slide 1

HƯỚNG DẪN SỬ DỤNG CÁC SẢN PHẨM CỦA OFFICE 365 Hợp đồng số: 25/KTQD-FPT Cung cấp hệ thống Office trực tuyến và thư điện tử Trường Đại Học Kinh Tế Quốc

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

ZTE-U V889D Hướng dẫn sử dụng

KIỂM TOÁN NHÀ NƯỚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Số: 1173/QĐ-KTNN Hà Nội, ngày 27 tháng 7 nă

Thỏa Thuận FBS

Kiến trúc tập lệnh1

HEADING 1: PHẦN 1: QUẢN LÝ VÀ DUY TRÌ HỆ ĐIỀU HÀNH

Slide 1

Loa Máy Tính Loa Máy Tính Bởi: Lê Văn Tâm Loa máy tính là thiết bị dùng để phát ra âm thanh phục vụ nhu cầu làm việc và giải trí của con người với máy

PDT8A-Specification.doc

Chương trình dịch

TẬP ĐOÀN ĐIỆN LỰC VIỆT NAM TRUNG TÂM CÔNG NGHỆ THÔNG TIN TÀI LIỆU HƯỚNG DẪN SỬ DỤNG DIM OPERATOR v1.2 (Dành cho Đơn vị phát điện) Hà Nội, tháng 2/2008

Computer Architecture

Chapter #

Microsoft Word - Huong dan cau hinh mikrotik - Viet Tuan UNIFI.vn

Bài 4 Tựa bài

CÔNG TƠ ĐIỆN XOAY CHIỀU KIỂU ĐIỆN TỬ 3 PHA VSE3T TÀI LIỆU KỸ THUẬT Dùng cho công tơ điện xoay chiều kiểu điện tử 3 pha VSE3T o 230/400V - 5(6)A (VSE3T

Bo mạch đồ họa Bo mạch đồ họa Bởi: Wiki Pedia Bo mạch đồ họa (graphics adapter), card màn hình (graphics card), thiết bị đồ họa, card màn hình, đều là

Microsoft Word - cai_dat_android_studio.docx

CÔNG TY TNHH THƯƠNG MẠI VÀ DỊCH VỤ NGUYỄN ĐỨC 126 Lê Thanh Nghị - Quận Hai Bà Trưng - Hà Nội Điện Thoai : Fax : Website : www.

MÁY TOÀN ĐẠC ĐIỆN TỬ LEICA TCR1101

Easy UI Solution 3 Hướng dẫn sử dụng

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Domain Controller - Join Domain Domain Controller - Join Domain Bởi: Phạm Nguyễn Bảo Nguyên Hãy tưởng tượng trong công ty bạn có khoảng 5 máy tính với

Microsoft Word - Giao trinh Tin dai cuong_Kiem_Phan I.doc

Operating Instructions

BÀI MỞ ĐẦU BÀI MỞ ĐẦU Bởi: Vũ Khánh Quý Bài 1: GIỚI THIỆU MÔN HỌC 1. Giới thiệu môn học Với xu thế ứng dụng hệ thống thông tin vào tất cả các hoạt độn

DocuCentre-V 5070 / 4070 DocuCentre-V 5070 / 4070 Vận hành linh hoạt giúp nâng cao công việc của bạn.

Hướng dẫn sử dụng dịch vụ FTP

ThemeGallery PowerTemplate

ISA Server - Installation ISA Server - Installation Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta không thể phủ nhận rằng trong khoảng vài năm trở lại đây Inte

TCVN 11391:2016 MỤC LỤC 1 Phạm vi áp dụng Tài liệu viện dẫn Thuật ngữ, định nghĩa và các từ viết tắt Thuật ngữ và định nghĩa...

PHẦN III. NỘI DUNG CHƯƠNG TRÌNH ĐÀO TẠO 1. Tóm tắt yêu cầu chương trình đào tạo Tổng số tín chỉ của chương trình đào tạo: Khối kiến thức chung 158 tín

Bản ghi:

HỆ ĐIỀU HÀNH CHƯƠNG 1. TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Phan Trung Kiên Bộ môn Kỹ thuật máy tính và Mạng

Nội dung 1.1. Hệ điều hành là gì? 1.3. Cấu trúc hệ điều hành 1.2. Cấu trúc hệ thống máy tính 2

1.1. Hệ điều hành là gì? 1.1.1. Các thành phần của hệ thống máy tính 3

Cấu trúc của máy tính 4

Định nghĩa HĐH là chương trình trung gian giữa phần cứng máy tính và người sử dụng, có chức năng điều khiển phần cứng và cung cấp các dịch vụ cơ bản cho các ứng dụng. Mục tiêu của HĐH là làm cho người sử dụng: Thực thi dễ dàng các ứng dụng của mình Thao tác điều khiển máy tính trở nên thuận tiện. Quản lý và cấp phát tài nguyên hệ thống một cách hiệu quả. 5

6

Các chức năng chính của HĐH Phân chia thời gian xử lý trên CPU (định thời) Phối hợp và đồng bộ hoạt động giữa các quá trình Quản lý tài nguyên hệ thống hiệu quả Kiểm soát quá trình truy cập, bảo vệ hệ thống Duy trì sự nhất quán của hệ thống, kiểm soát lỗi và phục hồi hệ thống khi có lỗi xảy ra. Cung cấp giao diện làm việc thuận tiện cho người dùng 7

Máy tính lớn (mainframes) Lịch sử phát triển Xử lý bó (batch) Đa chương (multiprogrammed) Đa nhiệm (time-sharing, multitasking) (Mainframe) Batch systems I/O: card đục lỗ, băng từ (tapes), line printer Cần có người vận hành (user operator) Giảm setup time bằng cách ghép nhóm công việc (batching) Vd: ghép các công việc cùng sử dụng trình biên dịch Fortran Tự động nạp lần lượt các chương trình 8

Lịch sử phát triển hệ điều hành (tt) (Mainframe) Multiprogrammed systems Nhiều công việc được nạp đồng thời vào bộ nhớ chính 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, tăng hiệu suất sử dụng CPU (CPU utilization) Yêu cầu đối với hệ điều hành Định thời công việc (job scheduling): chọn job trong job pool trên đĩa và nạp nó vào bộ nhớ để thực thi. Quản lý bộ nhớ (memory management) Định thời CPU (CPU scheduling) Cấp phát tài nguyên (đĩa, máy in, ) Bảo vệ 9

Lịch sử phát triển hệ điều hành (tt) 10

Lịch sử phát triển hệ điều hành (tt) (Mainframe) Time-sharing systems Multiprogrammed systems không cung cấp khả năng tương tác hiệu quả với users CPU luân phiên thực thi giữa các công việc Mỗi công việc được chia một phần nhỏ thời gian CPU (time slice, quantum time) Cung cấp tương tác giữa user và hệ thống với thời gian đáp ứng (response time) nhỏ (1 s) Một công việc chỉ được chiếm CPU 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ữ (swapping), nhường bộ nhớ chính cho công việc khác. 11

Lịch sử phát triển hệ điều hành (tt) Yêu cầu đối với HĐH trong hệ thống time-sharing Định thời công việc (job scheduling) Quản lý bộ nhớ (memory management) Virtual memory Quản lý các quá trình (process management) Định thời CPU Đồng bộ các quá trình (synchronization) Giao tiếp giữa các quá trình (process communication) Tránh deadlock Quản lý hệ thống file, hệ thống lưu trữ Cấp phát hợp lý các tài nguyên Bảo vệ (protection) 12

Lịch sử phát triển hệ điều hành (tt) Máy để bàn (desktop system, personal computer) Nhiều thiết bị I/O: bàn phím, chuột, màn hình, máy in, Phục vụ người dùng đơn lẻ. Mục tiêu chính của HĐH Thuận tiện cho user và khả năng tương tác cao. Không cần tối ưu hiệu suất sử dụng CPU và thiết bị ngoại vi. Nhiều hệ điều hành khác nhau (MS Windows, Mac HĐH, Solaris, Linux, ). 1.13

Lịch sử phát triển hệ điều hành (tt) Hệ thống song song Nhiều CPU Chia sẻ computer bus, clock Ưu điểm System throughput: càng nhiều processor thì càng nhanh xong công việc Multiprocessor system ít tốn kém hơn multiple singleprocessor system: vì có thể dùng chung tài nguyên (đĩa, ) Độ tin cậy: khi một processor hỏng thì công việc của nó được chia sẻ giữa các processor còn lại 14

Lịch sử phát triển hệ điều hành (tt) Phân loại hệ thống song song Đa xử lý đối xứng (symmetric multiprocessor - SMP) Mỗi processor vận hành một identical copy của hệ điều hành Các copy giao tiếp với nhau khi cần Đa xử lý bất đối xứng (asymmetric multiprocessor) 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 15

Lịch sử phát triển hệ điều hành (tt) Hệ thống phân bố (distributed system, loosely-coupled system) Mỗi processor có bộ nhớ riêng, các processor giao tiếp qua các kênh nối như mạng, bus tốc độ cao, leased line Người dùng chỉ thấy một hệ thống đơn nhất Ưu điểm Chia sẻ tài nguyên (resource sharing) Chia sẻ sức mạnh tính toán (computational sharing) Độ tin cậy cao (high reliability) Độ sẵn sàng cao (high availability): các dịch vụ của hệ thống được cung cấp liên tục cho dù một thành phần hardware trở nên hỏng 16

Lịch sử phát triển hệ điều hành (tt) Hệ thống phân bố (tt) Các mô hình hệ thống phân bố Client-server Server: cung cấp dịch vụ Client: có thể sử dụng dịch vụ của server Peer-to-peer (P2P) Các peer (máy tính trong hệ thống) đều ngang hàng nhau Không có cơ sở dữ liệu tập trung Các peer là tự trị Vd: Gnutella (Napster không phải là hệ thống P2P đúng nghĩa vì có cơ sở dữ liệu tập trung) 17

Lịch sử phát triển hệ điều hành (tt) Hệ thống thời gian thực (real-time system) Sử 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, thiết bị gia dụng Ràng buộc về thời gian: hard và soft real-time Phân loại 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 về 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, robotics, Soft real-time Thường được dùng trong lĩnh vực multimedia, virtual reality với yêu cầu mềm dẻo hơn về thời gian đáp ứng 18

1.2. Cấu trúc hệ thống máy tính Kiến trúc cơ bản của hệ thống máy tính Cơ chế vận hành của hệ thống Cấu trúc hệ thống xuất nhập (I/O) Cấu trúc và phân cấp hệ thống lưu trữ 19

Kiến trúc cơ bản của hệ thống máy tính Disks Mouse Keyboard Printer Monitor CPU Disk controller USB controller Graphics adapter MEMORY Đệm dữ liệu (local buffer) 20

Chu trình hoạt động của CPU Start Fetch Next Instruction Execute Instruction HALT 1. Chu trình đơn giản (không có ngắt) Interrupts disabled Start Fetch Next Instruction Execute Instruction Interrupts enabled Check for interrupt; Process interrupt HALT 2. Chu trình có điều khiển ngắt 21

Ngắt Phân loại: ngắt do Program: tràn số học, chia cho 0, truy cập bộ nhớ bất hợp pháp Timer: cho phép CPU thực thi một tác vụ nào đó theo định kỳ I/O: kết thúc tác vụ I/O, xảy ra lỗi trong I/O Hardware failure: Hư hỏng nguồn, lỗi memory parity, Trap (software interrupt): yêu cầu dịch vụ hệ thống (gọi system call), Lược đồ thời gian khi process có yêu cầu các tác vụ I/O 22

Quá trình xử lý ngắt User Program Interrupt vector table 0 0 2 0 00ffe23f interrupt 0x21 routine 1 21 00ffe23f ret i i+1 int. 0x21 N 3 ffffffff M Interrupt handler 23

Quá trình xử lý ngắt (tt) I/O interrupts Không có ngắt Có ngắt 24

Cấu trúc hệ thống I/O

Các kỹ thuật thực hiện I/O Polling Để gửi dữ liệu ra một thiết bị I/O (thông qua I/O port), CPU ghi byte dữ liệu vào thanh ghi dữ liệu (data register), sau đó thiết lập một bit (bit PIO 1) của thanh ghi điều khiển (control register) để báo hiệu cho I/O controller. (PIO: programmed I/O) I/O controller đọc byte dữ liệu từ thiết bị I/O, xóa bit điều khiển (bit 0). CPU tiếp tục gửi byte kế. I/O controller không gây ra ngắt mỗi khi xong việc. CPU phải dùng cơ chế polling để kiểm tra trạng thái thiết bị I/O Truyền dữ liệu từng byte một 1.A.26

Các kỹ thuật thực hiện I/O (tt) Interrupt-driven I/O CPU không poll mà I/O controller sẽ gây ra ngắt mỗi khi sẵn sàng cho tác vụ I/O. X Trong lúc thiết bị I/O thực thi lệnh, CPU có thể thực thi công việc khác. X Polling và interrupt-driven I/O đều tiêu tốn thời gian xử lý của CPU bởi vì CPU phải copy byte dữ liệu được đọc/ghi memory. Thích hợp cho các thiết bị I/O có tốc độ không cao (keyboard, mouse) 1.A.27

Các kỹ thuật thực hiện I/O (tt) Phương pháp thực hiện I/O kernel kernel Synchronous Asynchronous - - - : bypassing 28

Các kỹ thuật thực hiện I/O (tt) Asynchronous I/O Các hàng đợi (wait queue) I/O 29

Các kỹ thuật thực hiện I/O (tt) Direct Memory Access (DMA) CPU gửi yêu cầu đến module DMA (= DMA controller) Module DMA chuyển một khối dữ liệu giữa bộ nhớ và thiết bị I/O mà không cần CPU can thiệp. Khi xong một tác vụ gửi nhận thì phát khởi một ngắt. CPU chỉ tham gia vào giai đoạn khởi đầu và kết thúc của việc truyền nhận dữ liệu Trong khi đang truyền nhận dữ liệu, CPU có thể thực thi công việc khác Thích hợp cho các thiết bị có tốc độ cao (đĩa) 1.A.30

Cấu trúc & phân cấp hệ thống lưu trữ

Hệ thống lưu trữ Lưu trữ là một trong những dạng thức I/O quan trọng Bộ nhớ chính (main memory, primary memory) CPU chỉ có thể truy cập trực tiếp thanh ghi (registers) và bộ nhớ ROM, 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): đĩa mềm, đĩa cứng, băng từ Đĩa quang (optical disk): CD-ROM, DVD-ROM Flash ROM: USB disk 1.A.32

Phân cấp hệ thống lưu trữ Tốc độ cao vd: file-system data Giá thành thấp Dung lượng lớn 1.A.33

Cơ chế caching Caching nạp trước dữ liệu vào thiết bị lưu trữ tốc độ cao hơn Tại sao phải dùng cache? Chênh lệch lớn giữa tốc độ CPU và tốc độ bộ nhớ RAM, đĩa, Khai thác nguyên lý cục bộ (locality) Kích thước cache nhỏ phải quản lý cache: thay nội dung cache 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: cache coherency problem A: dữ liệu 34

Bảo vệ phần cứng dual mode Cơ chế dual-mode: cần có phần cứng hỗ trợ User mode thực thi với quyền hạn của user bình thường Kernel mode (còn gọi là supervisor mode, system mode, monitor mode) có toàn quyền truy xuất tài nguyên hệ thống Phần cứng có thêm mode bit để kiểm soát mode hiện hành: mode bit = 0: kernel mode mode bit = 1: user mode Khi có ngắt hoặc có lỗi xảy ra, hệ thống sẽ chuyển sang kernel mode. 1.A.35

Bảo vệ phần cứng I/O Lệnh I/O đều là privileged instruction Users không được phép tương tác trực tiếp với các thiết bị I/O mà phải thông qua lời gọi system call System call Là phương thức duy nhất để process yêu cầu các dịch vụ của hệ điều hành System call sẽ gây ra ngắt mềm (trap), quyền điều khiển được chuyển đến trình phục vụ ngắt tương ứng, đồng thời thiết lập mode = 0 (kernel mode). Hệ điều hành kiểm tra tính hợp lệ, đúng đắn của các đối số, thực hiện yêu cầu rồi trả quyền điều khiển về lệnh kế tiếp ngay sau lời gọi system call, mode = 1. 1.A.36

Bảo vệ phần cứng Bộ nhớ Vd: bảo vệ bộ nhớ dùng 2 thanh ghi - Truy cập bộ nhớ ngoài vùng xác định bởi thanh ghi base và thanh ghi limit sẽ sinh ra trap - Lệnh nạp giá trị cho các thanh ghi base và thanh ghi limit đều là privileged instruction (b) (a) 37

Bảo vệ CPU Bảo vệ phần cứng CPU Bảo đảm HĐH duy trì được quyền điều khiển Tránh trường hợp CPU bị kẹt trong các vòng lặp vô hạn Cơ chế thực hiện là dùng timer để kích khởi các ngắt định kỳ Bộ đếm timer sẽ giảm dần sau mỗi xung clock. Khi bộ đếm timer bằng 0 thì ngắt timer được kích hoạt hệ điều hành sẽ nắm quyền điều khiển. Lệnh nạp giá trị bộ đếm timer là một privileged instruction. 1.A.38

Timer Có thể sử dụng timer để thực hiện cơ chế timesharing. Thiết lập timer gây ngắt định kỳ N ms (N: time slice, quantum time) và định thời CPU sau mỗi lần ngắt. Có thể dùng timer để tính thời gian trôi qua (elapse time) 1.A.39

Cấu Trúc Hệ Điều Hành Các thành phần của hệ điều hành Các dịch vụ hệ điều hành cung cấp Giao tiếp giữa tiến trình và hệ điều hành Các chương trình hệ thống (system programs) Cấu trúc logic của hệ thống Máy ảo (virtual machine) 40

Các thành phần của hệ điều hành Quản lý tiến trình (process management) tiến trình vs. chương trình Một tiến trình cần các tài nguyên của hệ thống như CPU, bộ nhớ, file, thiết bị I/O, để hoàn thành công việc. Các nhiệm vụ của thành phần Tạo và hủy tiến trình Tạm ngưng/tiếp tục thực thi (suspend/resume) tiến trình Cung cấp các cơ chế đồng bộ hoạt động các tiến trình (synchronization) giao tiếp giữa các tiến trình (interprocess communication) khống chế deadlock 41

Các thành phần của hệ điều hành (tt) Quản lý bộ nhớ chính Để có hiệu suất sử dụng CPU và thời gian đáp ứng tốt, hệ điều hành cần dùng giải thuật quản lý bộ nhớ thích hợp Các nhiệm vụ của thành phần Theo dõi, quản lý các vùng nhớ trống và đã cấp phát Quyết định sẽ nạp chương trình nào khi có vùng nhớ trống Cấp phát và thu hồi các vùng nhớ 42

Các thành phần của hệ điều hành (tt) Quản lý file (file management) Hệ thống file (file system) File Thư mục Các dịch vụ mà thành phần cung cấp Tạo và xoá file/thư mục. Các tác vụ xử lý file/thư mục (rename, copy, move, new, ) Ánh xạ file/thư mục vào thiết bị lưu trữ thứ cấp tương ứng Sao lưu và phục hồi dữ liệu 43

Các thành phần của hệ điều hành (tt) Quản lý hệ thống I/O (I/O system management) Che dấu các đặc trưng riêng biệt của từng thiết bị I/O Có chức năng Cơ chế: buffering, caching, spooling Cung cấp giao diện chung đến các trình điều khiển thiết bị (device-driver interface) Trình điều khiển thiết bị (device driver) cho mỗi chủng loại thiết bị phần cứng khác nhau. 44

Các thành phần của hệ điều hành (tt) Quản lý hệ thống lưu trữ thứ cấp (secondary storage management) Bộ nhớ chính: kích thước nhỏ, là môi trường chứa tin không bền vững cần hệ thống lưu trữ thứ cấp để lưu trữ bền vững các dữ liệu, chương trình Phương tiện lưu trữ thông dụng là đĩa từ, đĩa quang Nhiệm vụ của thành phần Quản lý vùng trống (free space management) Cấp phát không gian lưu trữ (storage allocation) Định thời đĩa (disk scheduling) 1.B.45

Các thành phần của hệ điều hành (tt) Hệ thống bảo vệ Khi hệ thống cho phép nhiều user hay nhiều tiến trình Kiểm soát tiến trình người dùng đăng nhập/xuất và sử dụng hệ thống Kiểm soát việc truy cập các tài nguyên trong hệ thống Bảo đảm chỉ những người dùng/tiến trình đủ quyền hạn mới được phép sử dụng các tài nguyên tương ứng Các nhiệm vụ của thành phần Cung cấp cơ chế kiểm soát đăng nhập/xuất (login, log out) Phân định được sự truy cập tài nguyên hợp pháp và bất hợp pháp (authorized/unauthorized) Phương tiện thi hành các chính sách (enforcement of policies) Chính sách: cần bảo vệ dữ liệu của ai đối với ai 46

Các thành phần của hệ điều hành (tt) Trình thông dịch lệnh Là giao diện chủ yếu giữa người dùng và HĐH Ví dụ: shell, mouse-based window-and-menu Khi user login command line interpreter (shell) chạy, và chờ nhận lệnh từ người dùng, thực thi lệnh và trả kết quả về Liên hệ chặt chẽ với các thành phần khác của hệ điều hành để thực thi các yêu cầu của người dùng Các nhóm lệnh trình thông dịch lệnh để Tạo, hủy, xem thông tin tiến trình, hệ thống Điều khiển truy cập I/O Quản lý, truy cập hệ thống lưu trữ thứ cấp Quản lý, sử dụng bộ nhớ Truy cập hệ thống file 47

Các dịch vụ hệ điều hành Một số dịch vụ chủ yếu mà người dùng hay chương trình cần Thực thi chương trình Thực hiện các tác vụ I/O do yêu cầu của chương trình Các tác vụ lên hệ thống file Đọc/ghi hay tạo/xóa file Cơ chế giao tiếp, trao đổi thông tin giữa các tiến trình Shared memory Message passing Phát hiện lỗi Trên thiết bị I/O: dữ liệu hư, hết giấy, Chương trình ứng dụng: chia cho 0, truy cập đến địa chỉ bộ nhớ không được phép 48

Các dịch vụ hệ điều hành (tt) Các chức năng khác (giúp hệ điều hành chạy hữu hiệu) Cấp phát tài nguyên (resource allocation) Tài nguyên: CPU, bộ nhớ chính, tape drives, HĐH có các routine tương ứng Kế toán (accounting) Ví dụ để tính phí Bảo vệ (protection) Các tiến trình lạ nhau không được ảnh hưởng nhau Kiểm soát được các truy cập vào tài nguyên An ninh (security) Chỉ các user được phép sử dụng hệ thống mới truy cập được tài nguyên của hệ thống (vd: thông qua password) 49

Giao tiếp giữa tiến trình và hệ điều hành System call Cung cấp giao diện giữa tiến trình và hệ điều hành Vd: open, read, write file Thông thường ở dạng thư viện nhị phân (binary libraries) Trong các ngôn ngữ lập trình cấp cao, một số thư viện lập trình được xây dựng dựa trên các thư viện hệ thống (ví dụ Windows API, thư viện GNU C/C++ như glibc, glibc++, ) Ba phương pháp truyền tham số khi sử dụng system call Truyền thông số qua thanh ghi Truyền tham số thông qua một vùng nhớ, địa chỉ của vùng nhớ được gửi đến hệ điều hành qua thanh ghi Truyền tham số qua stack 50

Các chương trình hệ thống Chương trình hệ thống (system program, phân biệt với application program) gồm Quản lý hệ thống file: như create, delete, rename, list Thông tin trạng thái: như date, time, dung lượng bộ nhớ trống Soạn thảo file: như file editor Hỗ trợ ngôn ngữ lập trình: như compiler, assembler, interpreter Nạp, thực thi, giúp tìm lỗi chương trình: như loader, debugger Giao tiếp: như email, talk, web browser Người dùng chủ yếu làm việc thông qua các system program (không làm việc trực tiếp với các system call) 51

Cấu trúc logic của hệ thống Hệ thống đơn (monolithic) MS-DOS: khi thiết kế, do giới hạn về dung lượng bộ nhớ nên không phân chia module (modularization), chưa phân chia rõ chức năng giữa các phần của hệ thống. MS-DOS, xem như được phân lớp (layered): 1.B.52

Cấu trúc logic của hệ thống (tt) Hệ thống đơn (monolithic) UNIX: gồm hai phần các system program và kernel (file system, CPU scheduling, memory management, và một số chức năng khác) Xem như được phân lớp: signals terminal handling character I/O system terminal drivers file system swapping block I/O system disk and tape drivers 1.A.53

Cấu trúc logic của hệ thống (tt) Thiết kế HĐH: phân chia module theo cách phân lớp (layered). Vd: hệ điều hành OS/2 54

Cấu trúc logic của hệ thống (tt) Thiết kế HĐH: phân chia module theo microkernel (CMU Mach HĐH, 1980) Chuyển một số chức năng của HĐH từ kernel space sang user space Thu gọn kernel microkernel, microkernel chỉ bao gồm các chức năng tối thiểu như quản lý tiến trình, bộ nhớ và cơ chế giao tiếp giữa các tiến trình Giao tiếp giữa các module qua cơ chế truyền thông điệp Application File server X-application một module X-window server POSIX application POSIX server Microkernel 55

Máy ảo Từ HĐH layer đến máy ảo (virtual machine) processes processes processes processes kernel hardware programming interface kernel kernel kernel VM1 VM2 VM3 Virtual-machine implementation hardware Non-virtual machine system model Virtual machine system model 56

Máy ảo (tt) Hiện thực ý niệm VM Làm thế nào để thực thi một chương trình MS-DOS trên một hệ thống Sun với hệ điều hành Solaris? 1. Tạo một máy ảo Intel bên trên hệ điều hành Solaris và hệ thống Sun 2. Các lệnh Intel (x86) được máy ảo Intel chuyển thành lệnh tương ứng của hệ thống Sun. Intel x86 Application Intel x86 VM VM interpretation Solaris kernel Sun hardware 1.B.57