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

slide hệ điều hành đại học công nghệ thông tin phần 1

24 90 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 24
Dung lượng 1,43 MB

Nội dung

Hệ Hệ Điề iều Hà Hành nh Thời gian: - Lý thuyết: 45 tiết - Thực hành: 30 tiết Điểm số: - Điểm thi k : 20% - Điểm thực hành làm tiểu luận: 30% - Điểm thi cuối HK: 50% TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT MÁY TÍNH Hệ Điều Hành (Operating Systems) Vũ Đức Lung 9/14/2010 Vũ Đức Lung ng c om 9/14/2010 • Khoa Kỹ thuật máy tính • GV: TS Vũ Đức Lung • Email: lungvd@uit.edu.vn Nội dung môn học an th Vũ Đức Lung Tài Tài liệ liệu chung: chung: http://groups.google.com/group/os-vdlung 9/14/2010 Vũ Đức Lung cu u 9/14/2010 du on Chương 9: Hệ tống quản lý tập tin Chương 10: Hệ thống quản lý nhập/xuất Chương 11: Bảo vệ an toàn hệ thống g Đọc thêm – tiể tiểu luậ luận: Trần Hạnh Nhi, Lê Khắc Nhiên Ân Giáo trình hệ điều hành Trung tâm phát triển công nghệ thông tin-ĐHQG.HCM, 2005 Nguyễn Phú Trường Giáo trình hệ điều hành ĐH Cần Thơ, 2005 Silberschatz, Galvin, Gagne Operating System Concepts Sixth edition, John Wiley & Sons,2003 Mark E Russinovich and David A Solomon, Microsoft Windows Internals, 4th Edition, Microsoft Press, 2004 co Chương 1: Tổng quan hệ điều hành Chương 2: Cấu trúc Hệ điều hành Chương 3: Quản lý tiến trình (Processes) Chương 4: Định thời CPU Chương 5: Đồng hóa tiến trình Chương 6: Tắc nghẽn (Deadlocks) Chương 7: Quản lý nhớ Chương 8: Bộ nhớ ảo Tài liệ liệu tham khả khảo 1.1 Toå Tổng ng quan • Giới thiệu Chươ ng I: Chương Tổng quan hệ điều hành – Định nghóa hệ điều hành – Cấu trúc hệ thống máy tính – Các chức hệ điều hành 9/14/2010 Vũ Đức Lung CuuDuongThanCong.com 9/14/2010 Vũ Đức Lung https://fb.com/tailieudientucntt Định nghóa Hệ điều hành gì? Banking system Airline reservation Web browser Compilers Editors Command interpreter Các ứng dụng Hệ Điều Hành – Quản lý cấp phát tài nguyên hệ thống cách hiệu Phần cứng System programs Operating system Mục tiêu – Giúp người dùng dễ dàng sử dụng hệ thống Application programs Machine language Microprogramming Hardware Physical devices Hình Dror G Feitelson Vũ Đức Lung 9/14/2010 Vũ Đức Lung c om 9/14/2010 Các thành phần hệ thống co Các thành phần hệ thống (tt) tt) Phần cứng (hardware) an Bao gồm tài nguyên máy tính CPU, nhớ, thiết bị I/O, Hệ điều hành (operating system) th Phân phối tài nguyên, điều khiển phối hợp hoạt động chương trình hệ thống Chương trình ứng dụng (application programs) Vũ Đức Lung Dữ liệu 9/14/2010 Vũ Đức Lung 10 u 9/14/2010 du on g Sử dụng tài nguyên hệ thống để giải vấn đề tính toán người sử dụng, ví dụ: compilers, database systems, video games, business programs cu • Hình xác Người dùng – Chương trình trung gian phần cứng máy tính người sử dụng, có chức điều khiển phối hợp vệc sử dụng phần cứng cung cấp dịch vụ cho ứng dụng ng • Định nghóa (tt) tt) Cá Các chức chí củ OS Các dạng HĐH Phân chia thời gian xử lý định thời CPU Phối hợp đồng hoạt động processes (coordination & synchronization) • Quản lý tài nguyên hệ thống (thiết bị I/O, nhớ, file chứa liệu,…) • Thực kiểm soát access control, protection Duy trì quán (integrity) hệ thống, kiểm soát lỗi phục hồi hệ thống có lỗi (error recovery) Cung cấp giao diện làm việc cho users 9/14/2010 Vũ Đức Lung CuuDuongThanCong.com 11 • Same machine, different operating systems: – IBM PC: DOS, Linux, NeXTSTEP, Windows, SCO Unix – DEC VAX: VMS, Ultrix-32, 4.3 BSD UNIX Same OS, different machines: UNIX – PC (XENIX 286, APPLE A/UX) – CRAY-Y/MP (UNICOS - AT&T Sys V) – IBM 360/370 (Amdahl UNIX UTS/580, IBM UNIX AIX/ESA) Windows NT, XP, 2000, 2003 – Intel i386 (i486 an NT 4.0), Alpha, PowerPC, MIPS, Itanium 9/14/2010 Vũ Đức Lung https://fb.com/tailieudientucntt 12 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH Dưới góc độ loại máy tính Hệ điều hành dành cho máy MainFrame Hệ điều hành dành cho máy Server Hệ điều hành dành cho máy nhiều CPU Hệ điều hành dành cho máy tính cá nhân (PC) Hệ điều hành dành cho máy PDA (Embedded OS - hệ điều hành nhúng) Hệ điều hành dành cho máy chuyên biệt Hệ điều hành dành cho thẻ chíp (SmartCard) Vũ Đức Lung – Hệ điều hành đơn nhiệm – Hệ điều hành đa nhiệm Dưới góc độ người dùng (truy xuất tài nguyên lúc) – Một người dùng – Nhiều người dùng •Mạng ngang hàng •Mạng có máy chủ: LAN, WAN, 13 9/14/2010 Vũ Đức Lung 14 c om 9/14/2010 Dưới góc độ số chương trình sử dụng lúc 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH co ng 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH Đơn chương Dưới góc độ hình thức xử lý - Tác vụ thi hành - Bộ giám sát thường trực, - CPU thao tác nhập xuất, - Xử lý offline, - Đồng hóa thao tác bên - Spooling (Simultaneous Peripheral Operation On Line) th an –Hệ thống xử lý theo lô –Hệ thống chia sẻ –Hệ thống song song –Hệ thống phân tán du on g –Hệ thống xử lý thời gian thực Vũ Đức Lung Nhaäp 15 9/14/2010 Máy tính Vũ Đức Lung Xuất 16 cu u 9/14/2010 HỆ THỐNG XỬ LÝ ĐƠN CHƯƠNG 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH HỆ THỐNG XỬ LÝ ĐA CHƯƠNG • Nhiều tác vụ sẵn sàng thi hành thời điểm Khi tác vụ thực I/O, bắt đầu tác vụ khác Bộ xử lý thiết bị thi hành toàn thời gian Tác vụ I/O Bộ xử lý 9/14/2010 Vũ Đức Lung CuuDuongThanCong.com Kết thúc tác vụ 17 Multiprogrammed systems – Nhiều công việc nạp đồng thời vào nhớ – Khi tiến trình thực I/O, tiến trình khác thực thi – Tận dụng thời gian rảnh, tăng hiệu suất sử dụng CPU (CPU utilization) – Yêu cầu hệ điều hành Định thời công việc (job scheduling): chọn job job pool đóa nạp vào nhớ để thực thi Quản lý 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/14/2010 Vũ Đức Lung https://fb.com/tailieudientucntt 18 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH HỆ THỐNG CHIA XẺ THỜI GIAN Hệ thống đa nhiệm (multitasking) Lập lịch CPU Thời gian chuyển đổi tác vụ ngắn Vũ Đức Lung 19 Bộ xử lý 9/14/2010 Vũ Đức Lung 20 c om 9/14/2010 HỆ THỐNG CHIA XẺ THỜI GIAN • Time-sharing systems – Multiprogrammed systems không cung cấp khả tương tác hiệu với users an – CPU luân phiên thực thi công việc • Mỗi công việc chia phần nhỏ thời gian CPU (time slice, quantum time) th • Cung cấp tương tác user hệ thống với thời gian đáp ứng (response time) nhỏ (1 s) – Một công việc chiếm CPU nằm nhớ du on g – Khi cần thiết, công việc chuyển từ nhớ thiết bị lưu trữ (swapping), nhường nhớ cho công việc khác Vũ Đức Lung 21 9/14/2010 Vũ Đức Lung 22 cu u 9/14/2010 Yêu cầu OS hệ thống time-sharing – Định thời công việc (job scheduling) – Quản lý nhớ (memory management) • Virtual memory – Quản lý trình (process management) Định thời CPU Đồng trình (synchronization) Giao tiếp 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ý tài nguyên – Bảo vệ (protection) co • ng HỆ THỐNG CHIA XẺ THỜI GIAN HỆ THỐNG ĐA XỬ LÝ 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH HỆ THỐNG ĐA XỬ LÝ Hai nhiều xử lý chia sẻ nhớ Master/Slave : xử lý kiểm soát số xử lý I/O 9/14/2010 Bộ Bộ xử lý xử lý Bộ nhớ Vũ Đức Lung CuuDuongThanCong.com 23 • Hệ thống song song (parallel, multiprocessor, hay tightlycoupled system) – Nhiều CPU – Chia sẻ computer bus, clock – Ưu điểm • Năng xuất hệ thống (System throughput): nhiều processor nhanh xong công việc • Multiprocessor system tốn multiple singleprocessor system: dùng chung tài nguyên (đóa,…) • Độ tin cậy: processor hỏng công việc chia sẻ processor lại 9/14/2010 Vũ Đức Lung https://fb.com/tailieudientucntt 24 HỆ THỐNG ĐA XỬ LÝ 1.2 PHÂN LOẠI HỆ ĐIỀU HÀNH HỆ THỐNG PHÂN TÁN • 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 identical copy hệ điều hành • Các copy giao tiếp với cần • (Windows NT, Solaris 5.0, Digital UNIX, OS/2, Linux) – Đa xử lý bất đối xứng (asymmetric multiprocessor) • Mỗi processor thực thi công việc khác • Master processor định thời phân công việc cho slave processors • (SunOS 4.0) Vũ Đức Lung Hệ thống máy tính Hệ thống máy tính Giao tiếp mạng Bộ xử lý 25 9/14/2010 Bộ nhớ Giao tiếp mạng Mạng Vũ Đức Lung Bộ xử lý Bộ nhớ 26 HỆ THỐNG PHÂN TÁN • HỆ THỐNG PHÂN TÁN Hệ thống phân tán (tt) Các mô hình hệ thống phân tán – Client-server Server: cung cấp dịch vụ Client: sử dụng dịch vụ server – Peer-to-peer (P2P) Các peer (máy tính hệ thống) ngang hàng Không có sở liệu tập trung Các peer tự trị Vd: Gnutella co Hệ thống phân tán (distributed system, loosely-coupled system) – Mỗi processor có nhớ riêng, processor giao tiếp qua kênh nối mạng, bus tốc độ cao – Người dùng thấy hệ thống đơn – Ư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): dịch vụ hệ thống cung cấp liên tục cho dù thành phần hardware trở nên hỏng du on g th an • ng c om 9/14/2010 Nhiều máy tính liên kết với đường truyền thông đặc biệt Tương tự hệ thống đa xử lý không chia xẻ nhớ Vũ Đức Lung 27 9/14/2010 Vũ Đức Lung 28 cu u 9/14/2010 Hệ thống thời gian thực (real-time system) • Thiết bị cầm tay (handheld system) Hệ thống thời gian thực (real-time system) – Sử dụng thiết bị chuyên dụng điều khiển thử nghiệm khoa học, điều khiển y khoa, dây chuyền công nghiệp, thiết bị gia dụng, quân – Ràng buộc thời gian: hard soft real-time Phân loại – Hard real-time • Hạn chế (hoặc không có) nhớ phụ, tất liệu nằm nhớ (RAM ROM) • Thiết bị cầm tay (handheld system) – Personal digital assistant (PDA): Palm, Pocket-PC – Điện thoại di động (cellular phones) – Đặc trưng • Bộ nhớ nhỏ (512 KB – 128 MB) • Tốc độ processor thấp (để tốn pin) • Màn hình hiển thị có kích thước nhỏ độ phân giải thấp • Có thể dùng công nghệ kết nối IrDA, Bluetooth, wireless • Yêu cầu thời gian đáp ứng/xử lý nghiêm ngặt, thường sử dụng điều khiển công nghiệp, robotics,… – Soft real-time • Thường dùng lónh vực multimedia, virtual reality với yêu cầu mềm dẻo thờVũi gian đáp ứng Đức Lung 29 9/14/2010 CuuDuongThanCong.com 9/14/2010 Vũ Đức Lung https://fb.com/tailieudientucntt 30 1.3 LỊCH SỬ PHÁT TRIỂN CỦA HỆ ĐIỀU HÀNH 1.3 LỊCH SỬ PHÁT TRIỂN CỦA HỆ ĐIỀU HÀNH Thế hệ (1945 - 1955) Thế hệ (1980 - - Thiết kế, xây dựng, lập trình, thao tác: nhóm người - Lưu phiếu đục lỗ ) -Ra đời máy tính cá nhân, IBM PC - HĐH MS-DOS, MacOS (Apple Macintosh), MS Windows, OS/1 - Linux, QNX, HÑH mạng,… Thế hệ (1955 - 1965) - Xuất phân công công việc - Hệ thống sử lý theo lô đời, lưu băng từ - Hoạt động điều khiển đặc biệt chương trình Thế hệ (1965 - 1980) -Ra đời hệ điều hành, khái niệm đa chương - HĐH chia sẻ thời gian CTSS MIT - MULTICS, UNIX Vũ Đức Lung 31 9/14/2010 Vũ Đức Lung 32 ng c om 9/14/2010 Windows And Linux Evolution Operating Systems Evolution co • Windows and Linux kernels are based on foundations developed in the mid-1970s AIX/ESA SOLARIS 4.4BSD 00 IX in d W ows in d Se ow 000 rv s X er P 20 03 T N W 1990 2000 (see http://www.levenez.com for diagrams showing history of Windows & Unix) 33 9/14/2010 Vũ Đức Lung 34 u Vũ Đức Lung WIN XP WIN Server 2003 1980 cu 9/14/2010 SOLARIS 10 UN LINUX 2.6 bo r VMS 7.3 WIN 2000 03 w s W in 1970 WIN NT WIN 9X v1 VM S WIN 3.1 v2 v2.2 v2.3 v2 LINUX OS/2 WIN 3.0 VMS 5.4 2000 v1 v2 VM/ESA 4.3BSD V6 VS/ESA MVS/ES 95 OSF/1 lic SYSTEM V.4 1990 IX 90 AIX/370 n SUN OS 4.2BSD AIX POSIX MACH VM/XA SYSTEM V pu b MVS/XA DR/DOS IX VS CP/M th SYSTEM III VMS 1.0 4.1BSD XENIX MS-DOS 1.0 1980 UN RT-11 UNIXV.7 VM/370 80 85 RSX-11M UNIX TSO DOS/VDSE MVS/370 1970 g 70 75 MULTICS CP/CM5 an OS/360 NT CTSS 65 DOS/360 UN 60 Li nu x IBSYS IOCS du on 55 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương II: Cấu Trúc Hệ Điều Hành 2.1 Các thành phần hệ điều hành •2.1.1 Quản lý trình (process management) Các thành phần hệ điều hành - Quá trình (hay tiến trình – process) gì? - Quá trình khác chương trình điểm gì? - Một trình cần tài nguyên hệ thống CPU, nhớ, file, thiết bị I/O,… để hoàn thành công việc - Các nhiệm vụ thành phần Tạo hủy trình Tạm dừng/thực thi tiếp (suspend/resume) trình Cung cấp chế – đồng hoạt động trình (synchronization) – giao tiếp trình (interprocess communication) – khống chế tắc nghẽn (deadlock) Các dịch vụ hệ điều hành cung cấp Lời gọi hệ thống (System call) Các chương trình hệ thống (system programs) Cấu trúc hệ thống Máy ảo (virtual machine) Vũ Đức Lung 9/14/2010 Vũ Đức Lung ng c om 9/14/2010 2.1 Các thành phần hệ điều hành 2.1 Các thành phần hệ điều hành •2.1.2 Quản lý nhớ co •2.1.3 Quản lý file (file management) an – Hệ thống file (file system) Thư mục Tạo xoá file/thư mục Các thao tác xử lý file/thư mục (mkdir, rename, copy, move, new,…) du on g “Ánh xạ” file/thư mục vào thiết bị lưu trữ thứ cấp tương ứng Vũ Đức Lung Sao lưu phục hồi liệu 9/14/2010 Vũ Đức Lung cu u 9/14/2010 File – Caùc dịch vụ mà thành phần cung cấp th – Bộ nhớ trung tâm thao tác, xử lý – Để nâng caó hiệu suất sử dụng CPU, hệ điều hành cần quản lý nhớ thích hợp – Các nhiệm vụ thành phần Theo dõi, quản lý vùng nhớ trống cấp phát Quyết định nạp chương trình có vùng nhớ trống Cấp phát thu hồi vùng nhớ cần thiết 2.1 Các thành phần hệ điều hành 2.1 Các thành phần hệ điều hành •2.1.4 Quản lý hệ thống I/O (I/O system management) •2.1.5 Quản lý hệ thống lưu trữ thứ cấp (secondary storage management) – Che dấu khác biệt thiết bị I/O trước người dùng – Bộ nhớ chính: kích thước nhỏ, 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 liệu, chương trình – Có chức – Phương tiện lưu trữ thông dụng đóa từ, đóa quang Cơ chế: buffering, caching, spooling – Nhiệm vụ hệ điều hành quản lý đóa Cung cấp giao diện chung đến trình điều khiển thiết bị (device-driver interface) Quản lý không gian trống đóa(free space management) Cấp phát không gian lưu trữ (storage allocation) Định thời họat động cho đóa (disk scheduling) Bộ điều khiển thiết bị (device driver) phần cứng Sử dụng thường xuyên => ảnh hưởng lớn đến tốc độ hệ thống => cần hiệu 9/14/2010 Vũ Đức Lung CuuDuongThanCong.com 9/14/2010 Vũ Đức Lung https://fb.com/tailieudientucntt 2.1 Các thành phần hệ điều hành 2.1 Các thành phần hệ điều hành •2.1.6 Hệ thống bảo vệ •2.1.7 Hệ thống thông dịch lệnh – Là giao diện chủ yếu người dùng OS • Ví dụ: shell, mouse-based window-and-menu – Khi user login • command line interpreter (shell) chạy, chờ nhận lệnh từ người dùng, thực thi lệnh trả kết – Các lệnh ->bộ điều khiển lệnh ->hệ điều hành – Các lệnh có quan hệ với việc: Tạo, hủy, quản lý trình, hệ thống Kiểm soát I/O Quản lý lưu trữ thứ cấp Quản lý nhớ Truy cập hệ thống file chế bảo mật Trong hệ thống cho phép nhiều user hay nhiều process diễn đồng thời: – Kiểm soát trình người dùng đăng nhập/xuất sử dụng hệ thống – Kiểm soát việc truy cập tài nguyên hệ thống – Bảo đảm user/process phép sử dụng tài nguyên dành cho – Các nhiệm vụ hệ thống bảo vệ Cung cấp chế kiểm soát đăng nhập/xuất (login, log out) Phân định truy cập tài nguyên hợp pháp bất hợp pháp (authorized/unauthorized) Phương tiện thi hành sách (enforcement of policies) Chính sách: cần bảo vệ liệu Vũ Đức Lung 9/14/2010 Vũ Đức Lung ng c om 9/14/2010 2.2 Các dịch vụ hệ điều hành cung cấp 2.2 Các dịch vụ hệ điều hành cung cấp co Ngoài dịch vụ giúp tăng hiệu suất hệ thống: Vũ Đức Lung – Cấp phát tài nguyên (resource allocation) • Tài nguyên: CPU, nhớ chính, tape drives,… • OS có routine tương ứng – Kế toán (accounting) • Nhằm lưu vết user để tính phí đơn giản để thống kê – Bảo vệ (protection) • Hai trình khác không ảnh hưởng • Kiểm soát truy xuất tài nguyên hệ thống – An ninh (security) • Chỉ user phép sử dụng hệ thống truy cập tài nguyên hệ thống (vd: thông qua username password) 9/14/2010 Vũ Đức Lung 10 cu u 9/14/2010 du on g th an – Thực thi chương trình – Thực thao tácï I/O theo yêu cầu chương trình – Các thao tác hệ thống file • Đọc/ghi hay tạo/xóa file – Trao đổi thông tin trình qua hai cách: Chia xẻ nhớ (Shared memory) Chuyển thông điệp (Message passing) – Phát lỗi Trong CPU, nhớ, thiết bị I/O (dữ liệu hư, hết giấy,…) Do chương trình: chia cho 0, truy cập đến địa nhớ không cho phép 2.3 Lời gọi hệ thống (System call) call) 2.4 Các chương trình hệ thống • Dùng để giao tiếp trình hệ điều hành – Cung cấp giao diện trình hệ điều hành • Vd: open, read, write file – Thông thường dạng thư viện nhị phân (binary libraries) hay giống lệnh hợp ngữ – Trong ngôn ngữ lập trình cấp cao, số thư viện lập trình xây dựng dựa thư viện hệ thống (ví dụ Windows API, thư viện GNU C/C++ glibc, glibc++,…) – Ba phương pháp truyền tham số sử dụng system call Qua ghi Qua vùng nhớ, địa vùng nhớ gửi đến hệ điều hành qua ghi Qua stack 9/14/2010 Vũ Đức Lung CuuDuongThanCong.com 11 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: create, delete, rename, list – Thông tin trạng thái: date, time, dung lượng nhớ trống – Soạn thảo file: file editor – Hỗ trợ ngôn ngữ lập trình: compiler, assembler, interpreter – Nạp, thực thi, giúp tìm lỗi chương trình: loader, debugger – Giao tiếp: email, talk, web browser – … Người dùng chủ yếu làm việc thông qua system program (không làm việc “trực tiếp” với system call) 9/14/2010 Vũ Đức Lung https://fb.com/tailieudientucntt 12 2.5 Cấu trúc hệ thống 2.5 Cấu trúc hệ thống Cấu trúc đơn giản (monolithic) Cấu trúc đơn giản (monolithic) UNIX: gồm hai phần tách rời Nhân (cung cấp file system, CPU scheduling, memory management, số chức khác) system program – MS-DOS: thiết kế, giới hạn dung lượng nhớ nên không phân chia thành module (modularization) chưa phân chia rõ chức phần hệ thống Cấu trúc phân tầng MS-DOS Vũ Đức Lung 13 9/14/2010 Vũ Đức Lung 14 ng c om 9/14/2010 2.5 Cấu trúc hệ thống Cấu trúc phân tầng: Lần áp dụng cho HĐH THE (Technische Hogeschool Eindhoven) du on g th an Lớp cùng: hardware Lớp giao tiếp với user Lớp phụ thuộc lớp Một lớp gọi hàm lớp hàm gọi lớp Mỗi lớp tương đương đối tượng trừu tượng: cấu trúc liệu + thao tác Phân lớp có lợi ích gì? Gỡ rối (debugger, kiểm tra hệ thống, thay đổi chức năng) co Cấu trúc phân tầng: HĐH chi thành nhiều lớp (layer) Vũ Đức Lung 15 9/14/2010 Lớp user programm Lớp Tạo buffer cho thiết bị I/O Lớp Device driver thao tác hình Lớp Quản lý nhớ Lớp Lập lịch CPU Lớp Phần cứng Vũ Đức Lung 16 cu u 9/14/2010 2.5 Cấu trúc hệ thống 2.5 Cấu trúc hệ thống 2.5 Cấu trúc hệ thống Vi nhân: phân chia module theo microkernel (CMU Mach OS, 1980) Chuyển số chức OS từ kernel space sang user space Thu gọn kernel => microkernel, microkernel bao gồm chức tối thiểu quản lý trình, nhớ chế giao tiếp trình Giao tiếp module qua chế truyền thông điệp moät module Application Application File File server server OS/2 OS/2 application application POSIX POSIX application application OS/2 OS/2 server server - Vi nhân: Lợi ích: dễ mở rộng HĐH Một số HĐH đại sử dụng vi nhân: + Tru64 UNIX (Digital UNIX trước đây): nhân Mach + Apple MacOS Server : nhaân Mach + QNX – vi nhaân cung cấp: truyền thông điệp, định thời CPU, giao tiếp mạng cấp thấp ngắt phần cứng + Windows NT: chạy ứng dụng khác win32, OS/2, POSIX (Portable OS for uniX) POSIX POSIX server server Microkernel 9/14/2010 Vũ Đức Lung CuuDuongThanCong.com 17 9/14/2010 Vũ Đức Lung https://fb.com/tailieudientucntt 18 2.6 Máy ảo 2.6 Máy ảo • Từ OS layer đến máy ảo (virtual machine) Hiện thực ý niệm VM – Làm để thực thi chương trình MS-DOS hệ thống Sun với hệ điều hành Solaris ? processes processes processes programming interface kernel hardware Non-virtual machine system model Các lệnh Intel (x86) máy ảo Intel chuyển thành lệnh tương ứng hệ thống Sun Intel x86 VM VM interpretation Solaris kernel Sun hardware Virtual machine system model 19 9/14/2010 Vũ Đức Lung 20 u du on g th an co ng c om Vũ Đức Lung cu 9/14/2010 Tạo máy ảo Intel bên hệ điều hành Solaris hệ thống Sun processes kernel kernel kernel VM1 VM2 VM3 Virtual-machine implementation hardware Intel x86 Application CuuDuongThanCong.com https://fb.com/tailieudientucntt Chư Chương III: Tiế Tiến trì trình (Process) 3.1 Khá Khái niệ niệm bả Khái niệm Trạng thái trình Khối điều khiển trình (Process control block) Định thời trình (Process Scheduling) Các tác vụ trình Sự cộng tác trình Giao tiếp trình Cái gọi hoạt động CPU? – Hệ thống bó (Batch system): jobs – Time-shared systems: user programs, tasks – Các hoạt động tương tự => gọi process Quá trình (process) – chương trình thực thi Một trình bao gồm – Text section (program code), data section (chứa global variables) – program counter (PC), process status word (PSW), stack pointer (SP), memory management registers,… Vũ Đức Lung Vũ Đức Lung Khoa KTMT c om Khoa KTMT 3.1 Khá Khái niệ niệm bả ng 3.1 Khá Khái niệ niệm bả chương trình => trình co Các bước nạp chương trình vào nhớ g du on Vũ Đức Lung Process image in main memory program code program code data data stack Khoa KTMT Vũ Đức Lung cu u Khoa KTMT Executable binary file (load module) start address th an Duøng load module để biểu diễn chương trình thực thi Layout luận lý process image 3.1 Khá Khái niệ niệm bả 3.2.Trạ 3.2.Trạng ng thá trì trình Khở Khởi tạ tạo quá trì trình Các trạng thái trình (process states): – – – – – Các bước hệ điều hành khởi tạo trình – Cấp phát định danh (process number hay process identifier, pid) cho trình – Cấp phát không gian nhớ để nạp trình – Khởi tạo khối liệu Process Control Block (PCB) cho trình PCB nơi hệ điều hành lưu thông tin trình – Thiết lập mối liên hệ cần thiết (vd: PCB vào hàng đợi định thời,…) Khoa KTMT Vũ Đức Lung CuuDuongThanCong.com new: trình vừa tạo ready: trình có đủ tài nguyên, cần CPU running: lệnh trình thực thi waiting: blocked, trình đợi I/O hoàn tất, tín hiệu terminated: trình kết thúc Khoa KTMT Vũ Đức Lung https://fb.com/tailieudientucntt 3.2.Trạ 3.2.Trạng ng thá trì trình 3.2.Trạ 3.2.Trạng ng thá trì trình Chuyển đổi trạng thái trình new new admit dispatch ready ready terminated terminated exit running running new ready running waiting (do chờ I/O gọi printf) – ready – running – terminated Thực thi chương trình test /test I/O or event wait Trong hệ thống có trình test tạo ra, thực thi kết thúc waiting waiting Vũ Đức Lung Vũ Đức Lung Khoa KTMT c om Khoa KTMT – – – – Biên dịch chương trình Linux gcc test.c –o test interrupt I/O or event completion Chuỗi trạng thái trình test sau (trường hợp tốt nhất): Ví dụ dụ /* test.c */ int main(int argc, char** argv) { printf(“Hello world\n"); exit(0); } 3.3.Process control block ng 3.3.Process control block du on g th an PCB cấu trúc liệu quan trọng hệ điều hành gồm: - Trạng thái trình: new, ready, running,… - Bộ đếm chương trình - Các ghi - Thông tin lập thời biểu CPU: độ ưu tiên, … - Thông tin quản lý nhớ - Thông tin tài khoản: lượng CPU, thời gian sử dụng, - Thông tin trạng thái I/O Vũ Đức Lung Vũ Đức Lung Khoa KTMT 10 cu u Khoa KTMT Lưu đồ chuyển CPU từ trình đến trình khác co Đã thấy trình hệ thống cấp phát Process Control Block (PCB) Yêu cầ cầu đối vớ với hệ hệ điề iều hà hành nh về quản lý lý quá trì trình Quả Quản lý lý cá quá trì trình: nh: cá hà hàng n g đ ïi Hỗ trợ thực thi luân phiên nhiều trình Ví dụ PCB – Hiệu suất sử dụng CPU – Thời gian đáp ứng running Phân phối tài nguyên hệ thống hợp lý – tránh deadlock, trì hoãn vô hạn định,… process number ready Cung cấp chế giao tiếp đồng hoạt động trình Cung cấp chế hỗ trợ user tạo/kết thúc trình 11 19 11 17 waiting Có sai ví dụ? Khoa KTMT Vũ Đức Lung CuuDuongThanCong.com 11 Khoa KTMT Vũ Đức Lung https://fb.com/tailieudientucntt 12 Caù Các hà hàng ng đợi định thờ thời (Scheduling queues) 3.4 Định thờ thời quá trì trình (Process Scheduling) Hàng đợi công việc-Job queue Hàng đợi sẵn sàng-Ready queue Hàng đợi thiết bịDevice queues … Tại phải định thời? – Đa chương (Multiprogramming) Có vài trình chạy thời điểm Mục tiêu: tận dụng tối đa CPU – Chia thời(Time-sharing) Users tương tác với chương trình thực thi Mục tiêu: tối thiểu thời gian đáp ứng Một số khái niệm – Các định thời (scheduler) – Các hàng đợi định thời (scheduling queue) Vũ Đức Lung 13 Vũ Đức Lung Khoa KTMT 14 c om Khoa KTMT Cá Các hà hàng ng đợi định thờ thời (Scheduling queues) ng 3.5 Bộ Bộ định thờ thời (Scheduler) – Quá trình hướng I/O (I/O bound process) – Quá trình hướng CPU (CPU bound process) Thời gian thực khác => kết hợp hài hòa chúng g th an co Bộ định thời công việc (Job scheduler) hay định thời dài (long-term scheduler) Bộ định thời CPU hay định thời ngắn Các trình mô tả như: Vũ Đức Lung 15 Khoa KTMT Vũ Đức Lung 16 cu u Khoa KTMT du on Lưu đồ hàng đợi định thời trình Bộ Bộ định thờ thời trung gian(mediumgian(medium-term scheduling) 3.6 Cá Các tá tác vụ vụ đối vớ với quá trì trình Đôi hệ điều hành (như time-sharing system) có thêm medium-term scheduling để điều chỉnh mức độ đa chương hệ thống Medium-term scheduler Tạo trình (process creation) – Một trình tạo nhiều trình thông qua lời gọi hệ thống create-process (vd: hàm fork Unix) Ví dụ: (Unix) Khi user đăng nhập hệ thống, command interpreter (shell) tạo cho user Quá trình tạo trình trình tạo (quá trình cha) Quan hệ cha-con định nghóa trình – chuyển trình từ nhớ sang đóa (swap out) – chuyển trình từ đóa vào nhớ (swap in) Khoa KTMT Vũ Đức Lung CuuDuongThanCong.com 17 Khoa KTMT Vũ Đức Lung https://fb.com/tailieudientucntt 18 Cây quá trì trình Linux/Unix 3.6.Cá 3.6.Các tá tác vụ vụ đối vớ với quá trì trình Ví dụ Tạo trình – Quá trình nhận tài nguyên: từ HĐH từ P cha – Chia sẻ tài nguyên trình cha Quá trình cha chia sẻ tài nguyên Quá trình chia sẻ phần tài nguyên cha – Trình tự thực thi Quá trình cha thực thi đồng thời (concurrently) Quá trình cha đợi đến trình kết thúc Vũ Đức Lung 19 Vũ Đức Lung Khoa KTMT 20 c om Khoa KTMT Ví dụ dụ tạ tạo process vớ với fork() Không gian địa (address space) – Không gian địa trình nhân từ cha – Không gian địa trình khởi tạo từ template #include #include int main (int argc, char *argv[]){ int pid; /* create a new process */ pid = fork(); an Ví dụ UNIX/Linux co ng Về Về quan hệ hệ cha/con if (pid > 0){ printf(“This is parent process”); wait(NULL); exit(0); } else if (pid == 0) { printf(“This is child process”); execlp(“/bin/ls”, “ls”, NULL); exit(0); } else { printf(“Fork error\n”); exit(-1); } g th – System call fork() tạo trình – System call exec() dùng sau fork() để nạp chương trình vào không gian nhớ trình du on đồng Vũ Đức Lung } 21 Khoa KTMT Vũ Đức Lung 22 cu u Khoa KTMT 3.6.Cá 3.6.Các tá tác vụ vụ đối vớ với quá trì trình (tt) tt) 3.7 Cộ Cộng ng tá tác giư cá quá trì trình Trong trình thực thi, trình cộng tác (cooperate) để hoàn thành công việc Các trình cộng tác để Tạo trình Kết thúc trình – Quá trình tự kết thúc Quá trình kết thúc thực thi lệnh cuối gọi system routine exit – Quá trình kết thúc trình khác (có đủ quyền, vd: trình cha nó) Gọi system routine abort với tham số pid (process identifier) trình cần kết thúc – Hệ điều hành thu hồi tất tài nguyên trình kết thúc (vùng nhớ, I/O buffer,…) Khoa KTMT Vũ Đức Lung CuuDuongThanCong.com 23 – Chia sẻ liệu (information sharing) – Tăng tốc tính toán (computational speedup) Nếu hệ thống có nhiều CPU, chia công việc tính toán thành nhiều công việc tính toán nhỏ chạy song song – Thực công việc chung Xây dựng phần mềm phức tạp cách chia thành module/process hợp tác Sự cộng tác trình yêu cầu hệ điều hành hỗ trợ chế giao tiếp chế đồng hoạt động trình Khoa KTMT Vũ Đức Lung https://fb.com/tailieudientucntt 24 Bà Bài toá toán ngư người sả sản xuấ xuất-ngư người tiêu thụ thụ (producer(producer-consumer ) 3.8.Giao tiế tiếp liên quá trì trình (Interprocess communicationcommunication-IPC) IPC chế cung cấp hệ điều hành nhằm giúp trình Ví dụ cộng tác trình: toán producer-consumer – Producer tạo liệu consumer tiêu thụ, sử dụng liệu Sự trao đổi thông tin thực qua buffer unbounded buffer: kích thước buffer vô hạn (không thực tế) bounded buffer: kích thước buffer có hạn – giao tiếp với – đồng hoạt động mà không cần chia sẻ không gian địa IPC cung cấp message passing system – Producer consumer phải hoạt động đồng Consumer không tiêu thụ producer chưa sản xuất Producer không tạo thêm sản phẩm buffer đầy Vũ Đức Lung 25 Hệ Hệ thố thống ng truyề truyền thông điệ iệp Message passing system 26 ng Tiể Tiểu trì trình (luồ luồng) ng) - Thread Tiểu trình(tiến trình nhẹ-lightweight process): đơn vị sử dụng CPU, gồm: co Làm để trình giao tiếp nhau? Các vấn đề: – Đặt tên (Naming) Giao tiếp trực tiếp – Thread ID, PC, Registers, stack chia sẻ chung code, data, resources (files) – receive(Q, msg): nhận thông điệp đến từ trình Q Giao tiếp gián tiếp: thông qua mailbox hay port th – send(A, msg): gửi thông điệp đến mailbox A an – send(P, msg): gửi thông điệp đến trình P – receive(B, msg): nhận thông điệp từ mailbox B Vũ Đức Lung Khoa KTMT c om Khoa KTMT – Đồng hóa (Synchronization): blocking send, nonblocking send, blocking receive, nonblocking receive g – Tạo vùng đệm (Buffering): dùng queue để tạm chứa message du on Khả chứa 0(Zero capacity hay no buffering) Bounded capacity: độ dài queue giới hạn Unbounded capacity: độ dài queue không giới hạn Vũ Đức Lung 27 Vũ Đức Lung Khoa KTMT 28 cu u Khoa KTMT PCB vàTCB TCB mô hình multithreads PCB Lợ Lợi ích củ tiế tiến trì trình đa luồ luồng ng Đáp ứng nhanh: Cho phép chương trình tiếp tục thực thi Thread Control Block TCB pid Threads list Context tid (Mem, global ressources…) (State, details) Relatives Context ( Dad, children) (IP, local stack…) boä phận bị khóa hoạt động dài Chia sẻ tài nguyên: tiết kiệm không gian nhớ State Kinh tế: tạo chuyển ngữ cảnh nhanh tiến trình VD: Solaris 2, tạo process chậm 30 lần, chuyển chậm lần Trong multiprocessor: thực song song Scheduling statistic Khoa KTMT Vũ Đức Lung CuuDuongThanCong.com 29 Khoa KTMT Vũ Đức Lung https://fb.com/tailieudientucntt 30 Tiể Tiểu trì trình hạt nhân(Kernel thread) Tiể Tiểu trì trình ngư người dù dùng ng (User thread) T1 T2 T3 LWP2 LWP1 User mode T1 T2 User mode System call P2 P1 Kernel HDH Kernel mode Khái niệm tiểu trình hỗ trợ thư viện hoạt động user mode Vũ Đức Lung Khoa KTMT Vũ Đức Lung Khái niệm tiểu trình xây dựng bên hạt nhân 31 Vũ Đức Lung Khoa KTMT 32 33 cu u du on g th an co ng c om Khoa KTMT Kernel mode CuuDuongThanCong.com https://fb.com/tailieudientucntt Khái niệm Chư Chương IV: Định thờ thời CPU Khái niệm Các định thời – long-term, mid-term, short-term Các tiêu chuẩn định thời CPU Các giải thuật định thời – First-Come, First-Served (FCFS) – Round-Robin (RR) – Shortest Job First (SJF) vaø Shortest Remaining Time First (SRTF) – Priority Scheduling – Highest Response Ratio Next (HRRN) – Multilevel Queue – Multilevel Feedback Queue Trong hệ thống multitasking – Thực thi nhiều chương trình đồng thời làm tăng hiệu suất hệ thống – Tại thời điểm, có process thực thi Do đó, cần phải giải vấn đề phân chia, lựa chọn process thực thi cho hiệu → chiến lược định thời CPU Định thời CPU – Chọn process (từ ready queue) thực thi – Với multithreaded kernel, việc định thời CPU OS chọn kernel thread chiếm CPU Khoa KTMT c om Khoa KTMT Các định thời ng Các định thời Long-term scheduling Medium-term scheduling ready ready Short-term scheduling an Long-term scheduling th suspended suspended ready ready co new new Long-term scheduling Medium-term scheduling blocked blocked Medium-term scheduling – Process naøo đưa vào (swap in0, đưa khỏi (swap out) nhớ – Được thực phần quản lý nhớ thảo luận phần quản lý nhớ terminated terminated Khoa KTMT cu u Khoa KTMT du on suspended suspended blocked blocked g running running – Xác định chương trình chấp nhận nạp vào hệ thống để thực thi – Điều khiển mức độ multiprogramming hệ thống – Long term scheduler thường cố gắng trì xen lẫn CPU-bound I/O-bound process Các định thời (tt) • Dispatcher Short term scheduling Xác định process ready queue chiếm CPU để thực thi (còn gọi định thời CPU, CPU scheduling) Short term scheduler gọi với tên khác dispatcher Bộ định thời short-term gọi có kiện/interrupt sau xảy ra: – – – – Dispatcher chuyển quyền điều khiển CPU cho process chọn định thời ngắn hạn Bao gồm: – Chuyển ngữ cảnh (sử dụng thông tin ngữ cảnh PCB) – Chuyển chế độ người dùng – Nhảy đến vị trí thích hợp chương trình ứng dụng để khởi động lại chương trình (chính program counter PCB) Công việc gây phí tổn Ngắt thời gian (clock interrupt) Ngắt ngoại vi (I/O interrupt) Lời gọi hệ thống (operating system call) Signal – Dispatch latency: thời gian mà dispatcher dừng process khởi động process khác Chương tập trung vào định thời ngắn hạn Khoa KTMT CuuDuongThanCong.com Khoa KTMT https://fb.com/tailieudientucntt Hai yếu tố giải thuật định thời Các tiêu chuẩn định thời CPU Hàm chọn lựa (selection function): dùng để chọn process ready queue thực thi (thường dựa độ ưu tiên, yêu cầu tài nguyên, đặc điểm thực thi process,…), ví dụ User-oriented – Thời gian đáp ứng (Response time): khoảng thời gian process nhận yêu cầu đến yêu cầu đáp ứng (timesharing, interactive system) → cực tiểu • w = tổng thời gian đợi hệ thống • e = thời gian phục vụ • s = tổng thời gian thực thi process (bao gồm “e”) – Thời gian quay vòng (hoàn thành) (Turnaround time): khoảng thời gian từ lúc process nạp vào hệ thống đến process kết thúc → cực tiểu – Thời gian chờ (Waiting time): tổng thời gian process đợi ready queue → cực tiểu System-oriented – Sử dụng CPU (processor utilization): định thời cho CPU bận tốt → cực đại – Công (fairness): tất process phải đối xử – Thông lượng (throughput): số process hoàn tất công việc đơn vị thời gian → cực đại Khoa KTMT c om Khoa KTMT Preemptive vaø Non-preemptive co Hàm định thời thực (1) Chuyển từ trạng thái running sang waiting (2) Chuyển từ trạng thái running sang ready (3) Chuyển từ trạng thái waiting, new sang ready (4) Kết thúc thực thi không cần lựa chọn loại định thời biểu, cần Trường hợp 1, gọi định thời nonpreemptive Trường hợp 2, gọi định thời preemptive Thực chế khó hơn? Tại sao? du on g th an Chế độ định (decision mode): chọn thời điểm thực hàm chọn lựa để định thời Có hai chế độ – Không trưng dụng (Non-preemptive) Khi trạng thái running, process thực thi kết thúc bị blocked yêu cầu I/O – Trưng dụng (Preemptive) Process thực thi (trạng thái running) bị ngắt nửa chừng chuyển trạng thái ready hệ điều hành Chi phí cao non-preemptive đánh đổi lại thời gian đáp ứng tốt trường hợp process độc chiếm CPU lâu ng Hai yếu tố giải thuật định thời (tt) 10 Khoa KTMT cu u Khoa KTMT Khảo sát giải thuật định thời load store add store read from file CPU burst wait for I/O I/O burst inc store write to file wait for I/O load store add store read from file wait for I/O moät chu kyø CPU-I/O CPU burst I/O burst CPU burst First-Come First-Served (FCFS) Process Arrival Time Service Time 2 4 5 Hàm lựa chọn: Tiến trình yêu cầu CPU trước cấp phát CPU trước; Process thực thi đến kết thúc bị blocked I/O Chế độ định: non-preemptive algorithm Hiện thực : sử dụng hàng đợi FIFO (FIFO queues) – Tiến trình vào thêm vào cuối hàng đợi – Tiến trình lựa chọn để xử lý lấy từ đầu cuûa queues I/O burst 11 CuuDuongThanCong.com 10 run Service time = thời gian process cần CPU chu kỳ CPU-I/O Process có service time lớn CPU-bound process Khoa KTMT 15 20 P1 P2 P3 P4 P5 add 12 Khoa KTMT https://fb.com/tailieudientucntt FCFS Scheduling FCFS Scheduling Ví dụ : Giả sử thứ tự vào tiến trình Process P1 P2 P3 Burst Time 24 3 Giả sử thời gian vào tiến trình Ví dụ: Process P1 P2 P3 P1, P2, P3 Thời gian chờ P1 = 0; P2 = 24; P3 = 27; Burst Time 24 3 P2, P3, P1 Thời gian chờ : P1 = 6; P2 = 0; P3 = 3; Thời gian chờ trung bình (6+0+3)/3 = , tốt Thời gian chờ trung bình (0+24+27)/3 = 17 Gantt Chart for Schedule P1 Gantt Chart for Schedule P2 24 P3 27 P2 30 13 P1 30 14 Khoa KTMT c om Khoa KTMT P3 Shortest-Job-First(SJF) Scheduling ng Shortest-Job-First(SJF) Scheduling Định thời biểu công việc ngắn trước Khi CPU tự do, cấp phát cho tiến trình yêu cầu thời gian để kết thúc ( tiến trình ngắn nhất) Liên quan đến chiều dài thời gian sử dụng CPU cho lần tiến trình Sử dụng chiều dài để lập lịch cho tiến trình với thời gian ngắn du on g th an co Hai hình thức (Schemes): 15 16 Khoa KTMT cu u Khoa KTMT – Scheme 1: Non-preemptive( tiến trình độc quyền CPU) Khi CPU trao cho trình không nhường kết thúc chu kỳ xử lý – Scheme 2: Preemptive( tiến trình không độc quyền) Nếu tiến trình CPU đưa vào danh sách với chiều dài sử dụng CPU cho lần nhỏ thời gian lại tiến trình xử lý dừng hoạt động tiến trình hành (hình thức gọi ShortestRemaining-Time-First (SRTF).) – SJF tối ưu – cho thời gian chờ đợi trung bình tối thiểu với tập tiến trình cho trước Preemptive SJF Scheduling (hay Sortest Remaining Time First - SRTF) Non-Preemptive SJF Scheduling Ví dụ : Ví dụ 1: Process Arrival TimeBurst Time P1 P2 P3 P4 Process Arrival TimeBurst Time P1 P2 P3 P4 VD2: Gantt Chart for Schedule P1 P3 P2 P4 12 Gantt Chart for Schedule P1 16 Average waiting time = (0+6+3+7)/4 = P2 P3 P2 P4 P1 11 16 Average waiting time = (9+1+0+2)/4 = 17 Khoa KTMT CuuDuongThanCong.com Process Arrival TimeBurst Time P1 P2 P3 P4 18 Khoa KTMT https://fb.com/tailieudientucntt Nhận xét giải thuật SJF Nhận xét giải thuật SJF Có thể xảy tình trạng “đói” (starvation) process có CPU-burst lớn có nhiều process với CPUburst nhỏ đến hệ thống Tương ứng với process cần có độ dài CPU burst Hàm lựa chọn: chọn process có độ dài CPU burst nhỏ Chứng minh được: SJF tối ưu việc giảm thời gian đợi trung bình Nhược điểm: Cần phải ước lượng thời gian cần CPU process Giải pháp cho vấn đề này? Cô chế non-preemptive không phù hợp cho hệ thống time sharing (interactive) Giải thuật SJF ngầm định độ ưu tiên theo burst time Các CPU-bound process có độ ưu tiên thấp so với I/O-bound process, process không thực I/O thực thi độc chiếm CPU kết thúc 19 20 Khoa KTMT c om Khoa KTMT ng Nhận xét giải thuật SJF Dự đốn thời gian sử dụng CPU co (Thời gian sử dụng CPU độ dài CPU burst) Trung bình tất CPU burst đo khứ Nhưng thông thường CPU burst phản ánh hành vi process tương lai Một kỹ thuật thường dùng sử dụng trung bình hàm mũ (exponential averaging) an Độ dài CPU burst đo th Độ dài CPU burst dự đốn, với a = ½ τ0 = 10 du on g – τn+1 = a tn + (1 - a) τn , ≤ a ≤ – τn+1 = a tn + (1- a) a tn-1 +…+ (1- a)jaτn-j +…+ (1- a)n+1aτ0 – Nếu chọn a = ½ có nghĩa trị đo tn trị dự đoán τn xem quan trọng 21 22 Khoa KTMT cu u Khoa KTMT Priority Scheduling Gán độ ưu tiên Mỗi process gán độ ưu tiên CPU cấp cho process có độ ưu tiên cao Định thời sử dụng độ ưu tiên có thể: SJF giải thuật định thời sử dụng độ ưu tiên với độ ưu tiên thời-gian-sử-dụng-CPU-dự-đoán Gán độ ưu tiên dựa vào: – – – – – Preemptive hoaëc – Nonpreemptive 23 Khoa KTMT CuuDuongThanCong.com Yêu cầu nhớ Số lượng file mở Tỉ lệ thời gian dùng cho I/O thời gian sử dụng CPU Các yêu cầu bên ví dụ như: số tiền người dùng trả thực thi công việc 24 Khoa KTMT https://fb.com/tailieudientucntt Priority Scheduling Định thời luân phiên (Round Robin -RR) Mỗi process nhận đơn vị nhỏ thời gian CPU (time slice, quantum time), thông thường từ 10-100 msec để thực thi Sau khoảng thời gian đó, process bị đoạt quyền trở cuối hàng đợi ready Nếu có n process hàng đợi ready quantum time = q process phải chờ đợi (n − 1)q đơn vị thời gian Vấn đề: trì hoãn vô hạn định – process có độ ưu tiên thấp không thực thi Giải pháp: làm (aging) – độ ưu tiên process tăng theo thời gian Vd: Hiệu suất – Nếu q lớn: RR ⇒ FCFS – Nếu q nhỏ (q không nhỏ phải tốn chi phí chuyển ngữ cảnh) Thời gian chờ đợi trung bình giải thuật RR thường lớn thời gian đáp öùng nhoû 25 26 Khoa KTMT c om Khoa KTMT ng RR với time quantum = Ví dụ Round Robin Gantt Chart for Schedule P3 P2 37 P4 57 P1 77 P3 P4 P1 P3 97 117 121 134 an P3 154 162 du on 20 g P1 th Process Burst Time P1 53 P2 17 P3 68 P4 24 co Time Quantum = 20 turnaround time trung bình lớn SJF, đáp ứng tốt 27 28 Khoa KTMT cu u Khoa KTMT Thời gian turn-around trung bình cao so với SJF có thời gian đáp ứng trung bình tốt Ưu tiên CPU-bound process I/O-bound process thường sử dụng thời gian CPU, sau phải blocked đợi I/O CPU-bound process tận dụng hết quantum time, sau quay ready queue ⇒ xếp trước process bị blocked Time quantum vaø context switch Process time = 10 quantum context switch 12 1 Thời gian hồn thành trung bình (average turnaround time) khơng cải thiện quantum lớn 10 0 Thời gian hoàn thành quantum time 10 10 29 Khoa KTMT CuuDuongThanCong.com 30 Khoa KTMT https://fb.com/tailieudientucntt Quantum time cho Round Robin* Quantum response time Quantum time phải lớn thời gian dùng để xử lý clock interrupt (timer) thời gian dispatching Nên lớn thời gian tương tác trung bình (typical interaction) Khi thực process switch OS sử dụng CPU khơng phải process người dùng (OS overhead) – Dừng thực thi, lưu tất thông tin, nạp thông tin process thực thi Performance tùy thuộc vào kích thước quantum time (còn gọi time slice), hàm phụ thuộc khơng đơn giản Time slice ngắn đáp ứng nhanh – Vấn đề: có nhiều chuyển ngữ cảnh Phí tổn cao Time slice dài throughput tốt (do giảm phí tổn OS overhead) thời gian đáp ứng lớn – Nếu time slice lớn, RR trở thành FCFS 31 32 Khoa KTMT c om Khoa KTMT Round Robin th – Sẽ khơng có process chờ lâu (n - 1)q đơn vị thời gian RR sử dụng giả thiết ngầm tất process có tầm quan trọng ngang – Không thể sử dụng RR muốn process khác có độ ưu tiên khác 33 34 Khoa KTMT cu u Khoa KTMT du on g – Quantum time nên lớn tương quan so sánh với thời gian cho process switch – Ví dụ với 4.3 BSD UNIX, quantum time giây Nếu có n process hàng đợi ready, quantum time q, process lấy 1/n thời gian CPU theo khối có kích thước lớn q co an Quantum time thời gian cho process switch: – Nếu quantum time = 20 ms thời gian cho process switch = ms, phí tổn OS overhead chiếm 5/25 = 20% – Nếu quantum = 500 ms, phí tổn cịn ≈ 1% Nhưng có nhiều người sử dụng hệ thống thuộc loại interactive thấy đáp ứng chậm – Tùy thuộc vào tập công việc mà lựa chọn quantum time ng Quantum time cho Round Robin Round Robin: nhược điểm Highest Response Ratio Next Các process dạng CPU-bound cịn “ưu tiên” – Ví dụ: Một I/O-bound process sử dụng CPU thời gian ngắn quantum time bị blocked để đợi I/O Và Một CPU-bound process chạy hết time slice lại quay trở hàng đợi ready queue (ở phía trước process bị blocked) 35 Khoa KTMT CuuDuongThanCong.com RR = time spent waiting + expected service time expected service time Choïn process có giá trị RR (Response ratio) lớn Các process ngắn ưu tiên (vì service time nhoû) 36 Khoa KTMT https://fb.com/tailieudientucntt Multilevel Queue Scheduling* Multilevel Queue Scheduling Hàng đợi ready chia thành nhiều hàng đợi riêng biệt theo số tiêu chuẩn Ví dụ phân nhóm q trình – Đặc điểm yêu cầu định thời process – Foreground (interactive) vaø background process,… Độ ưu tiên cao System Processes Process gán cố định vào hàng đợi, hàng đợi sử dụng giải thuật định thời riêng Hệ điều hành cần phải định thời cho hàng đợi Interactive Processes – Fixed priority scheduling: phục vụ từ hàng đợi có độ ưu tiên cao đến thâp Vấn đề: có starvation – Time slice: hàng đợi nhận khoảng thời gian chiếm Batch Processes CPU phân phối cho process hàng đợi khoảng thời gian Ví dụ: 80% cho hàng đợi foreground định thời RR 20% cho hàng đợi background định thời giải thuật FCFS Student Processes Độ ưu tiên thấp 37 38 Khoa KTMT c om Khoa KTMT Hàng đợi phản hồi đa cấp Multilevel Feedback Queue ng Multilevel Feedback Queue Ví dụ: Có hàng đợi – Q0 , dùng RR với quantum ms – Q1 , dùng RR với quantum 16 ms – Q2 , dùng FCFS an – process chuyển từ hàng đợi sang hàng đợi khác ⇒ khắc phục chế feedback: cho phép process di chuyển cách thích hợp hàng đợi khác co Vấn đề multilevel queue Multilevel Feedback Queue 39 40 Khoa KTMT cu u Khoa KTMT du on g th – Phân loại processes dựa đặc tính CPU-burst – Sử dụng decision mode preemptive – Sau khoảng thời gian đó, I/O-bound process interactive process hàng đợi có độ ưu tiên cao CPU-bound process queue có độ ưu tiên thấp – Một process chờ lâu hàng đợi có độ ưu tiên thấp chuyển đến hàng đợi có độ ưu tiên cao (cơ chế niên hạn, aging) So sánh giải thuật Multilevel Feedback Queue (tt) Giải thuật định thời tốt nhất? Câu trả lời phụ thuộc yếu tố sau: Định thời dùng multilevel feedback queue đòi hỏi phải giải vấn đề sau – Số lượng hàng đợi thích hợp? – Dùng giải thuật định thời hàng đợi? – Làm để xác định thời điểm cần chuyển process đến hàng đợi cao thấp hơn? – Khi process yêu cầu xử lý đưa vào hàng đợi hợp lý nhất? 41 Khoa KTMT CuuDuongThanCong.com – Tần xuất tải việc (System workload) – Sự hỗ trợ phần cứng dispatcher – Sự tương quan trọng số tiêu chuẩn định thời response time, hiệu suất CPU, throughput,… – Phương pháp định lượng so sánh 42 Khoa KTMT https://fb.com/tailieudientucntt Đọc thêm Policy Mechanism Định thời hệ thống multiprocessor Đánh giá giải thuật định thời CPU Định thời số hệ điều hành thông dụng Nguồn: Operating System Concepts Sixth Edition John Wiley & Sons, Inc 2002 Silberschatz, Galvin, Gagne 43 cu u du on g th an co ng c om Khoa KTMT CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Itanium 9 /14 /2 010 Vũ Đức Lung https://fb.com/tailieudientucntt 12 1. 2 PHÂN LOẠI HỆ ĐIỀU HÀNH 1. 2 PHÂN LOẠI HỆ ĐIỀU HÀNH Dưới góc độ loại máy tính Hệ điều hành dành cho máy MainFrame Hệ điều hành dành... Server Hệ điều hành dành cho máy nhiều CPU Hệ điều hành dành cho máy tính cá nhân (PC) Hệ điều hành dành cho máy PDA (Embedded OS - hệ điều hành nhúng) Hệ điều hành dành cho máy chuyên biệt Hệ điều. .. Vũ Đức Lung https://fb.com/tailieudientucntt 2 .1 Các thành phần hệ điều hành 2 .1 Các thành phần hệ điều hành •2 .1. 6 Hệ thống bảo vệ •2 .1. 7 Hệ thống thông dịch lệnh – Là giao diện chủ yếu người

Ngày đăng: 01/02/2021, 16:04

TỪ KHÓA LIÊN QUAN