Chương 1: Giớithiệu chung PhạmQuang Dũng Bộmôn Khoa học máy tính Khoa Công nghệthông tin Trường ĐH Nông nghiệpHàNội Website: fita.hua.edu.vnpqdung 1.2 PhạmQuang Dũng ©2008Bài giảng Nguyên lý Hệđiềuhành Nội dung chươngchương 1 Hệđiều hành (Operating System) làm việcgì? Tổchứccủahệthống máy tính Cấutrúccủa HĐH Hoạt động của HĐH Sựquảnlýtiếntrình Sựquảnlýbộnhớchính Sựquảnlýbộnhớlưutrữ Protection và Security Các môi trường sửdụng máy tính 1.3 PhạmQuang Dũng ©2008Bài giảng Nguyên lý Hệđiềuhành Mục tiêu Cung cấpmột chuyến du ngoạn lớn qua các thành phần chính của hệ điều hành. Cung cấp sựtổng quát về tổchức hệ thống máy tính cơ bản. 1.4 PhạmQuang Dũng ©2008Bài giảng Nguyên lý Hệđiềuhành 1.1. Hệđiđiều hành làm việc gì Hệđiều hành (Operating System): Là mộtchương trình hoạt động nhưmộtlớp trung gian giữangười sửdụngmáytínhvàphầncứng máy tính. Các mục đích của HĐH: z Thựchiệncácchương trình củangườisử dụng và giúp việcgiải các bài toán củangườisửdụng dễdàng hơn. z Giúp cho việcsửdụng hệthống máy tính thuậntiệnhơn. z Sửdụng phầncứngmáytínhtheomộtcáchhiệu
Nội dung chương BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH Hệ điều hành (Operating System) làm việc gì? Tổ chức hệ thống máy tính Cấu trúc HĐH Chương 1: Giới thiệu chung Hoạt động HĐH Sự quản lý tiến trình Sự quản lý nhớ Phạm Quang Dũng Bộ mơn Khoa học máy tính Khoa Cơng nghệ thơng tin Trường ĐH Nông nghiệp Hà Nội Website: fita.hua.edu.vn/pqdung Sự quản lý nhớ lưu trữ Protection Security Các mơi trường sử dụng máy tính Bài giảng Nguyên lý Hệ điều hành Mục tiêu 1.2 Phạm Quang Dũng ©2008 1.1 Hệ điều hành làm việc Cung cấp chuyến du ngoạn lớn qua thành phần hệ điều hành Cung cấp tổng quát tổ chức hệ thống máy tính Hệ điều hành (Operating System): Là chương trình hoạt động lớp trung gian người sử dụng máy tính phần cứng máy tính Các mục đích HĐH: z Thực chương trình người sử dụng giúp việc giải toán người sử dụng dễ dàng z Giúp cho việc sử dụng hệ thống máy tính thuận tiện z Sử dụng phần cứng máy tính theo cách hiệu Bài giảng Nguyên lý Hệ điều hành 1.3 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.4 Phạm Quang Dũng ©2008 Cấu trúc hệ thống máy tính Bốn thành phần hệ thống máy tính Phần cứng (Hardware) – cung cấp tài ngun tính tốn (CPU, memory, I/O devices) Hệ điều hành (Operating system) – điều khiển xếp việc sử dụng phần cứng chương trình ứng dụng khác người sử dụng khác Các chương trình ứng dụng (Applications programs) – định cách sử dụng tài nguyên hệ thống để giải toán người sử dụng (word processors, compilers, database systems, video games) Users (people, machines, other computers) Bài giảng Nguyên lý Hệ điều hành 1.5 Phạm Quang Dũng ©2008 Các cách nhìn hệ điều hành Là trình phân phối tài nguyên (Resource allocator) – quản lý định phân phối tài nguyên (CPU, không gian nhớ, thiết bị vào/ra ) cho yêu cầu nhằm đạt hiệu cơng Là chương trình điều khiển (Control program) – điều khiển thực chương trình người sử dụng hoạt động thiết bị vào/ra để ngăn lỗi sử dụng sai ¾ Khơng có định nghĩa hồn tốn HĐH Bài giảng Ngun lý Hệ điều hành 1.6 Phạm Quang Dũng ©2008 Những dễ nhầm với hệ điều hành? Các lệnh/ứng dụng truy vấn trạng thái hệ thống: ls (UNIX), Task Manager (Windows) Đó cơng cụ khơng chạy liên tục Các trình điều khiển thiết bị ngoại vi (drivers): khiến cho HĐH sử dụng phần cứng mới, chúng OS extensions thân OS Cũng giống browser plugin browser Các phần mềm đơn phương truy nhập phần cứng: z VMWare virtual PC (khơng phải hardware) Có thể cài Windows “trên” z Java VM virtual machine (không phải hardware), API Kernel (nhân) – chương trình chạy liên tục khơng ngừng máy tính (tất chương trình khác chương (application program interface) HĐH suy rộng (Careful: JavaOS project riêng) trình hệ thống chương trình ứng dụng) Bài giảng Nguyên lý Hệ điều hành 1.7 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.8 Phạm Quang Dũng ©2008 Tại phải nghiên cứu HĐH? Sự khởi động máy tính Thiết kế HĐH nghiên cứu riêng (case study) bootstrap program (chương trình mồi) nạp tốt thiết kế kỹ nghệ phần mềm bật máy khởi động lại The better you know the OS, the better apps you write, the better you understand its bugs and work around them HĐH sử dụng thuật giải phức tạp, nhiều sử dụng lại phần mềm khác, vd: phát bế tắc (deadlock detection) z Thường chứa ROM EPROM, thường gọi firmware z Khởi tạo tất khía cạnh hệ thống z Nạp nhân (kernel) HĐH bắt đầu thực HĐH cần có phát triển nhanh phần cứng Bài giảng Nguyên lý Hệ điều hành 1.9 Phạm Quang Dũng ©2008 1.2 Tổ chức hệ thống máy tính Một nhiều CPU, device controler kết nối với bus chung cho phép truy nhập nhớ chia sẻ Sự thực đồng thời CPU thiết bị cạnh tranh chu kỳ nhớ Bài giảng Nguyên lý Hệ điều hành 1.10 Phạm Quang Dũng ©2008 Hoạt động hệ thống máy tính Các thiết bị vào-ra CPU thực đồng thời Mỗi mạch điều khiển thiết bị (device controller) phụ trách loại thiết bị riêng có nhớ đệm riêng (local buffer) CPU chuyển liệu từ/đến nhớ đến/từ buffer Vào-ra từ thiết bị đến local buffer mạch điều khiển Mạch điều khiển thiết bị thơng báo cho CPU biết hồn tất cơng việc cách gây ngắt (interrupt) Bài giảng Nguyên lý Hệ điều hành 1.11 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.12 Phạm Quang Dũng ©2008 Các chức ngắt Xử lý ngắt HĐH điều khiển ngắt (interrupt driven), nghĩa mã HĐH trì trạng thái CPU cách lưu giữ nội dung lệnh gọi đến ngắt xuất Thông thường ngắt chuyển điều khiển cho thường trình dịch vụ ngắt thơng qua vector ngắt (interrupt vector), có chứa địa tất thường trình dịch vụ ngắt (interrupt service routine) Kiến trúc ngắt (Interrupt architecture) phải lưu địa lệnh bị ngắt ghi, đếm chương trình (program counter - PC) địa lệnh bị ngắt HĐH xác định loại ngắt xuất có hành động thực tương ứng: z polling z vectored Các ngắt đến bị vô hiệu (disabled) ngắt thực để tránh bị ngắt (lost interrupt) Thường trình dịch vụ ngắt (interrupt service routine) chịu trách nhiệm thực ngắt, CPU dành cho xử lý ngắt Một bẫy (trap) phần mềm tạo ngắt gây lỗi yêu Sau phục vụ ngắt, HĐH khôi phục lại ngữ cảnh trước ngắt cầu người sử dụng Bài giảng Nguyên lý Hệ điều hành 1.13 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành Interrupt Timeline 1.14 Phạm Quang Dũng ©2008 Cấu trúc vào-ra Synchronous I/O: Sau bắt đầu vào-ra, quyền kiểm soát quay lại chương trình người sử dụng vào-ra kết thúc z Chờ lệnh làm rỗi CPU có lệnh ngắt z Chờ theo vòng lặp kiểm tra CPU rỗi → tranh chấp truy nhập nhớ z Tại thời điểm, có yêu cầu vào-ra thực hiện, khơng có xử lý I/O đồng thời Asynchronous I/O: Sau I/O bắt đầu, quyền kiểm sốt quay lại chương trình người sử dụng mà không cần chờ I/O kết thúc z System call – gửi yêu cầu tới HĐH cho phép người sử dụng đợi I/O kết thúc (nếu muốn) z Bảng trạng thái thiết bị (Device-status table) chứa thông tin (entry) thiết bị I/O cho biết trạng thái, địa loại thiết bị z HĐH tra cứu vào bảng I/O device để xác định trạng thái thiết bị sửa đổi thông tin để thêm thông tin ngắt Bài giảng Nguyên lý Hệ điều hành 1.15 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.16 Phạm Quang Dũng ©2008 Mơ tả phương pháp vào-ra Đồng - Synchronous Bài giảng Nguyên lý Hệ điều hành Bảng trạng thái thiết bị Không đồng - Asynchronous 1.17 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.18 Phạm Quang Dũng ©2008 Cấu trúc DMA (Direct Memory Access) Cấu trúc hệ thống nhớ Được sử dụng cho thiết bị tốc độ cao (disk, communications Bộ nhớ (Main memory: RAM) – phương tiện lưu trữ lớn network) để tăng tốc độ trao đổi thông tin gần tới tốc độ nhớ mà CPU truy nhập trực tiếp z Quá nhỏ để lưu trữ ổn định tất chương trình liệu cần thiết Mạch điều khiển thiết bị chuyển toàn khối liệu (block of data) từ nhớ buffer trực tiếp tới nhớ khơng qua z Có tính khơng ổn định ⇒ liệu tắt nguồn Bộ nhớ thứ cấp (Secondary storage) – mở rộng nhớ chính, để cung cấp dung lượng nhớ lớn ổn định can thiệp CPU Chỉ có 01 ngắt sinh block, tối ưu ngắt 01 byte (hoặc word) thiết bị tốc độ chậm Vd: Đĩa từ (Magnetic disks: đĩa cứng, đĩa mềm) z Cấu tạo kim loại cứng miếng kính bao bọc vật liệu nhiễm từ z Bề mặt đĩa chia (vật lý) thành tracks, track chia thành sectors z Mạch điều khiển đĩa (disk controller) xác định tương tác vật lý thiết bị máy tính Bài giảng Nguyên lý Hệ điều hành 1.19 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.20 Phạm Quang Dũng ©2008 Cơ cấu đĩa có đầu từ chuyển động Sơ đồ phân cấp hệ thống nhớ Hệ thống lưu trữ tổ chức dạng sơ đồ phân cấp dựa vào: z Tốc độ z Giá thành z Tính khơng ổn định Bài giảng Nguyên lý Hệ điều hành 1.21 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành Sơ đồ phân cấp thiết bị nhớ 1.22 Phạm Quang Dũng ©2008 Caching Caching – nguyên lý quan trọng, thực nhiều mức máy tính (trong phần cứng, HĐH, phần mềm) Là kỹ thuật làm tăng tốc độ xử lý hệ thống cách: z thực copy thông tin sử dụng tới thiết bị nhớ nhanh để tăng tốc độ xử lý hệ thống z Giữ lại liệu truy nhập thiết bị tốc độ cao Dung lượng tăng Tốc độ tăng Bộ nhớ nhanh (cache) kiểm tra trước tiên xem thơng tin có khơng: z Nếu có, thơng tin sử dụng trực tiếp từ cache (nhanh) z Nếu không, liệu copy vào cache sử dụng Yêu cầu: liệu phải lưu trữ đồng nhiều mức hệ thống nhớ để đảm bảo tính qn (consistent) Vì dung lượng cache có hạn, yêu cầu có quản lý cache (cache management) để tăng hiệu Bài giảng Nguyên lý Hệ điều hành 1.23 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.24 Phạm Quang Dũng ©2008 Sự thực thi nhiều mức nhớ Sự di trú trú số số nguyên A từ từ đĩ đĩa tớ tới ghi Sự di chuyển mức phân cấp nhớ rõ ràng Các môi trường đa nhiệm phải cẩn thận để sử dụng giá trị nhất, dù chứa đâu phân cấp nhớ không Môi trường đa vi xử lý phải cung cấp tính gắn kết cache phần cứng để tất CPU có giá trị cache Mơi trường phân tán cịn phức tạp z Có thể tồn nhiều copy liệu Bài giảng Nguyên lý Hệ điều hành 1.25 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.26 Phạm Quang Dũng ©2008 1.3 Cấu trúc hệ điều hành Cấu trúc hệ điều hành (tiếp) Multiprogramming (kỹ thuật đa chương trình) cần có Timesharing (multitasking) (kỹ thuật chia sẻ thời gian, đa để đạt hiệu z User đơn giữ CPU thiết bị vào-ra hoạt động thời điểm z Multiprogramming tổ chức công việc (job, gồm code nhiệm) mở rộng logic mà CPU chuyển cơng việc thường xuyên để user tương tác với cơng việc chạy, tạo thành tính tốn tương tác z Thời gian đáp ứng (Response time) nên < giây z Mỗi user có chương trình thực nhớ data) để CPU ln có việc để thực z Một tập tất công việc hệ thống giữ nhớ > process (tiến trình) z Nếu số cơng việc sẵn sàng chạy thời điểm > CPU scheduling (lập lịch CPU) z Một công việc chọn chạy thơng qua job scheduling z Khi phải đợi (vd đợi vào-ra), HĐH chuyển sang công việc khác z Nếu tiến trình khơng chứa vừa nhớ, swapping (hoán đổi) chuyển chúng vào để chạy z Virtual memory (bộ nhớ ảo) cho phép thực tiến trình khơng hồn tồn nhớ Bài giảng Nguyên lý Hệ điều hành 1.27 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.28 Phạm Quang Dũng ©2008 Bố trí nhớ HĐH đa chương trình 1.4 Hoạt động hệ điều hành Ngắt phần cứng Lỗi phần mềm yêu cầu tạo exception hay trap z Chia cho 0, yêu cầu dịch vụ HĐH Các vấn đề tiến trình khác gồm: lặp vơ hạn, tiến trình thay đổi lẫn thay đổi HĐH Hoạt động chế độ kép (Dual-mode) cho phép HĐH bảo vệ thành phần hệ thống khác z User mode kernel mode z Mode bit cung cấp phần cứng Cung cấp khả phân biệt hệ thống chạy user code hay kernel code Một số lệnh thiết kế đặc quyền (privileged), thực kernel mode System call thay đổi chế độ thành kernel mode, return from call thiết lập thành user mode Bài giảng Nguyên lý Hệ điều hành 1.29 Phạm Quang Dũng ©2008 Chuyển từ User sang Kernel Mode Định thời để ngăn lặp vô hạn / tiến trình lấy tài nguyên z Thiết lập ngắt sau khoảng thời gian xác định z HĐH giảm đếm Bài giảng Nguyên lý Hệ điều hành 1.30 Phạm Quang Dũng ©2008 1.5 Sự quản lý tiến trình Tiến trình (process) chương trình thực Nó đơn vị cơng việc hệ thống Chương trình thực thể bị động, tiến trình thực thể chủ động Tiến trình cần tài ngun để hồn tất cơng việc: z Khi đếm sinh ngắt z CPU, nhớ, thiết bị vào-ra, tệp (files) z Thiết lập tiến trình lập lịch trước để giành lại điều khiển chấm dứt chương trình vượt thời gian cấp z Dữ liệu khởi tạo Sự chấm dứt tiến trình địi hỏi giành lại tài nguyên tái sử dụng Tiến trình đơn luồng (thread) có program counter xác định vị trí lệnh để thực z Tiến trình thực lệnh tuần tự, thời điểm lệnh kết thúc Tiến trình đa luồng: luồng có program counter Hệ thống thơng thường có nhiều tiến trình, số user, số HĐH chạy đồng thời hay nhiều CPU z Đồng thời đa nhiệm CPU tiến trình / luồng Bài giảng Nguyên lý Hệ điều hành 1.31 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.32 Phạm Quang Dũng ©2008 Các hoạt động quản lý tiến trình HĐH chịu trách nhiệm hoạt động sau quản lý tiến trình z Tạo xố tiến trình user hệ thống 1.6 Sự quản lý nhớ (chính) Tất liệu nhớ trước sau xử lý Tất lệnh nhớ để thực Sự quản lý nhớ xác định nhớ z Tối ưu hóa sử dụng CPU đáp ứng máy tính với z Tạm ngừng tiếp tục lại tiến trình user z Cung cấp chế cho: Các hoạt động quản lý nhớ sự đồng hoá tiến trình z Lưu lại dấu vết phần nhớ sử dụng sự giao tiếp tiến trình đuợc sử dụng tiến trình sự xử lý bế tắc (deadlock) z Quyết định xem tiến trình (hoặc phần chúng) liệu đưa vào đưa khỏi nhớ z Phân phối thu hồi nhớ cần đến Bài giảng Nguyên lý Hệ điều hành 1.33 Phạm Quang Dũng ©2008 1.7 Sự quản lý nhớ lưu trữ HĐH cung cấp nhìn logic, giống lưu trữ thơng tin z Trừu tượng hóa thuộc tính vật lý thành đơn vị lưu trữ logic - file z Mỗi phương tiện điều khiển thiết bị (nghĩa là: disk drive, tape drive) Bài giảng Nguyên lý Hệ điều hành 1.34 Phạm Quang Dũng ©2008 Sự quản lý nhớ lưu trữ (tiếp) B) Sự quản lý nhớ lưu trữ lớn Thường sử dụng đĩa để chứa liệu không chứa vừa nhớ liệu cần giữ lâu dài Quản lý cách đóng vai trị quan trọng trung tâm Các thuộc tính khác gồm: tốc độ truy nhập, dung lượng, tốc độ truyền liệu, phương pháp truy nhập (tuần tự ngẫu nhiên) A) Sự quản lý Hệ thống file z Các file thường tổ chức thư mục z Kiểm soát truy nhập hầu hết hệ thống để xác định truy nhập z Các hoạt động HĐH gồm: Tạo xóa file thư mục Hỗ trợ từ gốc (primitive) việc thao tác với file thư mục (read/write) Ánh xạ file vào nhớ thứ cấp Toàn tốc độ thực máy tính xoay quanh hệ thống đĩa giải thuật Các hoạt động HĐH z Quản lý vùng nhớ tự z Phân phối nhớ z Lập lịch đĩa (Disk scheduling) Một số nhớ lưu trữ (storage) không cần phải nhanh z Bộ nhớ cấp ba gồm: nhớ quang, băng từ z Vẫn cần quản lý z Khác WORM (write-once, read-many-times) RW (read-write) Sao dự phòng (Backup) file phương tiện lưu trữ ổn định Bài giảng Nguyên lý Hệ điều hành 1.35 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.36 Phạm Quang Dũng ©2008 C) Hệ thống vào-ra (I/O Subsystem) 1.8 Protection Security Một mục đích HĐH ẩn tính chất khác Protection – chế để kiểm soát truy nhập tiến trình thường thiết bị phần cứng khơng cho user thấy Chức hệ thống vào-ra đảm nhận bên z Rất nhiều dạng, bao gồm denial-of-service, worms, viruses, identity theft, Hệ thống vào-ra chịu trách nhiệm đối với: theft of service z Quản lý nhớ vào-ra gồm: buffering (chứa liệu tạm thời truyền) caching (chứa phần liệu nhớ nhanh để tăng hiệu năng) spooling (gối chồng output công việc với input công việc khác) Các hệ thống thường phân biệt user để xác định làm z User identifiers (user IDs, security IDs) gồm tên số kèm theo, user số z User ID sau liên kết với tất file, tiến trình user để xác định kiểm soát truy nhập z Giao diện device-driver chung z Group identifier (group ID) cho phép tập user để xác định z Các driver cho thiết bị phần cứng riêng biệt kiểm sốt quản lý, sau liên kết với tiến trình, file Chỉ device driver biết tính chất đặc biệt thiết bị mà điều khiển Bài giảng Nguyên lý Hệ điều hành user tới tài nguyên xác định HĐH Security – bảo vệ hệ thống chống lại công từ bên z Privilege escalation (sự leo thang đặc quyền) cho phép user thay đổi thành ID có nhiều quyền 1.37 Phạm Quang Dũng ©2008 1.9 Các mơi trường sử dụng máy tính Bài giảng Nguyên lý Hệ điều hành 1.38 Phạm Quang Dũng ©2008 Các mơi trường sử dụng máy tính (tiếp) B) Client-Server Computing A) Máy tính truyền thống z Đang mờ nhạt dần theo thời gian z Môi trường văn phòng Các PC nối vào mạng, máy đầu cuối (terminal) gắn vào mainframe minicomputers cung cấp xử lý theo lô chia sẻ thời gian Ngày cổng cho phép nối mạng hệ thống từ xa z Các máy đầu cuối câm thay PC thông minh z Giờ nhiều hệ thống server, đáp ứng yêu cầu từ client Compute-server cung cấp giao diện cho client yêu cầu dịch vụ (nghĩa database) File-server cung cấp giao diện cho client lưu trữ lấy file truy nhập tới tài nguyên z Các mạng gia đình Đã thường hệ thống đơn, sử dụng modem Ngày nối mạng, bảo vệ firewall Bài giảng Nguyên lý Hệ điều hành 1.39 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 1.40 Phạm Quang Dũng ©2008 10 12.1 I/O Hardware I/O hardware (tiếp) Có vơ số loại thiết bị vào-ra Bộ điều khiển thiết bị (device controller) hỗ trợ giao thức kết Các khái niệm chung: Các lệnh vào-ra (I/O instructions) điều khiển thiết bị nối, buffering, caching… z Port: cổng giao tiếp thiết bị vào-ra với máy tính, vd: serial, parallel, usb, PS/2 ports… thông tin thành phần máy tính thiết bị vào-ra, vd: PCI bus, SCSI bus z Controller (host adapter): tập hợp thiết bị điện tử điều khiển cổng, bus, thiết bị vào-ra; controller có hay nhiều ghi dành cho tín hiệu liệu điều khiển; Phạm Quang Dũng ©2008 Cấu trú trúc bus PC thơng thườ thường Bài giảng Nguyên lý Hệ điều hành 12.7 Có điều khiển thiết bị hỗ trợ kỹ thuật vào-ra trên: z graphics controller có cổng vào-ra cho hoạt động điều khiển bản, đồng thời có vùng nhớ ánh xạ lớn để lưu nội dung hình z tiến trình ghi liệu lên vùng nhớ trên, controller tạo ảnh hình theo liệu z ghi hàng triệu byte lên vùng nhớ nhanh nhiều so với thực hàng triệu lệnh vào-ra trực tiếp vd: serial-port controller chip 12.5 z Các lệnh vào-ra trực tiếp: chuyển liệu qua cổng vào-ra z Vào-ra theo đồ nhớ (Memory-mapped I/O) z Bus (daisy chain or shared direct access): tập dây dẫn truyền Bài giảng Nguyên lý Hệ điều hành Các thiết bị có địa chỉ, sử dụng bởi: Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.6 Phạm Quang Dũng ©2008 Một số địa chỉ cổng vào-ra thiế thiết bị PC Bài giảng Nguyên lý Hệ điều hành 12.8 Phạm Quang Dũng ©2008 Polling - thăm dò lần lượ lượt Interrupts - Ngắ Ngắt CPU cần xác định trạng thái thiết bị ⇒ thực Polling z Command-ready: controller sẵn sàng thực lệnh Thiết bị vào-ra yêu cầu ngắt CPU Thực xong lệnh, CPU đọc dòng yêu cầu ngắt (trên CPU) chứa ngắt đến z Busy: controller bận Các ngắt là: z Error z Ngắt khơng che (non-maskable): báo trình trạng lỗi phải Là vòng lặp busy-wait đợi vào-ra từ thiết bị: xử lý ngay, vd: lỗi chia 0, lỗi stack, page fault z đọc ghi trạng thái lặp lặp lại bit busy = để thực tiếp lệnh vào-ra; z Ngắt che (maskable): bị bỏ qua bị hỗn xử lý, vd: ngắt gây thiết bị z vd: đọc trạng thái serial port để tránh tràn buffer gây liệu Nói chung hoạt động polling có hiệu quả, khơng hiệu Khi có ngắt: z CPU lưu trạng thái làm việc, vd: đ/c trở về, g/t thời cố gắng thực lặp lại nhiều lần mà tìm z Nhảy đến thường trình xử lý ngắt (có địa xác định nhớ) thấy thiết bị sẵn sàng z Trình xử lý ngắt (Interrupt handler) xác định nguyên nhân ngắt, xử lý z Giải pháp: Mỗi controller nên có chế báo trạng thái rỗi cho CPU thực lệnh trở từ ngắt z CPU khôi phục trạng thái trước ngắt Bài giảng Nguyên lý Hệ điều hành 12.9 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành Vòng lặp xử lý ngắ ngắt vào-ra 12.10 Phạm Quang Dũng ©2008 Interrupts (tiế tiếp) Trình xử lý ngắt tìm nguyên nhân ngắt bảng vector ngắt Vectơ ngắt gửi ngắt tới trình xử lý dựa mức ưu tiên ngắt Cơ chế ngắt dùng để xử lý ngoại lệ Bài giảng Nguyên lý Hệ điều hành 12.11 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.12 Phạm Quang Dũng ©2008 Bảng vectơ ngắ ngắt VXL Intel Pentium Direct Memory Access (DMA) Được sử dụng để tránh phải sử dụng vào-ra chương trình (programmed I/O) lượng liệu cần chuyển lớn Cần có DMA controller (DMAC) Chuyển liệu trực tiếp thiết bị vào-ra nhớ mà không cần qua CPU Bài giảng Nguyên lý Hệ điều hành 12.13 Phạm Quang Dũng ©2008 Sáu bướ bước thự thực hiệ truyề truyền liệ liệu DMA Bài giảng Nguyên lý Hệ điều hành 12.14 Phạm Quang Dũng ©2008 12.2 Giao diệ diện vào-ra ứng dụng Làm để ứng dụng mở file đĩa mà không cần biết loại đĩa gi? Sự khác thiết bị vào-ra gói gọn kernel module gọi device driver, thay đổi thiết bị tuân theo giao diện chuẩn Lớp device-driver ẩn khác I/O controller I/O subsystem kernel Các thiết bị phân loại nhiều cách khác z Vào-ra theo chuỗi ký tự khối z Truy nhập ngẫu nhiên z Có thể chia sẻ chuyên dụng z Tốc độ xử lý z read-write, read only, write only Bài giảng Nguyên lý Hệ điều hành 12.15 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.16 Phạm Quang Dũng ©2008 Một cấu trú trúc Kernel I/O Bài giảng Nguyên lý Hệ điều hành 12.17 Đặc điể điểm thiế thiết bị vào-ra Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.18 Phạm Quang Dũng ©2008 Các thiế thiết bị mạng Các thiế thiết bị vào theo khố khối theo ký tự Hầu hết HĐH cung cấp giao diện vào-ra dùng riêng cho Các thiết bị vào theo khối chủ yếu gồm ổ đĩa mạng, khác với giao diện vào-ra sử dụng cho đĩa z Các lệnh bao gồm: read, write, seek z Các ứng dụng thường truy nhập thiết bị qua giao diện hệ thống file (file-system access) mảng tuyến tính khối (raw I/O access) Unix Windows NT/9x/2000 dùng giao diện socket z Tách riêng giao thức mạng khỏi hoạt động mạng z Có thể truy nhập file theo đồ nhớ z Có bao gồm chức select để quản lý tập socket Các thiết bị ký tự bao gồm: bàn phím, chuột, cổng nối tiếp Nhiều phương pháp giao tiếp liên tiến trình giao tiếp mạng z Các lệnh gồm: get, put z Trên đỉnh giao diện này, thư viện xây dựng cho phép thao tác chỉnh sửa xử lý buffer; vd: ấn phím khác sử dụng (pipes, FIFOs, streams, queues, mailboxes) backspace, ký tự trước bị vứt khỏi dòng vào (input stream) Bài giảng Nguyên lý Hệ điều hành 12.19 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.20 Phạm Quang Dũng ©2008 Clocks Timers Blocking and Nonblocking I/O Cung cấp thời gian tại, thời gian trôi qua, thiết lập định thời (khởi hành động X thời điểm T) Blocking – tiến trình bị treo đến vào-ra kết thúc z Dễ hiểu, dễ sử dụng z Không thể áp dụng cho số trường hợp Nonblocking – lời gọi vào-ra lặp lại nhiều Programmable interval timer (bộ định thời có khoảng thời gian lập trình được) sử dụng cho việc định thời gian, sinh ngắt định kỳ z Sử dụng giao diện người sử dụng, đưa liệu vào nhớ đệm (buffered I/O), vd: nhận liệu vào từ bàn phím chuột, xử lý hiển thị hình z Được thực thông qua đa luồng z Lời gọi vào-ra lặp lại nhanh, với giá trị trả cho biết byte chuyển Asynchronous – gọi return, khơng đợi vào-ra kết thúc, tiến trình chạy vào-ra thực → Khó sử dụng z I/O subsystem báo cho tiến trình biết vào-ra kết thúc Bài giảng Nguyên lý Hệ điều hành 12.21 Phạm Quang Dũng ©2008 Hai phương phá pháp vào-ra Bài giảng Nguyên lý Hệ điều hành 12.22 Phạm Quang Dũng ©2008 12.3 Kernel I/O Subsystem Kernel I/O Subsystem cung cấp nhiều dịch vụ liên quan đến vào- Đồng - Synchronous Không đồng - Asynchronous ra: scheduling, buffering, caching, spooling, error handling… I/O Scheduling z Lập lịch yêu cầu vào-ra nhằm xác định thứ tự thực chúng hợp lý z Thực lập lịch vào-ra cách trì queue chứa yêu cầu cho thiết bị z HĐH cố gắng đạt tối ưu: cải thiện hiệu hệ thống, giảm thời gian đáp ứng trung bình… Buffering – chứa liệu nhớ truyền liệu thiết bị z Để giải vấn đề không khớp tốc độ thiết bị z Để giải vấn đề khơng khớp kích thước liệu truyền thiết bị Bài giảng Nguyên lý Hệ điều hành 12.23 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.24 Phạm Quang Dũng ©2008 Tốc độ truyề truyền liệ liệu thiế thiết bị Sun Enterprise 6000 Bảng trạ trạng thá thái thiế thiết bị Bài giảng Nguyên lý Hệ điều hành 12.25 Phạm Quang Dũng ©2008 Kernel I/O Subsystem (tiếp) Bài giảng Nguyên lý Hệ điều hành 12.26 Phạm Quang Dũng ©2008 Kernel I/O Subsystem (tiếp) Caching – nhớ nhanh giữ copy liệu Error handling z Luôn giữ copy z HĐH sử dụng nhớ bảo vệ (protected memory) có z Là chìa khóa hiệu thể ngăn ngừa cẩn thận nhiều loại lỗi phần cứng lỗi ứng Spooling – giữ output cho thiết bị z Nếu thiết bị phục vụ yêu cầu thời điểm dụng z HĐH phục hồi sau lỗi đọc đĩa, ghi ẩu, thiết bị z vd: Printing Device reservation –cung cấp truy nhập riêng tới thiết bị z Là lời gọi hệ thống để phân phối thu hồi thiết bị cho tiến trình không khả dụng z Hầu hết trả mã lỗi yêu cầu vào-ra lỗi z Là cách đề phòng bế tắc Bài giảng Nguyên lý Hệ điều hành 12.27 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.28 Phạm Quang Dũng ©2008 Kernel I/O Subsystem (tiếp) Sử dụng system call để thự thực hiệ vào-ra I/O Protection z Tiến trình người sử dụng vơ tình hay cố ý cố gắng phá vỡ hoạt động bình thường thơng qua lệnh vào-ra bất hợp lệ Tất lệnh vào-ra định nghĩa đặc quyền Vào-ra phải thực thông qua system call – Các vùng nhớ dùng cho ánh xạ (memory-mapped) cổng vào-ra (I/O port) phải bảo vệ Bài giảng Nguyên lý Hệ điều hành 12.29 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.30 Phạm Quang Dũng ©2008 12.4 Chuyể Chuyển yêu cầu vào-ra tới hoạ hoạt động phầ phần cứng Kernel I/O Subsystem (tiếp) Các cấu trúc liệu kernel z Kernel lưu thông tin trạng thái cho thành phần vào-ra, bao gồm bảng file mở, kết nối mạng, trạng thái thiết bị vào-ra theo ký tự Xác định thiết bị chứa file Thông dịch tên tương ứng với thiết bị z Rất nhiều cấu trúc liệu phức tạp để theo dõi buffer, phân phối nhớ, khối nhớ “dirty” z Một số phương pháp hướng đối tượng truyền thông điệp 12.31 Đọc liệu từ đĩa vào buffer Làm cho liệu khả dụng tiến trình yêu cầu Trả điều khiển cho tiến trình sử dụng để thực thi vào-ra Bài giảng Nguyên lý Hệ điều hành Các bước đọc file từ đĩa cho tiến trình: Phạm Quang Dũng ©2008 Bài giảng Ngun lý Hệ điều hành 12.32 Phạm Quang Dũng ©2008 Vịng đời yêu cầu vào-ra yêu cầu vào-ra user process system call trở từ đáp ứng yêu cầu? không vào-ra kết thúc, liệu vào sẵn dùng, xuất liệu kết thúc có kernel I/O subsystem liệu có buffer cache gửi yêu cầu tới device driver, khóa tiến trình thích hợp thực yêu cầu, phát lệnh tới controller, cấu hình controller khóa đến bị ngắt lệnh controller STREAM – kênh giao tiếp giữ nhận tín hiệu system call đồng thời lúc tiến trình mức người sử dụng truyền liệu (nếu thích hợp) cho tiến trình, trả tr.thái kết thúc mã lỗi với thiết bị (truyền song cơng hồn tồn) Một STREAM bao gồm: kernel I/O subsystem device driver trình xử lý ngắt - STREAM head giao tiếp với tiến trình người sử dụng - driver end giao tiếp với thiết bị xác định vào-ra hoàn thành, báo rõ thay đổi trạng thái tới I/O subsystem - STREAM module nằm phần Mỗi module có read queue write queue nhận ngắt, lưu liệu buffer driver Nếu input, phát tín hiệu mở khóa device driver Phương thức message passing sử dụng để giao tiếp queue ngắt theo dõi thiết bị, ngắt vào-ra kết thúc Bài giảng Nguyên lý Hệ điều hành 12.5 STREAMS (UNIX, Solaris) device controller vào-ra kết thúc, tạo ngắt 12.33 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.34 Phạm Quang Dũng ©2008 12.6 Performance Cấu trú trúc STREAM Vào-ra nhân tố hiệu hệ thống: z Luôn yêu cầu CPU thực mã device driver, kernel I/O z Chuyển ngữ cảnh gây ngắt z Copy liệu chiếm dụng bus z Lưu lượng mạng đặc biệt căng thẳng Bài giảng Nguyên lý Hệ điều hành 12.35 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 12.36 Phạm Quang Dũng ©2008 Cải thiệ thiện hiệ hiệu Giảm số lần chuyển ngữ cảnh Giảm copy liệu Giảm ngắt cách sử dụng truyền lượng lớn liệu, End of Chapter 12 controller thông minh, polling Sử dụng DMA Cân CPU, memory, bus, hiệu vào-ra để đạt thông lượng cao Bài giảng Nguyên lý Hệ điều hành 12.37 Phạm Quang Dũng ©2008 10 Nội dung chương 13 BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH Protection Problem z Cấu trúc Protection Domain z Ma trận truy nhập - Access Matrix Chương 13: Protection & Security Phạm Quang Dũng Bộ mơn Khoa học máy tính Khoa Cơng nghệ thơng tin Trường Đại học Nông nghiệp Hà Nội Website: fita.hua.edu.vn/pqdung Security Problem z Thẩm định quyền Authentication z Các hiểm họa chương trình Program Threats z Các hiểm họa hệ thống System Threats z Giám sát hiểm họa Threat Monitoring z Tường lửa Firewall z Mã hóa Encryption Bài giảng Nguyên lý Hệ điều hành 13.1 The Protection Problem Hệ thống máy tính gồm tập hợp tiến trình đối tượng (hardware software) 13.2 Phạm Quang Dũng ©2008 Cấu trú trúc Protection Domain Access-right = rights-set tập tất thao tác hợp lệ Mỗi đối tượng có tên truy thực đối tượng Domain = tập access-right nhập qua tập thao tác xác định Protection problem – đảm bảo đối tượng truy nhập tiến trình phép Chỉ quan tâm đến môi trường bên hệ thống (internal Một Domain là: user, process, procedure environment) Bài giảng Nguyên lý Hệ điều hành 13.3 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 13.4 Phạm Quang Dũng ©2008 Ma trậ trận truy nhậ nhập - Access Matrix Coi protection ma trận (access matrix) Cách sử dụng Access Matrix Nếu tiến trình Domain Di cố gắng thực thao tác z Các hàng biểu diễn domain “op” đối tượng Oj, “op” phải có access matrix, z Các cột biểu diễn đối tượng (objects) giao điểm hàng Di cột Oj Access(i, j) tập hợp thao tác mà tiến trình thực Domaini tác động Objectj Có thể mở rộng thành bảo vệ động (dynamic protection) z Các thao tác để thêm, xóa access right z Các access right đặc biệt: chủ Oi (owner of Oi ) copy thao tác từ Oi đến Oj control – Di thay đổi access right Dj transfer – chuyển từ domain Di đến Dj Bài giảng Nguyên lý Hệ điều hành 13.5 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành Sự thự thực hiệ Access Matrix Mỗi cột = Danh sách quyền truy nhập (access-control list) object 13.6 Phạm Quang Dũng ©2008 13.2 Security Problem Security phải quan tâm đến mơi trường bên ngồi hệ thống (external environment), bảo vệ hệ thống khỏi: Xác định domain thực thao tác z truy nhập trái phép - unauthorized access Domain = Read, Write z cố tình/vơ tình thay đổi phá hoại Domain = Read M Bảo vệ để chống lại sử dụng sai (misuse) vơ tình dễ Mỗi hàng = Danh sách khả (capability list) Đối với domain, thao tác phép object cố tình Object – Read Object – Read, Write, Delete, Copy Bài giảng Nguyên lý Hệ điều hành 13.7 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 13.8 Phạm Quang Dũng ©2008 Sự thẩ thẩm định quyề quyền - Authentication Xác nhận người dùng (User identity) hầu hết thường Tìm Password Nếu bạn biết user, thử với tên ngày sinh chồng/vợ người thiết lập thơng qua mật (password), Brute force: thử tất kết hợp chữ số coi trường hợp đặc biệt chìa khóa Dictionary attack: thử tất từ từ điển, từ đơn từ ghép khả Shoulder surfing: nhìn bàn phím user gõ mật Keystroke recorder: Các máy tính Internet cafe ghi tất lần bấm phím Ăn cắp password file sử dụng hệ thống … Bài giảng Nguyên lý Hệ điều hành 13.9 Phạm Quang Dũng ©2008 Bảo vệ Password 13.10 Phạm Quang Dũng ©2008 Các hiể hiểm họa chương trì trìnhnh-Program Threats Trojan Horse – Chú ngựa thành Troa Thường xuyên thay đổi password Sử dụng password khó đốn: dài, khơng phải từ từ điển, z Là đoạn mã mà dùng sai mơi trường z Khai thác kỹ thuật cho phép chương trình viết người ký tự câu, hệ thống dấu thực người khác Bắt đợi sau lần thử gõ password sai z Spyware, pop-up browser windows, covert channels Lưu password dạng mã hóa (Unix crypt()) VD1 Chỉ administrator truy nhập file password z Bob soạn plugin hấp dẫn cho chương trình soạn thảo văn chương trình đặc biệt Sử dụng password lần: máy đưa toán c, user tính trả lời f(c), máy tính f(c) so sánh Chỉ user computer biết hàm f z Sue, nhân viên Bob, sử dụng plugin đó, làm việc tốt z ngoại trừ điều copy file Sue soạn thảo vào thư mục Bob z Khi Sue soạn thư mật cho Tổng giám đốc quản lý yếu Bob, Bob đọc trước Sue gửi… … Bài giảng Nguyên lý Hệ điều hành Bài giảng Nguyên lý Hệ điều hành 13.11 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 13.12 Phạm Quang Dũng ©2008 Program Threats (tiế tiếp) Program Threats (tiế tiếp) Trap door VD2 z Bob viết chương trình hiển thị hộp thoại full-screen trơng giống hệt hình đăng nhập Windows z Có thể gắn trình biên dịch (compiler) z Bob chạy chương trình rời Internet cafe mà khơng log out Ví dụ: z Sue gõ username password chương trình Bob z Bob Ngân hàng Vietnam thuê viết phần mềm quản lý tài khoản z Bob cất thơng tin đó, chương trình thực việc log out, Sue thấy hình đăng nhập thật Windows z Sue nghĩ gõ sai mật khẩu, thử lại vào được… Internet Trojan horse: z Bob mua domain tên www.citibanc.com, lập trang web giống trang chủ Citibank z Bob viết CT, làm việc hồn hảo, ngoại trừ có trap door: Mã Bob làm tròn xuống, vd $1.995 trở thành $1.99 $0.005 gửi vào tài khoản cá nhân Bob Mã Bob bao gồm đoạn mà kiểm tra username password cố định riêng thay kiểm tra password file Bob đăng nhập vào sử dụng tài khoản để kích hoạt đoạn mã vào z Sue gõ nhầm URL, vào trang web Bob ngày Ngân hàng tính tiền lãi phải trả z Bob ăn cắp password Sue, gửi (redirect) Sue tới trang web Citibank Bài giảng Nguyên lý Hệ điều hành z User-id password riêng làm hỏng thủ tục bảo mật thông thường z Hãy tưởng tượng Bob viết compiler mà thêm trap door vào chượng trình! 13.13 Phạm Quang Dũng ©2008 Program Threats (tiế tiếp) Bài giảng Nguyên lý Hệ điều hành 13.14 Phạm Quang Dũng ©2008 Các hiể hiểm họa hệ thố thống - System Threats Worms – chương trình sử dụng chế đẻ trứng để công liên Stack and Buffer Overflow z Là cách công phổ biến từ kẻ hệ thống mạng kết nối dial-up để đạt truy nhập trái phép vào hệ thống đích tục hệ thống; tự động copy nó, dùng hết tài ngun hệ thống khóa tất tiến trình khác sử dụng hệ thống Internet worm? Morris Internet worm – 1988? Denial of Service (DOS) z Làm tải máy tính đích để ngăn làm việc có ích z Kiểu công lợi dụng lỗi chương trình (tràn stack nhớ đệm buffer.) z SCO (1 công ty Mỹ) tài trợ Microsoft để xếp việc kiện cáo chống lại công ty sử dụng Linux z SCO làm số fan Linux tức giận, họ thực công DOS vào web site công ty z Họ viết đoạn script đơn giản giả trình duyệt muốn kết nối tới web site SCO z dừng kết nối sau họ gửi yêu cầu, z gửi yêu cầu khác, tiếp tục vậy… z web site SCO truy cập vài tháng Bài giảng Nguyên lý Hệ điều hành 13.15 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 13.16 Phạm Quang Dũng ©2008 System Threats: Viruses Giá Giám sát hiể hiểm họa (Threat Monitoring) Giống trap door, virus đoạn mã nhúng chương Kiểm tra hoạt động đáng nghi – vd số lần thử password trình có ích Nhưng virus đơn lẻ tự cơng nhiều chương trình khác Đơn giản tự chèn vào đoạn chương trình bình thường sai báo hiệu thử password Audit log (kiểm định truy nhập) – ghi thời gian, user, kiểu và/hoặc gây hư hại (lựa chọn thường phụ thuộc vào thời gian thực hiện, vào ngày định, vd virus Michelangelo) tất truy nhập đối tượng; hữu dụng cho phục hồi từ xâm phạm cho việc phát triển biện pháp bảo mật tốt Các chương trình liệu khơng độc lập cửa ngõ tốt cho virus Định kỳ quét (scan) hệ thống tìm lỗi bảo mật tự động sửa Khi thực hiện, copy đến chương trình khác, cơng: thông báo cho người quản trị hệ thống z Các macro Word chương trình VB thực tài liệu nạp z Web pages (vd mã javascript thay hosts file, chuyển www.yahoo.com tới web site quảng cáo) Bài giảng Nguyên lý Hệ điều hành z Password ngắn dễ đốn z Các chương trình có quyền trái phép z Các file đính kèm email (vd virus love bug) z Các tiến trình chạy lâu khơng mong đợi z Trojan horse, … 13.17 Phạm Quang Dũng ©2008 FireWall Bài giảng Nguyên lý Hệ điều hành 13.18 Phạm Quang Dũng ©2008 Dùng Firewall thự thực hiệ an ninh mạng qua Domain Firewall tương tự ngăn lửa động ô tô với ghế ngồi hành khách LAN firewall: router kiểm tra kỹ loại bỏ gói tin: z Một firewall đặt host đáng tin T khơng đáng tin U z Nó cho phép message từ T tới U không giới hạn z Các message từ U tới T qua chúng hồi âm (reply) message trước gửi từ T tới U DMZ (Demilitarized Zone – Vùng phi quân sự): z Tất message từ U tới T mà hồi âm đến máy tính DMZ z DMZ chứa web server, VPN server (truy nhập máy T an toàn với tư cách host U phép), … Bài giảng Nguyên lý Hệ điều hành 13.19 Phạm Quang Dũng ©2008 Bài giảng Nguyên lý Hệ điều hành 13.20 Phạm Quang Dũng ©2008 Mã hóa - Encryption Ví dụ mã hóa - SSL Mã hóa văn rõ ràng thành mật mã SSL – Secure Socket Layer Những đặc tính kỹ thuật mã hóa tốt: Giao thức mật mã giới hạn máy tính trao đổi z Tương đối đơn giản để người sử dụng có phép (authorized user) mã hóa giải mã z Cách mã hóa khơng phụ thuộc vào bí mật giải thuật mà vào tham số giải thuật gọi khóa mã hóa (encryption key) z Thực khó kẻ xâm phạm xác định khóa mã hóa Được sử dụng web server browser nhằm giao tiếp an toàn (credit card numbers) Server xác nhận certificate (≈ giấy chứng nhận) Data Encryption Standard thay ký tự xếp lại thứ tự chúng tảng khóa mã hóa cung cấp người sử dụng có phép thơng qua kỹ thuật mã hóa Bài giảng Ngun lý Hệ điều hành liệu với 13.21 Phạm Quang Dũng ©2008 Giao tiếp máy tính sử dụng mật mã khóa đối xứng Bài giảng Nguyên lý Hệ điều hành 13.22 Phạm Quang Dũng ©2008 End of Chapter 13