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

Lý thuyết hệ điều hành hệ giáo dục từ xa

237 12 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

Cấu trúc

  • Chuong1-Tong quan ve He Dieu Hanh

    • TỔNG QUAN VỀ HỆ ĐIỀU HÀNH

      • I Mục tiêu

      • II Giới thiệu

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

        • III.1 Tầm nhìn người dùng

        • III.2 Tầm nhìn hệ thống

        • III.3 Mục tiêu hệ thống

      • IV Hệ thống mainframe

        • IV.1 Hệ thống bó

        • IV.2 Hệ đa chương

        • IV.3 Hệ chia thời

      • V Hệ để bàn (Desktop system)

      • VI Hệ đa xử lý

      • VII Hệ phân tán

        • VII.1 Hệ khách hàng-máy phục vụ

        • VII.2 Hệ ngang hàng

      • VIII Hệ thống nhóm (Clustered Systems)

      • IX Hệ thời thực

      • X Hệ xách tay

      • XI Tóm tắt

  • Chuong2-Cau truc He dieu hanh

    • CẤU TRÚC HỆ ĐIỀU HÀNH

      • I Mục đích

      • II Giới thiệu

      • III Các thành phần hệ thống

        • III.1 Quản lý quá trình

        • III.2 Quản lý bộ nhớ chính

        • III.4 Quản lý hệ thống xuất/nhập

        • III.5 Quản lý việc lưu trữ phụ

        • III.6 Mạng

        • III.7 Hệ thống bảo vệ

        • III.8 Hệ thống thông dịch lệnh

      • IV Các dịch vụ hệ điều hành

      • V Lời gọi hệ thống

      • VI Các chương trình hệ thống

      • VII Cấu trúc hệ thống

        • VII.1 Cấu trúc đơn giản

        • VII.2 Phương pháp phân tầng

        • VII.3 Vi nhân (Microkernels)

      • VIII Máy ảo

        • VIII.1 Cài đặt

        • VIII.2 Lợi điểm

      • IX Tóm tắt

  • Chuong3-Qua trinh

    • QUÁ TRÌNH

      • I Mục đích

      • Giới thiệu

      • III Khái niệm quá trình

        • III.1 Quá trình

        • III.2 Trạng thái quá trình

        • III.3 Khối điều khiển quá trình

        • III.4 Luồng

      • IV Lập thời biểu quá trình

        • IV.1 Hàng đợi lập thời biểu

        • IV.2 Bộ định thời biểu

        • IV.3 Chuyển ngữ cảnh

      • V Thao tác trên quá trình

        • V.1 Tạo quá trình

        • V.2 Kết thúc quá trình

        • V.3 Hợp tác quá trình

      • VI Giao tiếp liên quá trình

        • VI.1 Hệ thống truyền thông điệp

        • VI.2 Đặt tên

          • VI.2.1 Giao tiếp trực tiếp

          • VI.2.2 Giao tiếp gián tiếp

          • VI.2.3 Đồng bộ hóa

          • VI.2.4 Tạo vùng đệm

      • VII Tóm tắt

  • chuong4a-luong

    • CHƯƠNG IV - LUỒNG

      • IV.1 Mục đích

      • IV.2 Giới thiệu

      • IV.3 Tổng quan

        • IV.3.1 Sự cơ động

        • IV.3.2 Thuận lợi

        • IV.3.3 Luồng người dùng và luồng nhân

      • IV.4 Mô hình đa luồng

        • IV.4.1 Mô hình nhiều-một

        • IV.4.2 Mô hình một-một

        • IV.4.3 Mô hình nhiều-nhiều

      • IV.5 Cấp phát luồng

        • IV.5.1 Lời gọi hệ thống fork và exec

        • IV.5.2 Sự hủy bỏ luồng

        • IV.5.3 Tín hiệu quản lý

        • IV.5.4 Nhóm luồng

        • IV.5.5 Dữ liệu đặc tả luồng

      • IV.6 Pthreads

      • IV.7 Luồng Solaris 2

      • IV.8 Luồng Windows 2000

      • IV.9 Luồng Linux

      • IV.10 Luồng Java

        • IV.10.1 Tạo luồng

        • IV.10.2 JVM và hệ điều hành chủ

      • IV.11 Tóm tắt

  • Chuong4-Dinh thoi bieu CPU

    • ĐỊNH THỜI BIỂU CPU

      • I Mục tiêu

      • II Giới thiệu

      • III Các khái niệm cơ bản

        • III.1 Chu kỳ CPU-I/O

        • III.2 Bộ định thời CPU

        • III.3 Định thời biểu trưng dụng

        • III.4 Bộ phân phát

      • IV Các tiêu chuẩn định thời

      • V Các giải thuật định thời

        • V.1 Định thời đến trước được phục vụ trước

        • V.2 Định thời biểu công việc ngắn nhất trước

        • V.3 Định thời theo độ ưu tiên

        • V.4 Định thời luân phiên

        • V.5 Định thời biểu với hàng đợi nhiều cấp

        • V.6 Định thời hàng đợi phản hồi đa cấp

      • VI Định thời biểu đa bộ xử lý

      • VII Định thời thời gian thực

      • VIII Đánh giá giải thuật

        • VIII.1 Mô hình quyết định

        • VIII.2 Mô hình hàng đợi

        • VIII.3 Mô phỏng

        • VIII.4 Cài đặt

      • IX Tóm tắt

  • Chuong5-Dong bo hoa

    • ĐỒNG BỘ HOÁ QUÁ TRÌNH

      • I Mục tiêu

      • II Giới thiệu

      • III Tổng quan

      • IV Vấn đề vùng tương trục

      • V Giải pháp

        • V.1 Giải pháp “chờ đợi bận”

          • V.1.1 Giải pháp hai quá trình (two-Process Solution)

            • .V.1.1.1 Giải thuật 1

            • .V.1.1.2 Giải thuật 2

            • .V.1.1.3 Giải thuật 3

          • V.1.2 Giải pháp nhiều quá trình

          • V.1.3 Phần cứng đồng bộ hoá

        • V.2 Các giải pháp “SLEEP and WAKEUP”

          • V.2.1 Semaphore

            • .V.2.1.1 Cách dùng

            • .V.2.1.2 Cài đặt

            • .V.2.1.3 Sự khoá chết (deadlocks) và đói tài nguyên

            • .V.2.1.4 Semaphore nhị phân

          • V.2.2 Monitors

      • VI Các bài toán đồng bộ hoá nguyên thuỷ

        • VI.1 Bài toán người sản xuất-người tiêu thụ

        • VI.2 Bài toán bộ đọc-bộ ghi

        • VI.3 Bài toán các triết gia ăn tối

      • XIII Tóm tắt

  • Chuong6-Deadlock

    • DEADLOCK

      • I Mục đích

      • II Giới thiệu

      • III Mô hình hệ thống

      • IV Đặc điểm deadlock

        • IV.1 Những điều kiện cần thiết gây ra deadlock

        • IV.2 Đồ thị cấp phát tài nguyên

      • V Các phương pháp xử lý deadlock

      • VI Ngăn chặn deadlock

        • VI.1 Loại trừ hỗ tương

        • VI.2 Giữ và chờ cấp thêm tài nguyên

        • VI.3 Không đòi lại tài nguyên từ quá trình đang giữ chúng

        • VI.4 Tồn tại chu trình trong đồ thị cấp phát tài nguyên

      • VII Tránh deadlock

        • VII.1 Trạng thái an toàn

        • VII.2 Giải thuật đồ thị cấp phát tài nguyên

        • VII.3 Giải thuật của Banker

          • VII.3.1 Giải thuật an toàn

          • VII.3.2 Giải thuật yêu cầu tài nguyên

          • VII.3.3 Thí dụ minh họa

      • VIII Phát hiện Deadlock

        • VIII.1 Một thể hiện của mỗi loại tài nguyên

        • VIII.2 Nhiều thể hiện của một loại tài nguyên

        • VIII.3 Sử dụng giải thuật phát hiện deadlock

      • IX Phục hồi deadlock

        • IX.1 Kết thúc quá trình

        • IX.2 Lấy lại tài nguyên

      • X Tóm tắt

  • Chuong7-Quan ly bo nho

    • QUẢN LÝ BỘ NHỚ

      • I Mục đích

      • II Giới thiệu

      • III Đặt vấn đề

        • III.1 Liên kết địa chỉ

        • III.2 Không gian địa chỉ luận lý và không gian địa chỉ vật lý

        • III.3 Nạp động

        • III.4 Liên kết động và các thư viện được chia sẻ

        • III.5 Phủ lắp

      • IV Hoán vị

      • V Cấp phát bộ nhớ liên tục

        • V.1 Bảo vệ bộ nhớ

        • V.2 Hệ thống đơn chương

        • V.3 Hệ thống đa chương với phân khu cố định

        • V.4 Hệ thống đa chương với phân khu động

        • V.5 Quản lý bộ nhớ với hệ thống bạn thân

        • V.6 Phân mãnh

      • VI Cấp phát không liên tục

        • VI.1 Phân trang

          • VI.1.1 Phương pháp cơ bản

          • VI.1.2 Hỗ trợ phần cứng

          • VI.1.3 Sự bảo vệ

          • VI.1.4 Cấu trúc bảng trang

            • .VI.1.4.1 Bảng trang phân cấp

            • .VI.1.4.2 Bảng trang được băm

            • .VI.1.4.3 Bảng trang đảo

          • VI.1.5 Trang được chia sẻ

        • VI.2 Phân đoạn

          • VI.2.1 Phương pháp cơ bản

          • VI.2.2 Phần cứng

          • VI.2.3 Bảo vệ và chia sẻ

          • VI.2.4 Sự phân mãnh

        • VI.3 Phân đoạn với phân trang

      • VII Tóm tắt

  • Chuong8-Bo nho ao

    • BỘ NHỚ ẢO

      • I Mục đích

      • II Giới thiệu

      • III Kiến thức nền

      • IV Phân trang theo yêu cầu

        • IV.1 Các khái niệm cơ bản

        • IV.2 Năng lực của phân trang theo yêu cầu

      • V Thay thế trang

        • V.1 Thay thế trang FIFO

        • V.2 Thay thế trang tối ưu hoá

        • V.3 Thay thế trang LRU

        • V.4 Giải thuật thay thế trang xấp xỉ LRU

          • V.4.1 Giải thuật các bit tham khảo phụ

          • V.4.2 Giải thuật cơ hội thứ hai

          • V.4.3 Giải thuật cơ hội thứ hai nâng cao

          • V.4.4 Thay thế trang dựa trên cơ sở đếm

      • VI Cấp phát khung trang

        • VI.1 Số khung trang tối thiểu

          • VI.1.1 Các giải thuật cấp phát trang

      • VII Trì trệ toàn hệ thống

        • VII.1 Mô hình cục bộ

        • VII.2 Mô hình tập làm việc

        • VII.3 Tần suất lỗi trang

      • VIII Các vấn đề khác

        • VIII.1 Kích thước trang

        • VIII.2 Cấu trúc chương trình

        • VIII.3 Neo các trang trong bộ nhớ chính

      • IX Tóm tắt

  • Chuong9-He thong tap tin

    • HỆ THỐNG TẬP TIN

      • I Mục đích

      • II Giới thiệu

      • III Khái niệm tập tin

        • III.1 Thuộc tính tập tin

        • III.2 Thao tác tập tin

        • III.3 Các kiểu tập tin

        • III.4 Cấu trúc tập tin

      • IV Các phương pháp truy xuất

        • IV.1 Truy xuất tuần tự

        • IV.2 Truy xuất trực tiếp

        • IV.3 Các phương pháp truy xuất khác

      • V Cấu trúc thư mục

        • V.1 Cấu trúc thư mục dạng đơn cấp

        • V.2 Cấu trúc thư mục dạng hai cấp

        • V.3 Cấu trúc thư mục dạng cây

        • V.4 Cấu trúc thư mục dạng đồ thị không chứa chu trình

        • V.5 Cấu trúc thư mục dạng đồ thị tổng quát

      • VI Gắn hệ thống tập tin

      • VII Chia sẻ tập tin

        • VII.1 Nhiều người dùng

        • VII.2 Hệ thống tập tin ở xa

      • VIII Bảo vệ

        • VIII.1 Các kiểu truy xuất

        • VIII.2 Kiểm soát truy xuất

        • VIII.3 Các tiếp cận bảo vệ khác

      • IX Tóm tắt

  • Chuong10-Cai dat he thong tap tin

    • CÀI ĐẶT HỆ THỐNG TẬP TIN

      • I Mục đích

      • Giới thiệu

      • III Cấu trúc hệ thống tập tin

      • IV Cài đặt hệ thống tập tin

        • IV.1 Tổng quan

        • IV.2 Hệ thống tập tin ảo

      • V Cài đặt thư mục

        • V.1 Danh sách tuyến tính

        • V.2 Bảng băm

      • VI Các phương pháp cấp phát

        • VI.1 Cấp phát kề

        • VI.2 Cấp phát liên kết

        • VI.3 Cấp phát được lập chỉ mục

        • VI.4 Năng lực

      • VII Quản lý không gian trống

        • VII.1 Bit vector

        • VII.2 Danh sách liên kết

        • VII.3 Nhóm

        • VII.4 Bộ đếm

      • VIII Tóm tắt

  • Chuong11-Quan ly thiet bi

    • QUẢN LÝ HỆ THỐNG NHẬP/XUẤT

      • I Mục đích

      • Giới thiệu

      • III Các khái niệm cơ bản

      • IV Phần cứng nhập/xuất

        • IV.1 Thăm dò

        • IV.2 Ngắt

        • IV.3 Truy xuất bộ nhớ trực tiếp

      • V Giao diện nhập/xuất ứng dụng

      • VI Hệ thống con nhập/xuất của nhân (kernel I/O subsytem)

        • VI.1 Định thời biểu nhập/xuất

        • VI.2 Vùng đệm

        • VI.3 Vùng lưu trữ

        • VI.4 Vùng chứa và đặt trước thiết bị

        • VI.5 Quản lý lỗi

        • VI.6 Cấu trúc dữ liệu nhân

      • VII Chuyển nhập/xuất tới hoạt động phần cứng

      • VIII Năng lực

      • IX Tóm tắt

  • ADeCuongHeDieuHanh_CIT

    • ĐỀ CƯƠNG MÔN HỌC

      • I MỤC ĐÍCH YÊU CẦU

      • II KIẾN THỨC NỀN CẦN THIẾT

      • III KIẾN THỨC TOÁN CẦN THIẾT

      • IV TÓM TẮT NỘI DUNG MÔN HỌC

      • V ĐỀ CƯƠNG CHI TIẾT CÁC CHƯƠNG

      • VI TÀI LIỆU THAM KHẢO

        • VI.1.1 DUYỆT BỘ MÔN

Nội dung

Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH I Mục tiêu Sau học xong chương này, người học nắm kiến thức sau: o Hiểu vai trò hệ điều hành hệ thống máy tính o Biết giai đoạn phát triển hệ điều hành o Hiểu khác biệt hệ điều hành qua giai đoạn o Hiểu cách giải vấn đề phát sinh hệ điều hành II Giới thiệu Hệ điều hành chương trình quản lý phần cứng máy tính Nó cung cấp tảng cho chương trình ứng dụng đóng vai trị trung gian giao tiếp người dùng máy tính phần cứng máy tính Hệ điều hành thiết lập cho tác vụ đa dạng Một vài hệ điều hành thiết kế tiện dụng số khác thiết kế hiệu kết hợp hai Để hiểu hệ điều hành gì, trước hết phải hiểu chúng phát triển Trong chương điểm lại phát triển hệ điều hành từ hệ thử nghiệm tới hệ đa chương chia thời Thông qua giai đoạn khác thấy cách thức mà thành phần hệ điều hành cải tiến giải pháp tự nhiên cho vấn đề hệ thống máy tính ban đầu Xem xét lý phía sau phát triển hệ điều hành cho đánh giá tác vụ hệ điều hành làm cách hệ điều hành thực chúng III Hệ điều hành gì? Một hệ điều hành thành phần quan trọng hệ thống máy tính Một hệ thống máy tính chia thành bốn thành phần: phần cứng, hệ điều hành, chương trình ứng dụng người dùng o Phần cứng (Hardware): bao gồm xử lý trung tâm (CPU), nhớ, thiết bị xuất/nhập, cung cấp tài nguyên cho hệ thống o Các chương trình ứng dụng (application programs): trình biên dịch (compiler), trình soạn thảo văn (text editor), hệ sở liệu (database system), trình duyệt Web, định nghĩa cách mà tài nguyên sử dụng để giải yêu cầu người dùng o Người dùng (user): có nhiều loại người dùng khác nhau, thực yêu cầu khác nhau, có nhiều ứng dụng khác o Hệ điều hành (operating system): hay cịn gọi chương trình hệ thống, điều khiển hợp tác việc sử dụng phần cứng chương trình ứng dụng khác cho người dùng khác Hệ điều hành khám phá từ hai phía: người dùng hệ thống Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 User1 User2 compliler text editor UserN database t System and Application Programs Operating System Hardware Hình 0-1 Tầm nhìn trừu tượng thành phần hệ thống máy tính III.1 Tầm nhìn người dùng Tầm nhìn người dùng máy tính đa dạng giao diện dùng Hầu hết người dùng máy tính ngồi trước máy tính cá nhân gồm có hình, bàn phím, chuột xử lý hệ thống (system unit) Một hệ thống thiết kế cho người dùng độc quyền sử dụng tài nguyên để tối ưu hố cơng việc mà người dùng thực Trong trường hợp này, hệ điều hành thiết kế dễ dàng cho việc sử dụng với quan tâm lực không quan tới việc sử dụng tài nguyên Năng lực thực quan trọng với người dùng không vấn đề hầu hết hệ thống rãnh, chờ tốc độ xuất/nhập chậm từ phía người dùng Vài người dùng ngồi thiết bị đầu cuối (terminal) nối kết tới máy tính lớn (mainframe) hay máy tính tầm trung (minicomputer) Những người khác truy xuất máy tính thơng qua thiết bị đầu cuối khác Những người dùng chia sẻ tài ngun trao đổi thơng tin Hệ điều hành thiết kế để tối ưu hoá việc sử dụng tài nguyên-để đảm bảo tất thời gian sẳn dùng CPU, nhớ thiết bị xuất nhập sử dụng hữu hiệu không cá nhân người dùng sử dụng độc quyền tài nguyên chia sẻ công Những người dùng khác ngồi trạm làm việc, nối kết tới mạng trạm làm việc khác máy chủ Những người dùng có tài nguyên tận hiến trạm làm việc họ chia sẻ tài ngun mạng máy chủtập tin, tính tốn máy phục vụ in Do đó, hệ điều hành họ thiết kế để thoả hiệp khả sử dụng cá nhân việc tận dụng tài nguyên Gần đây, đa dạng máy tính xách tay trở thành thời trang cho người làm việc lãnh vực công nghệ thông tin Các thiết bị sử dụng cá nhân người dùng Một vài máy tính nối mạng nối trực tiếp dây hay thông qua modem không dây Do giới hạn lượng (điện) giao diện, chúng thực tương đối thao tác xa Hệ điều hành thiết kế chủ yếu cho việc sử dụng cá nhân lực thực thời gian sống pin yếu tố quan trọng Một số máy tính có hay khơng có tầm nhìn người dùng Thí dụ, máy tính nhúng vào thiết bị gia đình xe ơtơ có bảng số đèn hiển thị trạng thái mở, tắt hầu hết chúng hệ điều hành thiết kế để chạy mà không cần giao tiếp Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 III.2 Tầm nhìn hệ thống Từ quan điểm máy tính, hệ điều hành chương trình gần gủi với phần cứng Chúng ta thấy hệ điều hành cấp phát tài ngun Hệ thống máy tính có nhiều tài nguyên - phần cứng phần mềm - mà yêu cầu để giải vấn đề: thời gian CPU, không gian nhớ, không gian lưu trữ tập tin, thiết bị xuất/nhập, Hệ điều hành hoạt động quản lý tài nguyên Đương đầu với lượng lớn yêu cầu xung đột tài nguyên, hệ điều hành phải định cách cấp phát tài nguyên tới chương trình cụ thể người dùng để điều hành hệ thống máy tính hữu hiệu cơng Một tầm nhìn khác hệ điều hành nhấn mạnh cần thiết để điều khiển thiết bị xuất/nhập khác chương trình người dùng Một hệ điều hành chương trình điều khiển Chương trình điều khiển quản lý thực thi chương trình người dùng để ngăn chặn lỗi việc sử dụng không hợp lý máy tính Nó đặc biệt quan tâm với thao tác điều khiển thiết bị nhập/xuất Nhìn chung, khơng có định nghĩa hồn tồn đầy đủ hệ điều hành Các hệ điều hành tồn chúng cách hợp lý để giải vấn đề tạo hệ thống máy tính sử dụng Mục tiêu hệ thống máy tính thực thi chương trình người dùng giải vấn đề người dùng dễ dàng Hướng đến mục tiêu này, phần cứng máy tính xây dựng Tuy nhiên, đơn phần cứng khơng dễ sử dụng phát triển chương trình ứng dụng Các chương trình khác địi hỏi thao tác chung đó, chẳng hạn điều khiển thiết bị xuất/nhập Sau đó, chức chung điều khiển cấp phát tài nguyên đặt lại với vào phận phần mềm gọi hệ điều hành Cũng khơng có định nghĩa bao qt chấp nhận để xác định phần thuộc hệ điều hành, phần khơng Một quan điểm đơn giản thứ liên quan lệnh hệ điều hành nên xem xét Tuy nhiên, yêu cầu nhớ đặc điểm bên khác hệ thống Một định nghĩa bao quát hệ điều hành chương trình chạy liên tục máy tính (thường gọi nhân kernel), chương trình cịn lại thuộc chương trình ứng dụng III.3 Mục tiêu hệ thống Định nghĩa hệ điều hành làm dễ xác định hệ điều hành Mục đích hệ điều hành dễ dàng sử dụng Vì tồn hệ điều hành hỗ trợ nhiều cho máy tính việc đáp ứng ứng dụng người dùng Tầm nhìn đặc biệt rõ ràng nhìn hệ điều hành máy tính cá nhân Mục tiêu thứ hai hệ điều hành điều hành hữu hệ thống máy tính Mục tiêu đặc biệt quan trọng cho hệ thống lớn, chia sẻ, nhiều người dùng Những hệ thống tiêu biểu đắt, khai thác hiệu hệ thống điều mong muốn Tuy nhiên, hai mục tiêu tiện dụng hữu hiệu mâu thuẫn Trong khứ, xem xét tính hữu hiệu thường quan trọng tính tiện dụng Do đó, lý thuyết hệ điều hành tập trung nhiều vào việc tối ưu hoá sử dụng tài nguyên tính tốn Hệ điều hành phát triển dần theo thời gian Thí dụ, UNIX bắt đầu với bàn phím máy in giao diện giới hạn tính tiện dụng người dùng Qua thời gian, phần cứng thay đổi UNIX gắn vào phần cứng với giao diện thân thiện với người dùng Nhiều giao diện người dùng đồ hoạ GUIs (graphical user interfaces) bổ sung cho phép tiện dụng với người dùng quan tâm tính hiệu Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Thiết kế hệ điều hành công việc phức tạp Người thiết kế gặp phải nhiều thoả hiệp thiết kế cài đặt Nhiều người tham gia không mang đến hệ điều hành lợi điểm mà liên tục xem xét nâng cấp Để thấy rõ hệ điều hành hệ điều hành làm, xem xét cách chúng phát triển bốn mươi lăm năm qua Bằng cách lần theo tiến triển, xác định thành phần hệ điều hành thấy cách thức lý hệ điều hành phát triển chúng có Hệ điều hành kiến trúc máy tính có mối quan hệ khăng khít Để dễ dàng sử dụng phần cứng, hệ điều hành phát triển Sau đó, người dùng hệ điều hành đề nghị chuyển đổi thiết kế phần cứng để đơn giản chúng Nhìn lại lịch sử ngắn ngủi này, trọng cách giải vấn đề hệ điều hành để giới thiệu đặc điểm phần cứng IV Hệ thống mainframe Những hệ thống máy tính mainframe máy tính dùng để xử lý ứng dụng thương mại khoa học Trong phần này, lần theo phát triển hệ thống mainframe từ hệ thống bó (batch systems), máy tính chạy một-và -ứng dụng, tới hệ chia sẻ thời gian (time-shared systems), mà cho phép người dùng giao tiếp với hệ thống máy tính IV.1 Hệ thống bó Những máy tính thời kỳ đầu máy cực lớn chạy từ thiết bị cuối (console) Những thiết bị nhập thường đọc thẻ ổ đĩa băng từ Các thiết bị xuất thông thường thường máy in dòng (line printers), ổ đĩa từ phiếu đục lỗ Người dùng không giao tiếp trực tiếp với hệ thống máy tính Thay vào đó, người dùng chuẩn bị cơng việc- chứa chương trình, liệu thơng tin điều khiển tính tự nhiên cơng việc-và gởi đến người điều hành máy tính Cơng việc thường thực phiếu đục lỗ Tại thời điểm sau (sau vài phút, hay ngày), liệu xuất xuất Dữ liệu xuất chứa kết chương trình kết xuất nhớ cuối nội dung ghi cho việc gở rối Hệ điều hành máy tính thời kỳ đầu tương đối đơn giản Tác vụ chuyển điều khiển tự động từ công việc sang công việc khác Hệ điều hành thường trú nhớ Hệ điều hành Vùng chương trình người dùng Hình 0-2 Sắp xếp nhớ cho hệ thống bó đơn giản Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Để tăng tốc việc xử lý, người điều hành bó cơng việc có u cầu chạy chúng thơng qua máy tính nhóm Do đó, lập trình viên đưa chương trình họ cho người điều hành Người điều hành xếp chương trình thành bó với u cầu máy tính sẳn dùng chạy bó Dữ liệu xuất từ cơng việc gởi lại cho lập trình viên tương ứng Trong môi trường thực thi này, CPU ln rảnh tốc độ thiết bị xuất/nhập dạng thực chất chậm tốc độ thiết bị điện Ngay CPU chậm (với hàng ngàn thị lệnh thực thi giây) làm việc vài phần trăm giây Thêm vào đó, đọc thẻ nhanh đọc 1200 thẻ thời gian phút (hay 20 thẻ giây) Do đó, khác biệt tốc độ CPU thiết bị xuất/nhập lần hay nhiều Dĩ nhiên theo thời gian, tiến công nghệ dẫn đến đời thiết bị nhập/xuất nhanh Tuy nhiên, tốc độ CPU tăng tới tỷ lệ lớn vấn đề khơng khơng giải mà cịn làm tăng Giới thiệu công nghệ đĩa cho phép hệ điều hành giữ tất công việc đĩa đọc thẻ Với việc truy xuất trực tiếp tới nhiều công việc, hệ điều hành thực định thời cơng việc, để sử dụng tài nguyên thực tác vụ hữu hiệu IV.2 Hệ đa chương Một khía cạnh quan trọng định thời công việc khả đa chương Thông thường, người dùng giữ CPU hay thiết bị xuất/nhập bận Đa chương gia tăng khả sử dụng CPU cách tổ chức cơng việc để CPU ln có cơng việc để thực thi Ý tưởng kỹ thuật đa chương minh hoạ sau: Hệ điều hành giữ nhiều công việc nhớ thời điểm Tập hợp công việc tập cơng việc giữ vùng cơng việc-bởi số lượng cơng việc giữ lúc nhớ thường nhỏ số cơng việc có vùng đệm Hệ điều hành lấy bắt đầu thực thi công việc có nhớ Cuối cùng, cơng việc phải chờ vài tác vụ thao tác xuất/nhập để hoàn thành Trong hệ thống đơn chương, CPU chờ trạng thái rỗi Trong hệ thống đa chương, hệ điều hành chuyển sang thực thi công việc khác Cuối cùng, công việc kết thúc việc chờ nhận CPU trở lại Chỉ cần công việc cần thực thi, CPU không trạng thái rỗi Hệ điều hành Công việc Công việc Công việc 512K Công việc Hình 0-3 Sắp xếp nhớ cho hệ đa chương Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Đa chương trường hợp hệ điều hành phải thực định cho người dùng Do đó, hệ điều hành đa chương tương đối tinh vi Tất công việc đưa vào hệ thống giữ vùng công việc Vùng chứa tất trình định vị đĩa chờ cấp phát nhớ Nếu nhiều cơng việc sẳn sàng mang vào nhớ không đủ không gian cho tất hệ điều hành phải chọn chúng Khi hệ điều hành chọn công việc từ vùng cơng việc, nạp cơng việc vào nhớ để thực thi Có nhiều chương trình nhớ thời điểm yêu cầu phải có quản lý nhớ Ngồi ra, nhiều cơng việc sẳn sàng chạy thời điểm, hệ thống phải chọn chúng Thực định định thời CPU Cuối cùng, nhiều công việc chạy đồng hành địi hỏi hoạt động chúng ảnh hưởng tới cơng việc khác bị hạn chế tất giai đoạn hệ điều hành bao gồm định thời trình, lưu trữ đĩa, quản lý nhớ IV.3 Hệ chia thời Hệ thống bó-đa chương cung cấp môi trường nơi mà nhiều tài nguyên khác (chẳng hạn CPU, nhớ, thiết bị ngoại vi) sử dụng hiệu Tuy nhiên, khơng cung cấp giao tiếp người dùng với hệ thống máy tính Chia thời (hay đa nhiệm) mở rộng luận lý đa chương CPU thực thi nhiều công việc cách chuyển đổi qua lại chúng, chuyển đổi xảy thường xuyên để người dùng giao tiếp với chương trình chạy Một hệ thống máy tính giao tiếp (interactive computer) hay thực hành (handson computer system) cung cấp giao tiếp trực tuyến người dùng hệ thống Người dùng cho thị tới hệ điều hành hay trực tiếp tới chương trình, sử dụng bàn phím hay chuột chờ nhận kết tức Do đó, thời gian đáp ứng nên ngắn-điển hình phạm vi giây hay Một hệ thống chia thời cho phép nhiều người dùng chia sẻ máy tính thời điểm Vì hoạt động hay lệnh hệ chia thời phục vụ ngắn, thời gian CPU yêu cầu cho người dùng Khi hệ thống nhanh chóng chuyển từ người dùng sang người dùng kế, người dùng cho cảm giác toàn hệ thống máy tính tận hiến cho mình, thật máy tính chia sẻ cho nhiều người dùng Một hệ điều hành chia thời sử dụng định thời CPU đa chương để cung cấp người dùng với phần nhỏ máy tính chia thời Mỗi người dùng có chương trình riêng nhớ Một chương trình nạp vào nhớ thực thi thường gọi trình Khi trình thực thi, điển hình thực thi thời điểm ngắn trước kết thúc hay cần thực xuất/nhập Xuất/nhập giao tiếp; nghĩa liệu xuất hiển thị hình cho người dùng liệu nhập từ bàn phím, chuột hay thiết bị khác Vì giao tiếp xuất/nhập chủ yếu chạy “tốc độ người dùng”, khoảng thời gian dài để hồn thành Thí dụ, liệu nhập bị giới hạn tốc độ nhập người dùng; ký tự giây nhanh người dùng, chậm so với máy tính Thay để CPU rảnh người dùng nhập liệu, hệ điều hành nhanh chóng chuyển CPU tới chương trình khác Hệ điều hành chia thời phức tạp nhiều so với hệ điều hành đa chương Trong hai dạng, nhiều công việc giữ lúc nhớ hệ thống phải có chế quản lý nhớ bảo vệ Để đạt thời gian đáp ứng hợp lý, cơng việc hốn vị vào nhớ Một phương pháp chung để đạt mục tiêu nhớ ảo, kỹ thuật cho phép việc thực thi cơng việc khơng hồn tồn nhớ Ưu điểm chế nhớ ảo chương Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 trình lớn nhớ vật lý Ngồi ra, trừu tượng hố nhớ thành mảng lưu trữ lớn đồng nhất, chia nhớ luận lý thấy người dùng từ nhớ vật lý Sự xếp giải phóng lập trình viên quan tâm đến giới hạn lưu trữ nhớ Các hệ chia thời phải cung cấp hệ thống tập tin Hệ thống tập tin định vị tập hợp đĩa; quản lý đĩa phải cung cấp Hệ chia thời cung cấp chế cho việc thực thi đồng hành, yêu cầu chế định thời CPU tinh vi Để đảm bảo thứ tự thực thi, hệ thống phải cung cấp chế cho việc đồng hoá giao tiếp cơng việc, đảm bảo công việc không bị deadlock, chờ đợi công việc khác mãi Ý tưởng chia thời giới thiệu năm 1960, hệ chia thời phức tạp đắt để xây dựng, chúng không phổ biến năm 1970 Mặc dù xử lý theo bó thực hầu hết hệ thống ngày chia thời Do đó, đa chương chia thời chủ đế trung tâm hệ điều hành đại chúng chủ đề trọng tâm giáo trình V Hệ để bàn (Desktop system) Máy tính cá nhân (PC) xuất vào năm 1970 Trong suốt thập niên đầu, CPU PC thiếu đặc điểm cần thiết để bảo vệ hệ điều hành từ chương trình người dùng Do đó, hệ điều hành PC khơng đa người dùng đa nhiệm Tuy nhiên, mục tiêu hệ điều hành thay đổi theo thời gian; thay tối ưu hố việc sử dụng CPU thiết bị ngoại vi, hệ thống chọn lựa tối ưu hoá tiện dụng đáp ứng người dùng Các hệ thống gồm PC chạy hệ điều hành Microsoft Windows Apple Macintosh Hệ điều hành MS-DOS từ Microsoft thay nhiều ấn Microsoft Windows IBM nâng cấp MS-DOS thành hệ đa nhiệm OS/2 Hệ điều hành Apple Macintosh gắn nhiều phần cứng đại ngày chứa nhiều đặc điểm nhớ ảo đa nhiệm Với phát hành MacOS X, lõi hệ điều hành ngày dựa Mach FreeBSD UNIX cho mở rộng, lực đặc điểm giữ lại giao diện đồ hoạ người dùng GUI LINUX, hệ điều hành tương tự UNIX sẳn dùng cho máy PC trở nên phổ biến gần Hệ điều hành cho máy tính có thuận lợi nhiều cách từ phát triển hệ điều hành cho mainframes Máy vi tính (microcomputer) chấp nhận số công nghệ phát triển cho hệ điều hành lớn Thêm vào đó, chi phí phần cứng cho máy vi tính đủ thấp để cá nhân sử dụng máy tính, sử dụng CPU khơng cịn quan trọng Do đó, định thiết kế thực hệ điều hành cho mainframes khơng hợp lý cho hệ thống nhỏ Những định thiết kế khác áp dụng Thí dụ, trước hết bảo vệ hệ thống tập tin không cần thiết máy cá nhân Tuy nhiên, máy tính thường nối vào máy tính khác qua mạng cục hay Internet Khi máy tính khác người dùng khác truy xuất tập tin PC, bảo vệ tập tin lần trở thành đặc điểm cần thiết hệ điều hành Sự thiếu bảo vệ tạo điều kiện dễ dàng cho chương trình hiểm phá huỷ liệu hệ thống MS-DOS hệ điều hành Macintosh Các chương trình tự nhân phát tán nhanh chóng chế worm hay virus làm tê liệt mạng công ty hay chí mạng tồn cầu Đặc điểm chia thời cải tiến nhớ bảo vệ quyền tập tin chưa đủ để bảo vệ hệ thống từ công Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 VI Hệ đa xử lý Hầu hết hệ thống ngày hệ thống đơn xử lý; nghĩa có CPU Tuy nhiên, hệ thống đa xử lý (hay gọi hệ song song hay hệ kết nối chặt) phát triển quan trọng Các hệ thống có nhiều xử lý giao tiếp gần, chia sẻ bus máy tính, đồng hồ, đơi cịn nhớ hay thiết bị ngoại vi Hệ thống đa xử lý có ba ưu điểm chính: o Thơng lượng gia tăng: cách tăng số lượng xử lý, hy vọng thực nhiều công việc với thời gian Tỉ lệ tăng tốc với N xử lý không N; nhỏ N Trong nhiều xử lý cộng tác công việc, lượng chi phí phải chịu việc giữ thành phần làm việc phù hợp Chi phí cộng với chi phí cạnh tranh tài nguyên chia sẻ, làm giảm kết mong đợi từ xử lý bổ sung Tương tự nhóm gồm N lập trình viên làm việc với khơng dẫn đến kết công việc đạt tăng N lần o Tính kinh tế việc mở rộng: hệ thống đa xử lý tiết kiệm nhiều chi phí hệ thống đơn xử lý, chúng chia sẻ ngoại vi, thiết bị lưu trữ điện Nếu nhiều chương trình điều hành tập hợp liệu lưu trữ liệu đĩa tất xử lý chia sẻ chúng rẻ có nhiều máy tính với đĩa cục nhiều liệu o Khả tin cậy gia tăng: chức phân bổ hợp lý xử lý lỗi xử lý khơng dừng hệ thống, lực bị giảm Nếu có 10 xử lý có xử lý bị cố xử lý xử lý lại phải chia sẻ công việc xử lý bị lỗi Do đó, tồn hệ thống giảm 10% lực dừng hoạt động Các hệ thống thiết kế gọi hệ thống có khả chịu lỗi (fault tolerant) Việc điều hành tiếp tục diện lỗi yêu cầu chế cho phép lỗi phát hiện, chuẩn đoán sửa lỗi Hệ thống Tandem sử dụng nhân đôi phần cứng phần mềm để đảm bảo điều hành tiếp tục có lỗi xảy Hệ thống chứa hai xử lý, xử lý có nhớ cục riêng Các xử lý nối kết bus Một xử lý xử lý dự phòng Cả hai giữ xử lý: dự phòng Tại điểm kiểm tra (checkpoints) việc thực thi hệ thống, thông tin trạng thái cơng việc-gồm hình ảnh nhớ-được chép từ máy tới máy dự phịng Nếu lỗi phát hiện, dự phòng kích hoạt khởi động lại từ điểm kiểm tra Giải pháp đắt bao gồm việc nhân đôi phần cứng Các hệ thống đa xử lý thông dụng sử dụng đa xử lý đối xứng (symmetric multiprocessing-SMP) Trong hệ thống xử lý chạy hệ điều hành giao tiếp với khác cần Vài hệ thống sử dụng đa xử lý bất đối xứng (asymmetric multiprocessing) Trong hệ thống xử lý gán công việc xác định Một xử lý chủ điều khiển hệ thống; xử lý lại chờ xử lý chủ thị có tác vụ định nghĩa trước Cơ chế định nghĩa mối quan hệ chủ-tớ Bộ xử lý lập thời biểu cấp phát công việc tới xử lý tớ Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Đa xử lý đối xứng có nghĩa tất xử lý ngang hàng; khơng có mối quan hệ chủ-tớ tồn xử lý Hình I-4 minh hoạ kiến trúc đa xử lý đối xứng điển hình Một thí dụ đa xử lý đối xứng ấn Encore UNIX cho máy tính Multimax Máy tính cấu thực nhiều xử lý, tất xử lý chạy UNIX Ưu điểm mơ hình nhiều q trình chạy lúc - N q trình chạy có N CPU- khơng gây giảm sút to lớn lực Tuy nhiên, phải điều khiển cẩn thận xuất/nhập để đảm bảo liệu dẫn tới xử lý tương ứng Vì CPU riêng rẻ, CPU rảnh CPU khác tải dẫn đến việc sử dụng không hữu hiệu tài ngun hệ thống Sự khơng hiệu tránh xử lý chia sẻ cấu trúc liệu Một hệ thống đa xử lý dạng cho phép trình tài nguyên – nhớ - chia sẻ tự động trình khác làm giảm khác biệt xử lý Hầu tất hệ điều hành đại - gồm Windows NT, Solaris, Digital UNIX, OS/2 LINUX - cung cấp hỗ trợ đa xử lý đối xứng Hình 0-4 Kiến trúc đa xử lý đối xứng Sự khác biệt đa xử lý đối xứng bất đối xứng phần cứng phần mềm Phần cứng đặc biệt khác nhiều xử lý, phần mềm viết phép chủ nhiều tớ Thí dụ, SunOS ấn cung cấp đa xử lý không đối xứng, ngược lại, ấn (Solaris 2) đối xứng phần cứng Khi vi xử lý trở nên rẻ mạnh chức bổ sung hệ điều hành chuyển tới xử lý tớ Thí dụ, tương đối dễ để thêm vi xử lý với nhớ riêng để quản lý hệ thống đĩa Bộ vi xử lý nhận chuỗi yêu cầu từ nhớ cài đặt hàng đợi đĩa riêng giải thuật định thời Sự xếp làm giảm chi phí định thời đĩa CPU PC chứa vi xử lý bàn phím để chuyển phím nóng thành mã để gởi tới CPU Thực tế, việc sử dụng vi xử lý trở nên phổ biến đến mà đa xử lý khơng cịn xem xét VII Hệ phân tán Một mạng, thuật ngữ đơn giản nhất, đường dẫn truyền thông hai hay nhiều hệ thống Hệ phân tán phụ thuộc vào mạng với khả Bằng cách cho phép truyền thơng, hệ phân tán chia sẻ tác vụ tính tốn cung cấp nhiều chức tới người dùng Các mạng với đa dạng giao thức dùng, khoảng cách nút phương tiện truyền TCP/IP giao thức mạng phổ biến ATM giao thức khác sử dụng rộng rãi Tương tự, hệ điều hành hỗ trợ đa dạng giao thức Hầu hết hệ điều hành hỗ trợ TCP/IP, gồm Windows UNIX Một số hệ điều hành khác hỗ trợ giao thức riêng phù hợp với yêu cầu chúng Đối với hệ điều hành, giao thức mạng cần thiết bị giao diện – thí dụ: Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 card mạng-với trình điều khiển thiết bị để quản lý phần mềm để đóng gói liệu giao thức giao tiếp để gởi mở gói để nhận Mạng thường dựa khoảng cách nút Một mạng cục (LANLocal Area Network) tồn phạm vi phòng, tầng, hay nhà Một mạng diện rộng (Wide-Area Network) thường tồn nhà, thành phố, quốc gia Một cơng ty tồn cầu có mạng diện rộng để nối kết tới văn phịng Các mạng chạy với hay nhiều giao thức Sự tiến liên tục cơng nghệ hình thành nhiều dạng mạng khác Thí dụ, mạng thị (MAN-Metropolitan Area Network) liên kết nhà thành phố Các thiết bị BlueTooth giao tiếp qua khoảng cách ngắn khoảng vài (feet), chủ yếu tạo mạng phạm vi nhỏ (small-area network) Các phương tiện truyền thông làm mạng tương đối khác Chúng gồm cáp đồng, cáp quang, truyền không dây vệ tinh, đĩa vi sóng (microware dishes) sóng radio Khi thiết bị tính tốn nối kết tới điện thoại di động, chúng tạo mạng Thậm chí nhiều giao tiếp hồng ngoại dãy ngắn dùng cho mạng Tại cấp độ bản, máy tính giao tiếp chúng sử dụng hay tạo mạng Các mạng khác lực khả tin cậy VII.1 Hệ khách hàng-máy phục vụ Một PC trở nên nhanh hơn, mạnh hơn, rẻ người thiết kế thay đổi xa từ kiến trúc hệ thống tập trung Các thiết bị đầu cuối nối kết tới hệ tập trung thay PC Tương ứng, chức giao diện người dùng dùng quản lý trực tiếp hệ tập trung quản lý tăng dần PC Do đó, hệ tập trung ngày hoạt động hệ máy phục vụ để thoả mãn yêu cầu phát sinh hệ thống khách hàng Đặc điểm chung hệ khách hàng- máy phục vụ mơ tả hình-I-5: Hình 0-5 Cấu trúc chung hệ khách hàng-máy phục vụ Các hệ máy chủ phân loại rộng rãi máy phục vụ tính tốn máy phục vụ tập tin o Hệ máy phục vụ tính tốn (Compute-server systems): cung cấp giao diện mà khách hàng gởi yêu cầu để thực hoạt động Chúng thực thi hoạt động gởi kết cho khách hàng o Hệ máy phục vụ tập tin (File-server systems ): cung cấp giao diện hệ thống tập tin nơi khách hàng tạo, cập nhật, đọc xoá tập tin Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 10 Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 IV Phần cứng nhập/xuất Các máy tính điều hành nhiều loại thiết bị Hầu hết chúng thuộc chủng loại phổ biến thiết bị lưu trữ (đĩa, băng từ), thiết bị truyền (card mạng, modem) thiết bị giao diện người dùng (màn hình, bàn phím, chuột), Mặc dù có đa dạng thiết bị nhập/xuất, cần hiểu vài khái niệm thiết bị gán phần mềm điều khiển phần cứng Một thiết bị giao tiếp với hệ thống máy tính cách gởi tín hiệu qua dây cáp hay chí qua khơng khí Các thiết bị giao tiếp với máy điểm nối kết (cổng-port) cổng Nếu hay nhiều thiết bị dùng tập hợp dây dẫn, nối kết gọi bus Một bus tập hợp dây dẫn giao thức định nghĩa chặt chẽ để xác định tập hợp thơng điệp gởi qua dây Trong thuật ngữ điện tử, thông điệp truyền mẫu điện điện tử áp dụng tới dây dẫn với thời gian xác định Khi thiết bị A có cáp gán vào thiết bị B, thiết bị B có cáp gán vào thiết bị C thiết bị C gán vào cổng máy tính, xếp gọi chuỗi nối tiếp Một chuỗi nối tiếp thường điều hành bus IV.1 Thăm dò Giao thức hồn chỉnh cho việc giao tiếp máy tính điều khiển phức tạp ký hiệu bắt tay (handshaking) đơn giản Chúng ta giải thích bắt tay thí dụ sau Chúng ta giả sử bits dùng để hợp tác mối quan hệ người sản xuất-người tiêu thụ điều khiển máy chủ Bộ điều khiển hiển thị trạng thái thơng qua bit bận (busy bit) ghi trạng thái Bộ điều khiển đặt bit bận làm việc xố bit bận sẳn sàng nhận lệnh Máy tính tín hiệu mong muốn bit sẳn sàng nhận lệnh (command-ready bit) ghi lệnh Máy tính thiết lập bit sẳn sàng nhận lệnh lệnh sẳn dùng cho điều khiển thực thi Thí dụ, máy tính viết liệu xuất thông qua cổng, hợp tác với điều khiển cách bắt tay sau: Máy tính lặp lại việc đọc bit bận bit bị xố Máy tính thiết lập bit viết ghi lệnh viết byte vào ghi liệu xuất Máy tính đặt bit sẳn sàng nhận lệnh Khi điều khiển nhận thấy bit sẳn sàng nhận lệnh đặt, đặt bit bận Bộ điều khiển đọc ghi lệnh thấy lệnh viết Nó đọc ghi xuất liệu để lấy byte thực nhập/xuất tới thiết bị Bộ điều khiển xoá bit sẳn sàng nhận lệnh, xoá bit lỗi ghi trạng thái để hiển thị thiết bị nhập/xuất thành cơng, xố bit bận để hiển thị kết thúc Vòng lặp lặp cho byte Trong bước 1, máy tính chờ đợi bận hay thăm dị Nó vịng lặp, đọc ghi trạng thái bit bận xố Nếu điều khiển thiết bị nhanh phương pháp phương pháp phù hợp Nhưng chờ lâu máy chủ chuyển sang tác vụ khác Sau đó, máy tính làm để biết điều khiển rảnh? Đối với số thiết bị, máy tính phải phục vụ thiết bị nhanh chóng Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 243 Đại Học Cần Thơ - Khoa Công Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 liệu bị Thí dụ, liệu truyền vào cổng từ bàn phím, vùng đệm nhỏ điều khiển tràn liệu bị máy tính chờ lâu trước trả bytes đọc Trong nhiều kiến trúc máy tính, chu kỳ lệnh CPU đủ để thăm dò thiết bị: read ghi thiết bị, thực phép tính luận lý and để lấy bit trạng thái tách (branch) khác Rõ ràng, thao tác thăm dò đủ Nhưng thăm dị trở nên khơng đủ lặp lại nhiều lần, tìm thiết bị sẳn sàng phục vụ lần thăm dò đầu tiên, cần dùng CPU để xử lý cho công việc khác Trong trường hợp thế, hiệu để xếp điều khiển phần cứng thông báo cho CPU thiết bị sẳn sàng phục vụ yêu cầu CPU lặp lại việc thăm dị cho việc hồn thành nhập/xuất Cơ chế phần cứng cho phép thiết bị thông báo tới CPU gọi ngắt (interrupt) IV.2 Ngắt Hình 0-1 Chu kỳ nhập/xuất hướng ngắt Cơ chế ngắt làm việc sau: phần cứng CPU có dây dẫn gọi dòng yêu cầu ngắt (interrup-request line) mà CPU cảm ứng sau thực thi thị Khi CPU phát điều khiển xác nhận tín hiệu dịng u cầu ngắt CPU lưu lượng nhỏ trạng thái giá trị hành trỏ lệnh, nhảy tới thủ tục quản lý ngắt (interrupt-handler) địa cố định nhớ Bộ quản lý ngắt xác định nguyên nhân gây ngắt, thực xử lý cần thiết, thực thi thị return from interrupt để trả CPU trạng thái thực thi trước ngắt Chúng ta nói điều khiển thiết bị sinh ngắt cách xác định tín hiệu dịng u cầu ngắt quản lý xố ngắt cách phục vụ thiết bị Hình XI-1 tóm tắt chu kỳ nhập/xuất hướng ngắt (interrupt-driven I/O cycle) IV.3 Truy xuất nhớ trực tiếp Đối với thiết bị thực việc truyền lớn ổ đĩa, lãng phí dùng vi xử lý để theo dõi bit trạng thái đẩy liệu vào ghi điều khiển byte Nhiều máy tính muốn giảm gánh nặng cho CPU cách chuyển số công việc tới điều khiển có mục đích đặc biệt gọi điều khiển truy xuất nhớ trực tiếp (direct memory-access-DMA) Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 244 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Hình 0-2 Các bước việc truyền liệu DMA Để khởi tạo thao tác chuyển DMA, máy tính viết khối lệnh DMA vào nhớ Khối chứa trỏ tới nguồn chuyển, trỏ tới đích chuyển đếm số lượng byte chuyển CPU viết địa khối lệnh tới điều khiển DMA, sau CPU tiếp tục làm công việc khác Bộ điều khiển DMA xử lý để điều hành bus nhớ trực tiếp, đặt địa bus để thực việc chuyển mà trợ giúp CPU Một điều khiển DMA đơn giản thành phần chuẩn PCs, bảng nhập/xuất bus (bus-mastering I/O boards) để PC thường chứa phần cứng DMA tốc độ cao Quá trình mơ tả hình XI-2 V Giao diện nhập/xuất ứng dụng Trong phần này, thảo luận kỹ thuật cấu trúc giao diện cho hệ điều hành cho phép thiết bị nhập/xuất đối xử cách chuẩn, khơng đổi Thí dụ, giải thích ứng dụng mở tập tin đĩa mà khơng biết loại đĩa đĩa thiết bị khác thêm tới máy tính mà không làm hệ điều hành bị gián đoạn Như vấn đề công nghệ phần mềm phức tạp khác, tiếp cận liên quan đến tính trừu tượng, bao gói phân tầng phần mềm Đặc biệt, trừu tượng khác chi tiết thiết bị nhập/xuất cách xác định vài loại thông dụng Mỗi loại thông dụng truy xuất thông qua tập hợp hàm chuẩn-một giao diện Sự khác biệt bao gói module nhân gọi trình điều khiển thiết bị (device driver) mà qui định bên áp đặt cho thiết bị, nhập vào giao diện chuẩn Hình XI-3 hiển thị cách thành phần liên quan nhập/xuất nhân cấu trúc tầng phần mềm Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 245 Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Hình 0-3 Cấu trúc nhân nhập/xuất Mục đích tầng chứa trình điều khiển thiết bị che đậy khác biệt điều khiển thiết bị từ hệ nhập/xuất nhân, nhiều lời gọi hệ thống nhập/xuất đóng gói hành vi thiết bị vài lớp phát sinh để che đậy khác biệt từ ứng dụng Thực hệ thống nhập/xuất độc lập với phần cứng đơn giản hóa cơng việc người phát triển hệ điều hành Nó đem lại thuận lợi cho nhà sản xuất phần cứng Họ thiết kế thiết bị tương thích với giao diện điều khiển chủ có (như SCSI-2) hay họ viết trình điều khiển thiết bị để giao tiếp phần cứng hệ điều hành phổ biến Do đó, thiết bị ngoại vi gán tới máy tính mà khơng phải chờ nhà cung cấp hệ điều hành phát triển thêm mã Tuy nhiên, số nhà sản xuất thiết bị phần cứng, loại hệ điều hành có chuẩn riêng cho giao diện trình điều khiển thiết bị Một thiết bị cho mang nhiều trình điều khiển-thí dụ, trình điều khiển cho MS-DOS, Windows 95/98, Windows NT/2000 Solaris Các thiết bị khác nhiều hướng hiển thị hình XI-4 Hình 0-4 Các đặc điểm thiết bị nhập/xuất Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 246 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 • • • • • • Dòng ký tự hay khối: thiết bị dòng ký tự chuyển byte một, ngược lại thiết bị khối chuyển đơn vị khối byte Truy xuất ngẫu nhiên: thiết bị chuyển liệu theo thứ tự cố định định nghĩa thiết bị, ngược lại người dùng thiết bị truy xuất ngẫu nhiên dẫn thiết bị để tìm vị trí lưu trữ liệu sẳn có Đồng bất đồng bộ: thiết bị đồng thiết bị thực việc chuyển liệu với số lần đáp ứng đốn trước Một thiết bị bất đồng hiển thị số lần đáp ứng không đặn hay khơng thể đốn trước Có thể chia sẻ hay tận hiến: thiết bị chia sẻ dùng đồng hành nhiều trình hay luồng; thiết bị tận hiến khơng thể Tốc độ thao tác: tốc độ thiết bị trải dài từ vài byte giây tới vài gigabyte giây Đọc-viết, đọc, hay viết: số thiết bị thực hai nhập, xuất, số thiết bị khác hỗ trợ hướng liệu VI Hệ thống nhập/xuất nhân (kernel I/O subsytem) Nhân cung cấp nhiều dịch vụ liên quan đến nhập/xuất Một vài dịch vụ-định thời biểu, vùng đệm (buffering), vùng lưu trữ (cache), đặt trước thiết bị, quản lý lỗiđược cung cấp hệ thống nhập/xuất nhân xây dựng phần cứng sở hạ tầng trình điều khiển thiết bị VI.1 Định thời biểu nhập/xuất Định thời biểu cho tập hợp yêu cầu nhập xuất có nghĩa xác định thứ tự tốt để thực thi chúng Thứ tự ứng dụng phát lời gọi hệ thống chọn lựa tốt Định thời biểu cải tiến tồn lực hệ thống, chia sẻ truy xuất thiết bị đồng trình giảm thời gian chờ đợi trung bình cho nhập/xuất hoàn thành Người phát triển hệ điều hành cài đặt định thời biểu cách trì hàng đợi cho thiết bị Khi ứng dụng phát lời gọi hệ thống nhập/xuất nghẽn, yêu cầu đặt vào hàng đợi cho thiết bị Bộ định thời biểu nhập/xuất xếp lại thứ tự hàng đợi để cải tiến tồn tính hiệu hệ thống thời gian đáp ứng trung bình dựa theo kinh nghiệm ứng dụng Hệ điều hành cố gắng giữ bình đẳng khơng ứng dụng nhận dịch vụ nghèo nàn hay cho dịch vụ ưu tiên yêu cầu trì hỗn nhạy cảm Thí dụ, u cầu từ hệ thống nhớ ảo lấy độ ưu tiên qua yêu cầu ứng dụng Một cách mà hệ thống nhập/xuất cải tiến tính hiệu máy tính cách định thời biểu hoạt động nhập/xuất Một cách khác dùng khơng gian lưu trữ nhớ hay đĩa, với kỹ thuật gọi vùng đệm, vùng lưu trữ vùng chứa VI.2 Vùng đệm Vùng đệm vùng nhớ lưu trữ liệu chúng chuyển hai thiết bị hay thiết bị ứng dụng Vùng đệm thực với lý Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 247 Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 • • • Lý thứ đối phó với việc khơng tương thích tốc độ người sản xuất người tiêu dùng dòng liệu Lý thứ hai cho việc sử dụng vùng làm thích ứng thiết bị có kích thước truyền liệu khác Lý thứ ba cho việc dùng vùng đệm hỗ trợ ngữ nghĩa chép cho nhập/xuất ứng dụng VI.3 Vùng lưu trữ Vùng lưu trữ (cache) vùng nhớ nhanh quản lý liệu Truy xuất tới lưu trữ hiệu truy xuất tới gốc Thí dụ, thị trình chạy lưu đĩa, lưu trữ nhớ vật lý chép lần vùng lưu trữ phụ Sự khác vùng đệm vùng lưu trữ vùng đệm giữ thành phần liệu có, ngược lại vùng lưu trữ giữ vừa đủ thiết bị lưu trữ nhanh thành phần nằm nơi khác.Vùng lưu trữ vùng đệm có chức khác đơi vùng nhớ dùng cho hai mục đích VI.4 Vùng chứa đặt trước thiết bị Một vùng chứa (spool) vùng đệm giữ liệu xuất cho thiết bị máy in mà khơng thể chấp nhận dịng liệu đan xen Mặc dù máy in phục vụ công việc thời điểm, nhiều ứng dụng muốn in đồng thời mà liệu xuất chúng đan xen với Hệ điều hành giải vấn đề cách ngăn chặn tất liệu xuất tới máy in Dữ liệu xuất ứng dụng chứa tập tin riêng Khi ứng dụng kết thúc việc in, hệ thống vùng chứa xếp tập tin chứa tương ứng cho liệu xuất tới máy in Hệ thống vùng chứa chép tập tin xếp hàng tới máy in tập tin thời điểm Trong hệ điều hành, vùng chứa quản lý trình hệ thống chạy chế độ Trong số hệ điều hành khác, quản lý luồng nhân Trong trường hợp, hệ điều hành cung cấp giao diện điều khiển cho phép người dùng người quản trị hệ thống hiển thị hàng đợi để xóa cơng việc khơng mong muốn trước cơng việc in, để tạm dừng việc in máy in phục vụ, VI.5 Quản lý lỗi Một hệ điều hành sử dụng nhớ bảo vệ chống lại nhiều lỗi phần cứng ứng dụng lỗi tồn hệ thống không kết trục trặc học thứ yếu Các thiết bị truyền nhập/xuất bị lỗi nhiều cách, lý tạm thời mạng trở nên tải, hay lý thường xuyên trình điều khiển đĩa bị lỗi Các hệ điều hành thường trả giá cho tính hiệu lỗi tạm thời Thí dụ, lỗi đọc đĩa read() dẫn đến cố gắng làm lại read() lỗi gởi liệu mạng send() dẫn tới việc gởi lại resend() giao thức xác định rõ Tuy nhiên, thành phần quan trọng bị lỗi thường xuyên hệ điều hành không nghĩ đến việc phục hồi Như qui tắc thông thường, lời gọi hệ thống nhập/xuất trả bit thông tin trạng thái lời gọi, biểu thị thành công hay thất bại Trong hệ điều hành UNIX, biến nguyên có tên errno dùng để trả mã lỗi- Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 248 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 100 giá trị-hiển thị tính tự nhiên lỗi (thí dụ: đối số vượt giới hạn, lỗi trỏ, tập tin mở, ) Ngược lại, số phần cứng cung cấp thông tin lỗi mô tả chi tiết nhiều hệ điều hành không thiết kế để truyền đạt thông tin tới ứng dụng VI.6 Cấu trúc liệu nhân Nhân cần giữ thông tin trạng thái việc dùng thành phần nhập/xuất Nó thực thơng qua dãy cấu trúc liệu nhân bảng tập tin mở Nhân dùng nhiều cấu trúc tương tự để ghi vết nối kết mạng, giao tiếp thiết bị dạng ký tự hoạt động nhập/xuất khác Tóm lại, hệ thống nhập/xuất điều phối tập hợp dịch vụ mở rộng sẳn có ứng dụng phần khác nhân Hệ thống nhập/xuất điều khiển • Quản lý khơng gian tên cho tập tin thiết bị • Điều khiển truy xuất tới tập tin thiết bị • Điều khiển hoạt động (thí dụ, modem khơng thể tìm seek()) • Cấp phát khơng gian hệ thống tập tin • Cấp phát thiết bị • Vùng đệm, vùng lưu trữ vùng chứa • Định thời biểu nhập/xuất • Điều khiển trạng thái thiết bị, quản lý lỗi, phục hồi lỗi • Cấu hình khởi tạo trình điều khiển thiết bị Cấp cao hệ thống nhập/xuất truy xuất thiết bị qua giao diện đồng cung cấp trình điều khiển thiết bị VII Chuyển nhập/xuất tới hoạt động phần cứng Phần trước mô tả việc bắt tay trình điều khiển thiết bị điều khiển thiết bị, khơng giải thích cách hệ điều hành nối kết yêu cầu ứng dụng tới tập hợp dây mạng hay sector đĩa xác định Chúng ta xem xét thí dụ đọc tập tin từ đĩa Ứng dụng tham chiếu tới liệu tên tập tin Trong đĩa, hệ thống tập tin ánh xạ từ tên tập tin thông qua thư mục hệ thống tập tin để lấy không gian cấp phát tập tin Các hệ điều hành đại đạt khả linh hoạt cao từ nhiều giai đoạn bảng tra cứu đường dẫn yêu cầu điều khiển thiết bị vật lý Các chế truyền yêu cầu ứng dụng trình điều khiển phổ biến Do đó, giới thiệu thiết bị trình điều khiển vào máy tính mà khơng biên dịch lại nhân Thật vậy, số hệ điều hành có khả nạp trình điều khiển thiết bị theo yêu cầu Tại thời điểm khởi động, hệ thống thăm dò bus phần cứng để xác định thiết bị diện sau hệ thống nạp trình điều khiển cần thiết hay yêu cầu yêu cầu nhập/xuất Bây mô tả chu trình sống điển hình yêu cầu đọc bị nghẽn, hình XI-5 Hình đề nghị thao tác nhập/xuất yêu cầu nhiều bước tiêu tốn số lượng lớn chu kỳ CPU 1) Một trình phát lời gọi hệ thống read() tới mơ tả tập tin mở trước Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 249 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 2) Mã lời gọi hệ thống nhân kiểm tra tính đắn tham số Trong trường hợp nhập, liệu có sẳn vùng đệm liệu trả tới trình yêu cầu nhập/xuất hoàn thành 3) Ngược lại, nhập/xuất vật lý cần thực q trình xóa từ hàng đợi thực thi đặt vào hàng đợi chờ cho thiết bị, yêu cầu nhập/xuất lập thời biểu Cuối cùng, hệ nhập/xuất gởi yêu cầu tới trình điều khiển thiết bị Phụ thuộc vào hệ điều hành, yêu cầu gởi lời gọi thủ tục hay thông điệp nhân 4) Trình điều khiển thiết bị cấp phát vùng đệm nhân để nhận liệu lập thời biểu nhập/xuất Cuối cùng, trình điều khiển gởi lệnh tới điều khiển thiết bị cách viết vào ghi điều khiển thiết bị 5) Trình điều khiển thiết bị thao tác phần cứng thiết bị để thực truyền liệu 6) Trình điều khiển thăm dị trạng thái liệu hay thiết lập truyền DMA vào nhớ nhân Chúng ta thừa nhận truyền quản lý điều khiển DMA sinh ngắt việc truyền hoàn thành 7) Bộ quản lý ngắt tương ứng nhận ngắt bằng vector ngắt, lưu liệu cần thiết, báo hiệu trình điều khiển thiết bị trả từ ngắt 8) Trình điều khiển thiết bị nhận tín hiệu, xác định yêu cầu nhập/xuất hoàn thành, xác định trạng thái yêu cầu báo hiệu cho hệ nhập/xuất nhân yêu cầu hoàn thành 9) Nhân truyền liệu hay trả mã tới không gian địa trình yêu cầu di chuyển trình từ hàng đợi chờ tới hàng đợi sẳn sàng 10) Di chuyển q trình tới hàng đợi sẳn sàng khơng làm nghẽn trình Khi định thời biểu gán trình tới CPU, trình tiếp tục thực thi thời điểm hoàn thành lời gọi hệ thống Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 250 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Hình 0-5 Chu trình sống yêu cầu nhập/xuất VIII Năng lực Nhập/xuất yếu tố quan trọng lực hệ thống Nó đặt nhiều yêu cầu CPU để thực thi mã trình điều khiển thiết bị định thời biểu q trình cơng hiệu q trình nghẽn khơng nghẽn Chuyển đổi ngữ cảnh trọng đến CPU vùng lưu trữ phần cứng Nhập/xuất hiển thị tính khơng hiệu chế quản lý ngắt nhân, nhập/xuất tải xuống bus nhớ suốt thời gian chép vùng đệm nhân không gian liệu ứng dụng Chép cách hợp lý tất yêu cầu quan tâm kiến trúc máy tính Mặc dù máy tính đại quản lý hàng ngàn ngắt giây, quản lý ngắt tác vụ tương đối đắt: ngắt gây cho hệ thống thực thay đổi trạng thái, để thực thi quản lý ngắt sau phục hồi trạng thái Nhập/xuất lập trình hiệu nhập/xuất hướng ngắt (interrupt-driven I/O) số chu kỳ tiêu tốn cho việc chờ đợi bận khơng q mức Hồn thành thao tác nhập/xuất khơng nghẽn q trình dẫn đến tồn chi phí việc chuyển đổi ngữ cảnh Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 251 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Chúng ta tận dụng nhiều nguyên tắc để cải tiến tính hiệu nhập/xuất: • Cắt giảm số lượng chuyển ngữ cảnh • Cắt giảm số lần liệu phải chép vào nhớ truyền thiết bị ứng dụng • Cắt giảm tần số xuất ngắt cách dùng truyền lớn, điều khiển thông tin vùng chứa (nếu chờ đợi bận nhỏ nhất) • Gia tăng tính đồng hành dùng điều khiển tri thức DMA (DMAknowledgeable controllers) hay kênh để giảm gánh nặng chép liệu đơn giản từ CPU • Di chuyển hàm xử lý vào phần cứng, phép họat động chúng điều khiển thiết bị đồng hành với thao tác CPU bus • Cân CPU, hệ nhớ, bus lực nhập/xuất tải vùng gây rảnh rỗi vùng khác Ở chức nhập/xuất nên cài đặt-trong phần cứng thiết bị, trình điều khiển thiết bị hay phần mềm ứng dụng? Chúng ta quan sát tiến trình mơ tả hình XI-6 Hình 0-6 Tiến trình mơ tả chức thiết bị • • • Khởi đầu, cài đặt giải thuật nhập/xuất thử nghiệm cấp ứng dụng mã ứng dụng linh họat lỗi ứng dụng không gây sụp đổ hệ thống Ngoài ra, phát triển mã cấp ứng dụng, tránh yêu cầu khởi động hay nạp lại trình điều khiển thiết bị sau thay đổi tới mã Tuy nhiên, cài đặt cấp ứng dụng khơng đủ chi phí chuyển ngữ cảnh ứng dụng khơng thể lấy lợi điểm cấu trúc liệu nhân bên chức nhân (như truyền thông điệp hữu hiệu nhân, luồng khóa) Khi giải thuật cấp ứng dụng chứng minh tính giá trị nó, cài đặt lại nhân Điều cải tiến lực nỗ lực phát triển có thử thách nhiều nhân hệ điều hành lớn, phần mềm hệ thống phức tạp Ngoài ra, việc cài đặt nhân phải gỡ rối toàn để tránh hư hỏng liệu sụp đổ hệ thống Năng lực cao đạt cài đặt chuyên dụng phần cứng, thiết bị hay điều khiển Sự bất lợi việc cài đặt phần cứng Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 252 Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 gồm khó khăn chi phí việc tạo cải tiến xa hay sửa lỗi, thời gian phát triển tăng (tháng ngày) khả linh hoạt giảm IX Tóm tắt Các thành phần phần cứng nạp vào nhập/xuất bus, điều khiển thiết bị, thiết bị Cơng việc chuyển liệu thiết bị nhớ thực CPU nhập/xuất lập trình, hay chuyển tải tới điều khiển DMA Module nhân điều khiển thiết bị trình điều khiển thiết bị Giao diện lời gọi hệ thống cung cấp tới ứng dụng thiết kế để quản lý nhiều chủng loại phần cứng, sockets mạng đếm thời gian đến lập trình Hệ nhập/xuất nhân cung cấp nhiều dịch vụ Các dịch vụ định thời biểu nhập/xuất, vùng đệm, vùng chứa, quản lý lỗi đặt trước thiết bị Một dịch vụ khác dịch tên, để tạo nối kết thiết bị phần cứng tên tập tin tượng trưng dùng ứng dụng Nó liên quan nhiều cấp ánh xạ mà dịch từ tên chuỗi ký tự tới trình điều khiển thiết bị xác định địa thiết bị sau tới địa vật lý cổng nhập/xuất hay điều khiển bus Các lời gọi hệ thống nhập/xuất tính chi phí theo thuật ngữ tiêu tốn CPU nhiều lớp phần mềm thiết bị vật lý ứng dụng Các lớp ngụ ý chi phí chuyển ngữ cảnh để qua phạm vi bảo vệ nhân, tín hiệu quản lý ngắt để phục vụ thiết bị nhập/xuất, tải CPU hệ thống nhớ để chép liệu vùng đệm nhân không gian ứng dụng Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 Trang 253 ĐỀ CƯƠNG MÔN HỌC MÔN: HỆ ĐIỀU HÀNH Mà MÔN HỌC: TH338 SỐ ĐVHT: HỌC KÌ: GIẢNG VIÊN: NGUYỄN PHÚ TRƯỜNG I MỤC ĐÍCH YÊU CẦU ƒ ƒ ƒ Giúp sinh viên hiểu vai trò hệ điều hành chế hoạt động hệ điều hành Cách thiết kế hệ điều hành Cách ứng dụng chế việc thiết kế hệ điều hành đại II KIẾN THỨC NỀN CẦN THIẾT STT Nội dung kiến thức Kiến trúc máy tính Tiên Mức độ yêu cầu Vận dụng khái Vận dụng kỹ năng/ niệm/ mô hình phương pháp x III KIẾN THỨC TỐN CẦN THIẾT STT Nội dung kiến thức Hiểu Khái niệm Giải thuật Ngôn ngữ Pascal C Mức độ yêu cầu Vận dụng Chứng minh Công thức/ Công thức/ định lý định lý x Vận dụng Phương pháp x IV TĨM TẮT NỘI DUNG MƠN HỌC ƒ ƒ ƒ ƒ Mơ tả điểm yếu hệ điều hành Vai trò lực hệ điều hành hệ thống máy tính Những vấn đề phát sinh trình thiết kế hệ điều hành tiếp cận khác dùng để phân tích giải vấn đề Xem xét chiến lược hệ điều hành phổ biến cách chúng tác động đến dịch vụ hệ điều hành đại V ĐỀ CƯƠNG CHI TIẾT CÁC CHƯƠNG CHƯƠNG I - TỔNG QUAN VỀ HỆ ĐIỀU HÀNH1 I.1 Mục tiêu I.2 Giới thiệu I.3 Hệ điều hành gì? I.4 Hệ thống mainframe I.5 Hệ để bàn (Desktop system) I.6 Hệ đa xử lý I.7 Hệ phân tán I.8 Hệ thống nhóm (Clustered Systems) I.9 Hệ thời thực I.10 Hệ xách tay I.11 Tóm tắt CHƯƠNG II - CẤU TRÚC HỆ ĐIỀU HÀNH II.1 Mục đích II.2 Giới thiệu II.3 Các thành phần hệ thống II.4 Các dịch vụ hệ điều hành II.5 Lời gọi hệ thống II.6 Các chương trình hệ thống II.7 Cấu trúc hệ thống II.8 Máy ảo II.9 Tóm tắt CHƯƠNG III - QUÁ TRÌNH III.1 Mục đích III.2 Giới thiệu III.3 Khái niệm trình III.4 Lập thời biểu trình III.5 Thao tác trình III.6 Giao tiếp liên trình III.7 Tóm tắt CHƯƠNG IV - ĐỊNH THỜI BIỂU CPU IV.1 Mục tiêu IV.2 Giới thiệu IV.3 Các khái niệm IV.4 Các tiêu chuẩn định thời IV.5 Các giải thuật định thời IV.6 Định thời biểu đa xử lý IV.7 Định thời thời gian thực IV.8 Đánh giá giải thuật IV.9 Tóm tắt CHƯƠNG V - ĐỒNG BỘ HỐ Q TRÌNH V.1 Mục tiêu V.2 Giới thiệu V.3 Tổng quan V.4 Vấn đề vùng tương trục V.5 Giải pháp V.6 Các toán đồng hoá nguyên thuỷ V.7 Tóm tắt CHƯƠNG VI - DEADLOCK VI.1 Mục đích VI.2 Giới thiệu VI.3 Mơ hình hệ thống VI.4 Đặc điểm deadlock VI.5 Các phương pháp xử lý deadlock VI.6 Ngăn chặn deadlock VI.7 Tránh deadlock VI.8 Phát Deadlock VI.9 Phục hồi deadlock VI.10 Tóm tắt CHƯƠNG VII - QUẢN LÝ BỘ NHỚ VII.1 Mục đích VII.2 Giới thiệu VII.3 Đặt vấn đề VII.4 Hoán vị VII.5 Cấp phát nhớ liên tục VII.6 Cấp phát không liên tục VII.7 Tóm tắt CHƯƠNG VIII - BỘ NHỚ ẢO VIII.1 Mục đích VIII.2 Giới thiệu VIII.3 Kiến thức VIII.4 Phân trang theo yêu cầu VIII.5 Thay trang VIII.6 Cấp phát khung trang VIII.7 Trì trệ tồn hệ thống VIII.8 Các vấn đề khác VIII.9 Tóm tắt CHƯƠNG IX - HỆ THỐNG TẬP TIN IX.1 Mục đích IX.2 Giới thiệu IX.3 Khái niệm tập tin IX.4 Các phương pháp truy xuất IX.5 Cấu trúc thư mục IX.6 Gắn hệ thống tập tin IX.7 Chia sẻ tập tin IX.8 Bảo vệ IX.9 Tóm tắt CHƯƠNG X - CÀI ĐẶT HỆ THỐNG TẬP TIN X.1 Mục đích X.2 Giới thiệu X.3 Cấu trúc hệ thống tập tin X.4 Cài đặt hệ thống tập tin X.5 Cài đặt thư mục X.6 Các phương pháp cấp phát X.7 Quản lý không gian trống X.8 Tóm tắt CHƯƠNG XI - QUẢN LÝ HỆ THỐNG NHẬP/XUẤT XI.1 Mục đích XI.2 Giới thiệu XI.3 Các khái niệm XI.4 Phần cứng nhập/xuất XI.5 Giao diện nhập/xuất ứng dụng T XI.6 Hệ thống nhập/xuất nhân (kernel I/O subsytem) XI.7 Chuyển nhập/xuất tới hoạt động phần cứng XI.8 Năng lực XI.9 Tóm tắt VI TÀI LIỆU THAM KHẢO [Jean Bacon & Tim Harris], Operating Systems, Addison-Wesley, 2003 [Nguyễn Hoàng Việt], Bài giảng Hệ Điều Hành, Khoa CNTT-ĐH Cần Thơ, 1998 [Silberschatz, Galvin, Gagne], Operating System Concepts, John Wiley & Sons, 2003 [Lê Khắc Nhiên Ân, Hồng Kiếm], Giáo trình Nhập môn hệ điều hành, Đại học Khoa học Tự nhiên, 2003 [Trần Hạnh Nhi, Hồng Kiếm], Giáo trình hệ điều hành nâng cao, Đại học Khoa học Tự nhiên,1999 VI.1.1 DUYỆT BỘ MÔN Ngày 23 tháng 04 năm 2004 CÁN BỘ BIÊN SOẠN Nguyễn Phú Trường ... việc thiết kế hệ điều hành III Các thành phần hệ thống Chúng ta tạo hệ thống lớn phức tạp hệ điều hành phân chia hệ điều hành thành phần nhỏ Mỗi phần nên thành phần mô tả rõ ràng hệ thống, với... Để thấy rõ hệ điều hành hệ điều hành làm, xem xét cách chúng phát triển bốn mươi lăm năm qua Bằng cách lần theo tiến triển, xác định thành phần hệ điều hành thấy cách thức lý hệ điều hành phát... thuộc chương trình ứng dụng III.3 Mục tiêu hệ thống Định nghĩa hệ điều hành làm dễ xác định hệ điều hành Mục đích hệ điều hành dễ dàng sử dụng Vì tồn hệ điều hành hỗ trợ nhiều cho máy tính việc đáp

Ngày đăng: 07/11/2020, 11:22

w