GIÁO TRÌNH LÝ THUYẾT HỆ ĐIỀU HÀNH

249 13 0
GIÁO TRÌNH LÝ THUYẾT HỆ ĐIỀU HÀNH

Đ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

ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA CÔNG NGHỆ THƠNG TIN  GIÁO TRÌNH LÝ THUYẾT HỆ ĐIỀU HÀNH BIÊN SOẠN: NGUYỄN KIM TUẤN Huế 06/2004 MỤC LỤC Trang Chương I: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH I.1 Chức lịch sử phát triển hệ điều hành I.1.1 Chức hệ điều hành I.1.2 Lịch sử phát triển hệ điều hành I.2 Một số khái niệm hệ điều hành I.2.1 I.2.2 I.2.3 I.2.4 I.2.5 Tiến trình (Process) tiểu trình (Thread) Bộ xử lý lệnh (Shell) Sự phân lớp hệ thống (System Layering) Tài nguyên hệ thống (System Resources) Lời gọi hệ thống (System Calls) I.3 Hệ điều hành phân loại hệ điều hành I.3.1 Hệ điều hành gì? I.3.2 Phân loại hệ điều hành I.4 Thành phần cấu trúc hệ điều hành 12 I.4.1 Các thành phần hệ điều hành 12 I.4.2 Các cấu trúc hệ điều hành 16 I.5 Hệ điều hành Windows95 21 I.5.1 Giới thiệu hệ điều hành Windows95 22 I.5.2 Cấu trúc windows95 24 I.5.3 Bộ nhớ ảo windows95 25 I.6 Hệ điều hành Windows 2000 26 I.6.1 Giới thiệu hệ điều hành Windows 2000 26 I.6.2 Một số đặc tính Windows 2000 27 I.6.3 Một số khái niệm Windows 2000 28 I.6.4 Kiến trúc Windows 2000 31 I.7 Hệ điều hành Linux 37 Chương II: QUẢN LÝ TIẾN TRÌNH II.1 Tổng quan tiến trình 41 I.1.1 Tiến trình loại tiến trình 41 I.1.2 I.1.3 I.1.4 I.1.5 I.1.6 Mơ hình tiến trình 42 Tiểu trình tiến trình 45 Các trạng thái tiến trình 46 Cấu trúc liệu khối quản lý tiến trình 50 Các thao tác điều khiển tiến trình 52 II.2 Tài nguyên găng đoạn găng 53 II.2.1 Tài nguyên găng (Critical Resource) 53 II.2.2 Đoạn găng (Critical Section) 57 II.2.3 Yêu cầu công tác điều độ qua đoạn găng 59 II.3 Điều độ tiến trình qua đoạn găng 60 II.3.1 Các giải pháp phần cứng 60 II.3.2 Các giải pháp dùng biến khoá 62 II.3.3 Các giải pháp hỗ trợ hệ điều hành ngôn ngữ lập trình 63 II.3.4 Hai tốn điều phối làm ví dụ 72 II.4 Tắc nghẽn (Deadlock) chống tắc nghẽn 79 II.4.1 T ắc nghẽn 79 II.4.2.Điều kiện hình thành tắt nghẽn 81 II.4.3.Ngăn chặn tắc nghẽn (Deadlock Prevention) 81 II.4.4.Nhận biết tắc nghẽn (Deadlock Detection) 81 II.5 Điều phối tiến trình II.5.1.Mục tiêu điều phối 83 II.5.2.Tổ chức điều phối 86 II.5.3.Các chiến lược điều phối 87 II.6 Tiến trình Windows NT 89 Chương III: QUẢN LÝ BỘ NHỚ III.1 Nhiệm vụ quản lý nhớ 93 III.2 Kỹ thuật cấp phát nhớ (nạp chương trình vào nhớ chính) 95 III.2.1.Kỹ thuật phân vùng cố định (Fixed Partitioning) 95 III.2.2 Kỹ thuật phân vùng động (Dynamic Partitioning) 97 III.2.3.Kỹ thuật phân trang đơn (Simple Paging) 103 III.2.4 Kỹ thuật phân đoạn đơn (Simple Segmentation)………………… 106 III.3 Kỹ thuật nhớ ảo (Virtual Memory) 109 III.3.1 Bộ nhớ ảo 109 III.3.2 Kỹ thuật nhớ ảo 112 III.4 Quản lý nhớ RAM DOS 126 III.5.a Progr am Segment Prefix (PSP) 126 III.5.b Chươ ng trình COM EXE III.5.c Mem ory Control Block (MCB) III.5 Sự phân trang/đoạn hệ điều hành Windown NT 130 III.5.a Segmentation 130 III.5.b.Paging 132 III.6 Các thuật toán thay trang 133 III.7 Cấp phát khung trang 136 III.8 Một số vấn đề quản lý nhớ Windows 2000 137 III.8.1 Nhiệm vụ quản lý nhớ Windows 2000 137 III.8.2 Các dịch vụ trình quản lý nhớ cung cấp 138 III.8.3 Address Space Layout 141 III.8.4 Chuyển đổi địa 142 Chương IV: QUẢN LÝ FILE Đ ĨA IV.1 Tổng quan quản lý tập tin đĩa 148 IV.2 IV.3 IV.4 IV.5 Tập tin hệ thống quản lý tập tin 148 Bảng danh mục tập tin chia sẻ 151 Quản lý không gian đĩa 153 Quản lý block chứa file đĩa 155 An toàn quản lý tập tin 158 Hiệu suất hệ thống file 162 Các điều khiển hệ thống tập tin 164 Các hệ thống file hệ điều hành 166 Tổ chức đĩa MS_DOS 167 Quản lý file đĩa MS_DOS 172 IV.6 Tổ chức bảng thư mục gốc Windows98 185 IV.7 Tổ chức đĩa windows 2000 188 IV.7.1 Các loại partition 188 IV.7.2 Các loại volume multipartition 192 IV.8 Quản lý lưu trữ file đĩa windowsNT/2000 195 IV.8.1 Một số chức hỗ trợ NTFS windows 2000 195 IV.8.2 Cấu trúc MFT 196 IV.8.3 Quản lý danh sách block chứa file đĩa 203 IV.9 Một số kỹ thuật hỗ trợ hệ thống file NTFS 206 IV.9.1 Lập bảng mục 206 IV.9.2 Ánh xạ Bad-cluster 207 IV.10 Tổ chức lưu trữ file đĩa CD_ROM 209 Mục lục 212 Tài liệu tham khảo 215 Chương I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH Nếu khơng có phần mềm, máy tính thiết bị điện tử thông thường Với hỗ trợ phần mềm, máy tính lưu trữ, xử lý thông tin người sử dụng gọi lại thơng tin Phần mềm máy tính chia thành nhiều loại: chương trình hệ thống, quản lý hoạt động máy tính Chương trình ứng dụng, giải vấn đề liên quan đến việc sử dụng khai thác máy tính người sử dụng Hệ điều hành thuộc nhóm chương trình hệ thống chương trình hệ thống quan trọng máy tính người sử dụng Hệ điều hành điều khiển tất tài nguyên máy tính cung cấp mơi trường thuận lợi để chương trình ứng dụng người sử dụng viết chạy máy tính Trong chương xem xét vai trò hệ điều hành trường hợp Một máy tính đại bao gồm: nhiều processor, nhớ chính, clocks, đĩa, giao diện mạng, thiết bị vào/ra khác Tất tạo thành hệ thống phức tạp Để viết chương trình để theo dõi tất thành phần máy tính sử dụng chúng cách hiệu quả, người lập trình phải biết processor thực chương trình nào, nhớ lưu trữ thông tin nào, thiết bị đĩa làm việc (ghi/đọc) nào, lỗi xảy đọc block đĩa, … cơng việc khó khăn q khó người lập trình Nhưng may cho người lập trình ứng dụng người sử dụng cơng việc hệ điều hành hỗ trợ nên họ không cần quan tâm đến Chương cho nhìn tổng quan liên quuan đến việc thiết kế cài đặt chức hệ điều hành để hệ điều hành đạt mục tiêu: Giúp người sử dụng khai thác máy tính dễ dàng chương trình người sử dụng chạy máy tính I.8 Chức lịch sử phát triển hệ điều hành I.1.7 Chức hệ điều hành Một hệ thống máy tính gồm thành phần chính: phần cứng, hệ điều hành chương trình ứng dụng người sử dụng Trong hệ điều hành phận quan trọng thiếu hệ thống máy tính, nhờ có hệ điều hành mà người sử dụng đối thoại khai thác chức phần cứng máy tính Có thể nói hệ điều hành hệ thống chương trình đóng vai trị trung gian người sử dụng phần cứng máy tính Mục tiêu cung cấp môi trường thuận lợi để người sử dụng dễ dàng thực chương trình ứng dụng họ máy tính khai thác triệt để chức phần cứng máy tính Để đạt mục tiêu hệ điều hành phải thực chức sau đây: ❑ Giả lập máy tính mở rộng: Máy tính thiết bị vi điện tử, cấu thành từ phận như: Processor, Memory, I/O Device, Bus, , để đối thoại khai thác máy tính người sử dụng phải hiểu chế hoạt động phận phải tác động trực tiếp vào nó, tất nhiên số 0,1 (ngơn ngữ máy) Điều q khó người sử dụng Để đơn giản cho người sử dụng hệ điều hành phải che đậy chi tiết phần cứng máy tính máy tính mở rộng, máy tính mở rộng có đầy đủ chức máy tính thực đơn giản dễ sử dụng Theo cần tác động vào máy tính thực người sử dụng cần tác động vào máy tính mở rộng, chuyển đổi thơng tin điều khiển từ máy tính mở rộng sang máy tính thực ngược lại hệ điều hành thực Mục đích chức là: Giúp người sử dụng khai thác chức phần cứng máy tính dễ dàng hiệu ❑ Quản lý tài nguyên hệ thống: Tài nguyên hệ thống là: processor, memory, I/O device, printer, file, , tài nguyên mà hệ điều hành dùng để cấp phát cho tiến trình, chương trình trình điều khiển hoạt động hệ thống Khi người sử dụng cần thực chương trình hay chương trình cần nạp thêm tiến trình vào nhớ hệ điều hành phải cấp phát khơng gian nhớ cho chương trình, tiến trình để chương trình, tiến trình nạp vào nhớ hoạt động Trong môi trường hệ điều hành đa nhiệm có nhiều chương trình, tiến trình đồng thời cần nạp vào nhớ, khơng gian lưu trữ nhớ có giới hạn, hệ điều hành phải tổ chức cấp phát nhớ cho hợp lý để đảm bảo tất chương trình, tiến trình cần nạp vào nhớ để hoạt động Ngoài hệ điều hành phải tổ chức bảo vệ khơng gian nhớ cấp cho chương trình, tiến trình để tránh truy cập bất hợp lệ tranh chấp nhớ chương trình, tiến trình, đặc biệt tiến trình đồng thời hoạt động hệ thống Đây nhiệm vụ quan trọng hệ điều hành Trong trình hoạt động hệ thống, đặc biệt hệ thống đa người dùng, đa chương trình, đa tiến trình, cịn xuất tượng khác, nhiều chương trình, tiến trình đồng thời sử dụng không gian nhớ hay tập tin (dữ liệu, chương trình) Trong trường hợp hệ điều hành phải tổ chức việc chia sẻ giám sát việc truy xuất đồng thời tài nguyên nói cho việc sử dụng tài nguyên có hiệu tránh mát liệu làm hỏng tập tin Trên hai dẫn chứng điển hình để thấy vai trị hệ điều hành việc quản lý tài nguyên hệ thống, sau thấy việc cấp phát, chia sẻ, bảo vệ tài nguyên hệ điều hành cơng việc khó khăn phức tạp Hệ điều hành chi phí nhiều cho cơng việc nói để đạt mục tiêu: Trong trường hợp tất chương trình, tiến trình cần cấp phát tài nguyên để hoạt động sớm hay muộn cấp phát đưa vào trạng thái hoạt động ➢ Trên hai chức tổng quát hệ điều hành, xem mục tiêu mà nhà thiết kế, cài đặt hệ điều hành phải hướng tới Các hệ điều hành có chức cụ thể sau đây: ❑ Hệ điều hành cho phép thực nhiều chương trình đồng thời môi trường đa tác vụ - Multitasking Environment Hệ điều hành multitasking bao gồm: Windows NT, Windows 2000, Linux OS/2 Trong hệ thống multasking hệ điều hành phải xác định ứng dụng chạy ứng dụng chạy khoản thời gian phải dừng lại ứng dụng khác chạy ❑ Hệ điều hành tự nạp vào nhớ - It loads itself into memory: Quá trình nạp hệ điều hành vào nhớ gọi trình Booting Chỉ hệ điều hành nạp vào nhớ cho phép người sử dụng giao tiếp với phần cứng Trong hệ thống có nhiều ứng dụng đồng thời hoạt động nhớ hệ điều hành phải chịu trách nhiệm chia sẻ không gian nhớ RAM nhớ cache cho ứng dụng ❑ Hệ điều hành API: Application Programming Interface: API tập hàm/thủ tục xây dựng sẵn bên hệ thống, thực nhiều chức khác shutdown hệ thống, đảo ngược hiệu ứng hình, khởi động ứng dụng, … Hệ điều hành giúp cho chương trình người sử dụng giao tiếp với API hay thực lời gọi đến hàm/thủ tục API ❑ Nạp liệu cần thiết vào nhớ - It loads the requied data into memory: Dữ liệu người sử dụng cung cấp đưa vào nhớ để xử lý Khi nạp liệu vào nhớ hệ điều hành phải lưu lại địa nhớ nơi mà liệu lưu Hệ điều hành phải ln theo dõi đồ cấp phát nhớ, nơi liệu chương trình lưu trữ Khi chương trình cần đọc liệu, hệ điều hành đến địa nhớ nơi lưu trữ liệu mà chương trình cần đọc để đọc lại Hệ điều hành biên dịch thị chương trình - It interprets program instructions: Hệ điều hành phải đọc giải mã thao tác cần thực hiện, viết chương trình người sử dụng Hệ điều hành chịu trách nhiệm sinh thông báo lỗi hệ thống gặp lỗi hoạt động ❑ Hệ điều hành quản lý tài nguyên - It managers resources: Nó đảm bảo việc sử dụng thích hợp tất tài nguyên hệ thống là: nhớ, đĩa cứng, máy in, … ❑ I.1.8 Lịch sử phát triển hệ điều hành I.1.2.a Thế hệ (1945 - 1955): Vào năm 1950 máy tính dùng ống chân khơng đời Ở hệ máy tính nhóm người thực hiện, bao gồm việc thiết kế, xây dựng chương trình, thao tác, quản lý, Ở hệ người lập trình phải dùng ngơn ngữ máy tuyệt đối để lập trình Khái niệm ngơn ngữ lập trình hệ điều hành chưa biết đến khoảng thời gian I.1.2.b Thế hệ (1955 - 1965): Máy tính dùng bán dẫn đời, sản xuất để cung cấp cho khách hàng Bộ phận sử dụng máy tính phân chia rõ ràng: người thiết kế, người xây dựng, người vận hành, người lập trình, người bảo trì Ngơn ngữ lập trình Assembly Fortran đời thời kỳ Với máy tính hệ để thực thao tác, lập trình viên dùng Assembly Fortran để viết chương trình phiếu đục lỗ sau đưa phiếu vào máy, máy thực cho kết qủa máy in Hệ thống xử lý theo lô đời thời kỳ Theo đó, thao tác cần thực máy tính ghi trước băng từ, hệ thống đọc băng từ , thực cho kết băng từ xuất Hệ thống xử lý theo lô hoạt động điều khiển chương trình đặc biệt, chương trình hệ điều hành sau I.1.2.c Thế hệ (1965 - 1980) Máy IBM 360 sản xuất hàng loạt để tung thị trường Các thiết bị ngoại vi xuất ngày nhiều, thao tác điều khiển máy tính thiết bị ngoại vi ngày phức tạp Trước tình hình nhu cầu cần có hệ điều hành sử dụng chung tất máy tính nhà sản xuất người sử dụng trở nên thiết Và hệ điều hành đời thời kỳ Hệ điều hành đời nhằm điều phối, kiểm soát hoạt động hệ thống giải yêu cầu tranh chấp thiết bị Hệ điều hành viết ngôn ngữ Assembly Hệ điều hành xuất khái niệm đa chương, khái niệm chia sẻ thời gian kỹ thuật Spool Trong giai đoạn xuất hệ điều hành Multics Unix I.1.2.d Thế hệ (từ 1980) Máy tính cá nhân đời Hệ điều hành MS_DOS đời gắn liền với máy tính IBM_PC Hệ điều hành mạng hệ điều hành phân tán đời thời kỳ ➢ Trên chúng tơi khơng có ý định trình bày chi tiết, đầy đủ lịch sử hình thành hệ điều hành, mà muốn mượn mốc thời gian đời hệ máy tính bạn thấy q trình hình thành hệ điều hành gắn liền với trình hình thành máy tính Mục tiêu chúng tơi mục muốn nhấn mạnh với bạn điểm sau đây: • Các ngơn ngữ lập trình, đặc biệt ngơn ngữ lập trình cấp thấp, đời trước hệ điều hành Đa số hệ điều hành xây dựng từ ngôn ngữ lập trình cấp thấp trừ hệ điều hành Unix, xây dựng từ C, ngơn ngữ lập trình cấp cao • Nếu khơng có hệ điều hành việc khai thác sử dụng máy tính khó khăn phức tạp nhiều sử dụng máy tính • Sự đời phát triển hệ điều hành gắn liền với phát triển máy tính, ngược lại phát triển máy tính kéo theo phát triển hệ điều hành Hệ điều hành thực phát triển máy tính PC xuất thị trường • Ngồi chúng tơi muốn giới thiệu số khái niệm như: hệ thống xử lý theo lô, hệ thống đa chương, hệ thống chia sẻ thời gian, kỹ thuật Spool, , mà xuất khái niệm đánh dấu bước phát triển hệ điều hành Chúng ta làm rõ khái niệm chương sau tài liệu I.9 Một số khái niệm hệ điều hành I.2.6 Tiến trình (Process) tiểu trình (Thread) Tiến trình phận chương trình thực Tiến trình đơn vị làm việc hệ thống, hệ thống tồn nhiều tiến trình hoạt động, có tiến trình hệ điều hành tiến trình chương trình người sử dụng Các tiến trình hoạt động đồng thời với Để tiến trình vào trạng thái hoạt động hệ thống phải cung cấp đầy đủ tài nguyên cho tiến trình Hệ thống phải trì đủ tài nguyên cho tiến trình suốt trình hoạt động tiến trình Ở cần phân biệt khác tiến trình chương trình, chương trình tập tin thụ động nằm đĩa, tiến trình trạng thái động chương ... suất hệ thống Nhưng chức hệ điều hành cao chi phí cho tăng theo cấu trúc hệ điều hành phức tạp Hệ điều hành Windows NT hệ điều hành Windows 2000 hệ điều hành mạnh, có đầy đủ chức loại hệ điều hành, ... với ➢ Hệ điều hành chia sẻ thời gian mở rộng logic hệ điều hành đa chương thường gọi hệ điều hành đa nhiệm (Multitasking) Hệ điều hành Windows 9x/NT hệ điều hành đa nhiệm I.3.2.d .Hệ điều hành. .. hệ điều hành I.4.3 Các thành phần hệ điều hành I.4.1.a Thành phần quản lý tiến trình Hệ điều hành phải có nhiệm vụ tạo lập tiến trình đưa vào danh sách quản lý tiến trình hệ thống Khi tiến trình

Ngày đăng: 22/05/2021, 23:33

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan