Đề cương hệ điều hành

148 195 0
Đề cương 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

HỆ ĐIỀU HÀNH Chương GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH Giới thiệu 1.1 Khái niệm hệ điều hành Hệ điều hành chương trình quản lý phần cứng máy tính Nó cung cấp sở cho chương trình ứng dụng hoạt động làm việc thành phần trung gian người sử dụng với phần cứng máy tính Hệ điều hành phần quan trọng hầu hết hệ thống máy tính Một hệ thống máy tính chia thành thành phần: phần cứng, hệ điều hành, chương trình ứng dụng người sử dụng Phần cứng bao gồm xử lý trung tâm (CPU), nhớ thiết bị vào - cung cấp tài nguyên tính toán Các chương trình ứng dụng xử lý từ, bảng tính, trình duyệt web - định nghĩa cách mà tài nguyên xử lý để đáp ứng yêu cầu người sử dụng Hệ điều hành điều khiển phối hợp sử dụng phần cứng máy tính chương trình ứng dụng khác cho người sử dụng khác Các thành phần hệ thống máy tính phần cứng, phần mềm, liệu Hệ điều hành cung cấp phương thức để sử dụng cách đắn, hợp lý tài nguyên trình điều hành hệ thống Hệ điều hành tương tự phủ Nó không tự làm việc mà đơn giản tạo môi trường để chương trình ứng dụng khác làm việc cách có hiệu Ta khảo sát hệ điều hành theo hai quan điểm: theo cách nhìn từ phía người sử dụng theo quan điểm hệ thống Theo quan điểm người sử dụng: Hầu hết người sử dụng ngồi trước máy tính cá nhân bao gồm hình, bàn phím, chuột xử lý trung tâm Trong trường hợp này, hệ điều hành thiết kế chủ yếu cho dễ sử dụng Một số người dùng sử dụng thiết bị đầu cuối để kết nối tới máy tính lớn (mainframe) máy tính nhỏ Phạm Ngọc Hưng Giới thiệu hệ điều hành (minicomputer), chia sẻ tài nguyên trao đổi liệu hệ điều hành thiết kế cho khai thác tối đa tài nguyên, đạt hiệu cao Theo quan điểm hệ thống, hệ điều hành công cụ phân phối tài nguyên Một hệ thống máy tính có nhiều tài nguyên như: thời gian CPU, nhớ, thiết bị lưu trữ ngoài, thiết bị vào ra, Hệ điều hành đóng vai trò quản lý, phân phối tài nguyên cho chúng sử dụng cách hợp lý, tránh tranh chấp, ngăn ngừa lỗi phát sinh Tóm lại, chưa có định nghĩa hoàn chỉnh hệ điều hành mà định nghĩa hệ điều hành cách tương đối theo quan điểm khác Lý tồn hệ điều hành cách để giải vấn đề phát sinh để hệ thống máy tính trở nên hữu dụng Mục tiêu hệ điều hành thực thi chương trình người dùng giúp người dùng giải vấn cách dễ dàng Các mục tiêu hệ điều hành: Mục tiêu số hệ điều hành thuận tiện cho người sử dụng Hệ điều hành tồn hỗ trợ cho việc tính toán tiến hành dễ dàng Đây cách nhìn từ hệ thống máy tính PCs nhỏ Mục tiêu số hệ điều hành khác lại điều hành cách hiệu hệ thống máy tính Đây hệ điều hành thiết kế cho hệ thống lớn, chia sẻ tài nguyên nhiều người dùng 1.2 Các hệ thống máy tính lớn Các hệ thống Mainframe hệ thống máy tính sử dụng để giải nhiều toán kinh tế, khoa học kỹ thuật 1.2.1 Hệ thống xử lý gói Đây hệ thống đời sớm, chúng có kích thước khổng lồ điều khiển từ bàn giao tiếp người máy (console) Thiết bị vào đầu đọc thẻ ổ băng từ Đầu máy in dòng, ổ băng từ thẻ đục lỗ Người sử dụng không tương tác trực tiếp với hệ thống máy tính Người dùng chuẩn bị chương trình, nhiệm vụ chuyển đến người điều hành để nạp vào hệ thống qua băng đục lỗ Phạm Ngọc Hưng HỆ ĐIỀU HÀNH Hệ điều hành cho hệ máy thực đơn giản Nhiệm vụ chủ yếu chuyển đổi điều khiển cách tự động từ công việc đến công việc Hệ điều hành luôn thường trực nhớ Để tăng tốc độ xử lý, người điều hành thường gom công việc giống thành nhóm chạy lượt Trong môi trường tính toán này, CPU thường nhàn rỗi, tốc độ nhập xuất chậm nhiều so với tốc độ xử lý CPU Ngay với CPU chậm xử lý khoảng thời gian mini giây (hàng nghìn lệnh thực giây), đó, máy đọc thẻ nhanh đọc 1200 thẻ phút 1.2.2 Hệ thống đa chương trình Trong thực tế, nhìn chung người dùng làm cho xử lý thiết bị vào làm việc cách liên tục Để khỏi lãng phí tài nguyên hệ thống (thời gian CPU, thiết bị nhập xuất) ta cần phải xếp cho CPU thiết bị nhập xuất luôn làm việc Đa chương trình giải pháp giúp gia tăng hiệu làm việc máy tính cách tổ chức công việc cách hợp lý để CPU luôn có chương trình thực Hệ điều hành lưu trữ lúc nhiều chương trình nhớ sau thực công việc Trong công việc xử lý công việc khác tạm chờ đến phiên Trong trình thực hiện, công việc tạm dừng để chờ tác vụ vào hoàn tất, với hệ thống không đa chương trình khoảng thời gian CPU trạng thái nhàn rỗi (lãng phí khả làm việc CPU) Với hệ thống đa chương trình, lúc CPU chuyển sang thực nhiệm vụ khác, điều giúp khai thác tối đa khả CPU Hoạt động chế độ đa chương trình đặt cho hệ điều hành nhiều vấn đề cần phải xử lý nạp tất chương trình vào nhớ hay phối hợp sử dụng đĩa nhớ Khi có nhiều chương trình đồng thời tồn nhớ chọn chương trình thực Tổ chức quản lý nhớ cho chương trình tồn nhớ Phạm Ngọc Hưng Giới thiệu hệ điều hành không làm ảnh hưởng lẫn vấn đề phân tích kỹ chương 1.2.3 Hệ thống chia sẻ thời gian Hệ thống đa chương trình, xử lý gói cung cấp môi trường mà tài nguyên CPU, nhớ, thiết bị ngoại vi khai thác cách hiệu lại không hỗ trợ cho người dùng tương tác với hệ thống máy tính Chia sẻ thời gian (hay đa nhiệm) mở rộng đa chương trình, CPU thực nhiều nhiệm vụ lúc cách chuyển đổi qua lại chúng Trong trình chuyển đổi thực nhiệm vụ, người dùng tương tác với chương trình chạy Một hệ thống máy tính tương tác cung cấp khả trao đổi trực tiếp người dùng hệ thống Người dùng trực tiếp thị để điều hành hệ thống chương trình cách sử dụng bàn phím hay chuột chờ kết qủa trả lại Một hệ thống chia sẻ thời gian cho phép nhiều người dùng chia sẻ máy tính đồng thời Trong hệ thống chia sẻ thời gian, câu lệnh thường ngắn, chiếm thời gian CPU Hệ thống chuyển đổi qua lại cách nhanh chóng người dùng khác để luân phiên phục vụ Với người dùng, dường họ sở hữu riêng CPU, yêu cầu đáp ứng Một hệ điều hành chia sẻ thời gian sử dụng đa chương trình lập lịch cho CPU để cung cấp cho người dùng khoảng thời gian nhỏ thời gian chia sẻ máy tính Mỗi người dùng có chương trình nhớ Một chương trình nạp vào nhớ trình thực gọi tiến trình (process) Khi tiến trình thực hiện, thường thực thi thời gian ngắn kết thúc chờ đợi tác vụ vào hoàn tất Tác vụ vào tương tác, liệu hiển thị hình đợi người dùng nhập liệu vào từ bàn phím hay chuột Tác vụ vào thường chiếm nhiều thời gian, CPU rơi vào trạng Phạm Ngọc Hưng HỆ ĐIỀU HÀNH thái nhàn rỗi (idle), để tận dụng thời gian tính toán CPU, hệ điều hành chuyển CPU sang phục vụ cho người dùng khác 1.3 Các hệ thống để bàn Các máy tính cá nhân xuất vào thập kỷ 70 Trong thập kỳ đầu, CPU máy tính PCs thiếu tính bảo vệ hệ điều hành khỏi chương trình người dùng Hệ điều hành máy tính cá nhân lúc chưa hỗ trợ đa chương trình hay đa người dùng Mục tiêu hệ điều hành thay đổi theo thời gian Thay tăng hiệu dụng CPU thiết bị ngoại vi, hệ thống cải tiến để tăng khả đáp ứng tiện lợi cho người dùng hệ thống PCs sử dụng hệ điều hành Microsoft Windows Apple Macintosh Các hệ điều hành cho máy tính PCs thu lợi nhuận nhiều cách, từ việc phát triển hệ điều hành cho máy tính lớn Máy vi tính thích ứng với số công nghệ phát triển cho hệ điều hành lớn Mặt khác, giá máy vi tính giảm, người ta không cần phải quan tam nhiều đến việc phát huy tối đa hiệu làm việc CPU 1.4 Các hệ thống đa xử lý Hầu hết hệ thống hệ có có xử lý, nghĩa máy có chip CPU Mặc dù hệ thống đa xử lý (hay gọi hệ thống song song - parallel systems hay hệ thống cặp đối - coupled systems) phát triển quan trọng Các hệ thống có nhiều CPU chia sẻ bus chung, đồng, nhớ, thiết bị ngoại vi có khả liên lạc với Các hệ thống nhiều CPU có ưu điểm sau: - Tăng khả thông suốt: cách tăng số lượng CPU, hy vọng có nhiều công việc hoàn thành thời gian ngắn theo tỷ lệ thời gian, nghĩa có n xử lý thực nhanh n lần - Kinh tế hơn: hệ thống đa CPU tiết kiệm chi phí so với hệ thống có CPU chúng chia sẻ thiết bị ngoại vi, Phạm Ngọc Hưng Giới thiệu hệ điều hành lưu trữ chính, nguồn điện, Nhiều chương trình làm việc tập hợp liệu thay phải lưu trữ đĩa chép cho chương trình - Tăng độ tin cậy: chức chia cho nhiều xử lý, có lỗi xảy không làm ngưng hệ thống, làm cho hệ thống bị chậm Nếu ta có 10 CPU có CPU bị lỗi, CPU lại chia phần công việc CPU bị hỏng Tốc độ hệ trống lúc bị chậm 10%, nhiên hệ thống không bị ngưng lỗi CPU Xử lý liên tục có mặt lỗi đòi hỏi phải có kỹ thuật cho phép phát hiện, chuẩn đoán chí khắc phục lỗi Hệ thống Tandom sử dụng phần cứng phần mềm để đảm bảo liên tục xử lý lỗi Hệ thống bao gồm xử lý, xử lý làm việc vùng nhớ riêng Các xử lý kết nối vào bus Một xử lý làm việc chính, xử lý đóng vai trò dự phòng, chứa xử lý Nếu có lỗi xảy ra, kích hoạt từ điểm làm việc tốt gần thời điểm xảy lỗi Hầu hết hệ thống đa CPU dùng đa xử lý đối xứng (SMP-symetric multiprocessing), CPU chạy hệ điều hành giao tiếp với khác cần Một số hệ thống sử dụng đa xử lý bất đối xứng, xử lý gắn với nhiệm vụ Một xử lý điều khiển hệ thống, xử lý lại đợi xử lý lệnh thực nhiệm vụ giao sẵn Đây mô hình làm việc theo kiểu phụ (chủ tớ) Bộ xử lý lập lịch để phân phối công việc cho xử lý thứ cấp SMP tất xử lý có vai trò ngang nhau, không tồn quan hệ phụ Mỗi xử lý chạy song song hệ điều hành Phiên Encore Unix viết cho máy Multimax ví dụ cho hệ thống xử lý đối xứng Hệ thống có hàng tá xử lý, tất chạy Unix Lợi ích mô hình có nhiều tiến trình chạy song song 1.5 Các hệ thống phân tán Phạm Ngọc Hưng HỆ ĐIỀU HÀNH Các hệ thống phân tán xây dựng cở sở hạ tầng mạng Các máy tính kết nối với thông qua hệ thống mạng Các công việc, liệu chia thành nhiều phần, máy tính hệ thống đảm nhiệm phần công việc Kết phần tiêng lẻ hợp lại kết lớn với hiệu làm việc vượt trội so với hệ thông có máy tính Hệ thống tương tự hệ thống chia sẻ thời gian xử lý không chia sẻ nhớ đồng hồ, thay vào xử lý có nhớ cục riêng Các xử lý thông tin với thông qua đường truyền thông bus tốc độ cao hay đường dây điện thoại Các xử lý hệ phân tán thường khác kích thước chức Nó bao gồm máy vi tính, trạm làm việc, máy mini, hệ thống máy lớn Các xử lý thường gọi với nhiều tên khác site, node, computer tùy thuộc vào trạng thái làm việc chúng Các ưu điểm hệ thống phân tán là: - Chia sẻ tài nguyên : Một người sử dụng A sử dụng máy in laser người sử dụng B người sử dụng B truy xuất tập tin A Tổng quát, chia sẻ tài nguyên hệ thống phân tán cung cấp chế để chia sẻ tập tin vị trí xa, xử lý thông tin sở liệu phân tán, in ấn vị trí xa, sử dụng thiết bị xa để thực thao tác - Tăng tốc độ tính toán : Một thao tác tính toán chia làm nhiều phần nhỏ thực lúc Hệ thống phân tán cho phép phân chia việc tính toán nhiều vị trí khác để tính toán song song - An toàn : Nếu vị trí hệ thống phân tán bị hỏng, vị trí khác tiếp tục làm việc - Thông tin liên lạc với nhau: Có lúc , chương trình cần chuyển đổi liệu từ vị trí sang vị trí khác Ví dụ hệ thống Windows, thường có chia sẻ chuyển liệu cửa sổ Khi Phạm Ngọc Hưng Giới thiệu hệ điều hành vị trí nối kết với hệ thống mạng, việc trao đổi liệu diễn dễ Người sử dụng chuyển tập tin hay E-mail cho từ vị trí hay vị trí khác 1.6 Các hệ thống Clustered Tương tự hệ thống làm việc song song Hệ thống liên kết nhiều CPU với để làm việc Sức mạnh hệ thống sức mạnh tổng hợp CPU 1.7 Các hệ thống thời gian thực Hệ thống xử lý thời gian thực sử dụng có đòi hỏi khắt khe thời gian thao tác xử lý dòng liệu, thường dùng điều khiển thiết bị ứng dụng riêng biệt Máy tính phân tích liệu chỉnh điều khiển để thay đổi cảm biến vào Một hệ điều hành xử lý thời gian thực phải định nghĩa tốt, thời gian xử lý nhanh Hệ thống phải cho kết xác khoảng thời gian bị thúc ép nhanh Có hai hệ thống xử lý thời gian thực hệ thống thời gian thực cứng hệ thống thời gian thực mềm Hệ thống thời gian thực cứng công việc hoàn tất lúc Khi liệu thường lưu nhớ ngắn hạn hay ROM Việc xử lý theo thời gian thực xung đột với tất hệ thống nói đến Dạng thứ hai hệ thống thời gian thực mềm, công việc có độ ưu tiên riêng thi hành theo độ ưu tiên Có số lĩnh vực áp dụng hữu hiệu phương pháp multimedia hay thực ảo 1.8 Các hệ thống cầm tay Hệ thống cầm tay bao gồm máy trợ giúp kỹ thuật số cá nhân (PDAs-Personal Digital Assistants) Palm-Pilots hay cellular telephone với kết nối đến mạng mạng Internet Sự phát triển hệ thống cầm tay ứng dụng đối mặt với nhiều thách thức, hầu hết thực hạn chế kích thước thiết Phạm Ngọc Hưng HỆ ĐIỀU HÀNH bị Vị hạn chế kích thước mà hệ thống cầm tay thường có nhớ nhỏ, tốc độ xử lý thấp, hình hiển thị nhỏ Nhiều thiết bị cầm tay có nhớ khoảng từ 512KB đến 8MB, máy PCs hay trạm làm việc có đến hàng trăm MB nhớ Đây lý đò hỏi hệ điều hành chương trình ứng dụng phải quản lý sử dụng nhớ cách có hiệu Vấn đề thứ hai ảnh hưởng tới phát triển hệ thống cầm tay tốc độ xử lý thiết bị thường không cao Bộ xử lý hầu hết hệ thống cầm thay chạy phần lẻ tốc độ xử lý máy PC Vấn đề thứ ba hình hiển thị có kích thước nhỏ Trong hình cho máy tính PCs có lên đến 21 inches hình máy cầm tay không vượt inches vuông Với nội dung lớn, thường thể cách dễ dàng máy PCs thể phần hình máy cầm tay Một số máy tính cầm tay sử dụng công nghệ không dây BlueTooth, cho phép truy cập từ xa tới thư điện tử duyệt web 1.9 Lịch sử phát triển hệ điều hành Thế hệ (1945 – 1955) Vào khoảng thập niên 1940, Howard Aiken Havard John von Neumann Princeton, thành công việc xây dựng máy tính dùng ống chân không (đèn điện tử) Những máy lớn với 10000 ống chân không chậm nhiều so với máy rẻ ngày Mỗi máy nhóm thực tất từ thiết kế, xây dựng lập trình, thao tác đến quản lý Lập trình ngôn ngữ máy tuyệt đối, thường cách dùng bảng điều khiển để thực chức Ngôn ngữ lập trình chưa biết đến hệ điều hành chưa nghe đến Vào đầu thập niên 1950, phiếu đục lổ đời viết chương trình phiếu thay cho dùng bảng điều khiển Phạm Ngọc Hưng Giới thiệu hệ điều hành Thế hệ (1955 – 1965) Sự đời thiết bị bán dẫn vào thập niên 1950 làm thay đổi tranh tổng thể Máy tính trở nên đủ tin cậy Nó sản xuất cung cấp cho khách hàng Lần có 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ì Để thực công việc (một chương trình hay tập hợp chương trình), lập trình viên trước hết viết chương trình giấy (bằng hợp ngữ hay FORTRAN) sau đục lỗ phiếu cuối đưa phiếu vào máy Sau thực xong xuất kết máy in Hệ thống xử lý theo lô đời, lưu yêu cầu cần thực lên băng từ, hệ thống đọc thi hành Sau đó, ghi kết lên băng từ xuất cuối người sử dụng đem băng từ xuất in Hệ thống xử lý theo lô hoạt động điều khiển chương trình đặc biệt tiền thân hệ điều hành sau Ngôn ngữ lập trình sử dụng giai đoạn chủ yếu FORTRAN hợp ngữ Thế hệ (1965 – 1980) Trong giai đoạn này, máy tính sử dụng rộng rãi khoa học thương mại Máy IBM 360 máy tính sử dụng mạch tích hợp (IC) Từ kích thước giá hệ thống máy giảm đáng kể máy tính phỗ biến Các thiết bị ngoại vi dành cho máy xuất ngày nhiều thao tác điều khiển bắt đầu phức tạp Hệ điều hành đời nhằm điều phối, kiểm soát hoạt động giải yêu cầu tranh chấp thiết bị Chương trình hệ điều hành dài triệu dòng hợp ngữ hàng ngàn lập trình viên thực Sau đó, hệ điều hành đời khái niệm đa chương CPU chờ thực thao tác nhập xuất Bộ nhớ chia làm nhiều phần, phần có công việc (job) khác nhau, công việc chờ thực nhập xuất CPU xử lý công việc lại Tuy nhiên có nhiều công việc xuất nhớ, vấn đề phải có chế bảo 10 Phạm Ngọc Hưng Hệ thống vào - Tốc độ xử lý: có thiết bị có tốc độ xử lý, chuyển liệu cao ổ cứng có thiết bị có tốc độ thấp ổ mềm - Khả ghi đọc: thiết bị cho phép ghi lẫn đọc hay cho phép ghi đọc liệu Hinh 13.3 thể đặc tính số thiết bị vào Đặc tính chế độ chuyển liệu phương pháp truy cập kiểu truyền liệu khả chia sẻ tốc độ chiều truy cập liệu Giá trị ký tự khối ngẫu nhiên đồng không đồng chia sẻ chia sẻ thời gian tìm, định vị liệu, thời gian truyền, khoảng trễ lệnh đọc ghi ghi lẫn đọc Ví dụ thiết bị đầu cuối đĩa băng từ đĩa từ băng từ bàn phím bàn phím băng từ đĩa CD hình đĩa mềm Hình 13.3: Đặc tính hiết bị vào 13.4 Nhân hệ thống I/O Nhân hệ thống cung cấp nhiều dịch vụ liên quan đến hoạt động vào Một số dịch vụ lập lịch, đệm liệu, tạo cache, xử lý lỗi cung cấp hệ thống nhân vào (I/O subsystem kernel) thiết kế phần cứng cấu trúc bên điều khiển thiết bị Sự lập lịch vào (I/O Scheduling) Là việc lịch tập yêu cầu vào (I/O requests) nghĩa xác định thứ tự thực tốt yêu cầu vào Trật tự mà ứng dụng sử dụng đến lời gọi hệ thống gần lựa chọn tốt 134 Phạm Ngọc Hưng HỆ ĐIỀU HÀNH Lập lịch cải tiến khả thực hệ thống, chia sẻ hoạt động truy nhập thiết bị tiến trình giảm thời gian chờ đợi hoạt động vào hoàn tất Các nhà phát triển hệ thống cài đặt lập lịch việc trì hàng đợi yêu cầu vào cho thiết bị Khi ứng dụng dùng đến lời gọi hệ thống vào ra, yêu cầu đưa vào hàng đợi cho thiết bị tương ứng Bộ lập lịch xếp lại hàng đợi để cải tiến nâng cao hiệu làm việc toàn hệ thống Đệm liệu Bộ đệm (buffer) vùng nhớ dùng để lưu liệu trung gian trình chuyển liệu hai hay nhiều thiết bị với ứng dụng Bộ đệm sử dụng trình chuyển liệu thiết bị vào chương trình lý sau: - Tốc độ xử lý chuyển liệu thiết bị khác Hay thiết bị với tốc độ làm việc khác thực công việc cách đồng Để thiết bị có tốc độ chậm tiếp nhận xử lý đủ liệu liệu cần phải lưu lại chuyển dần cho thiết bị có tốc độ chậm - Cho phép thiết bị có phạm vi (kích thước) truyền liệu khác làm việc với - Tăng tốc độ truy cập liệu thiết bị có tốc độ thấp 14 Cấu trúc lưu trữ khối 14.1 Cấu trúc đĩa Đĩa (đĩa cứng, đĩa mềm, đĩa CD, ) thiết bị lưu trữ thứ cấp sử dụng chủ yếu cho hoạt động lưu trữ liệu máy tính đại Trước kia, liệu lưu trữ băng từ Do tốc độ truy cập thấp, thê vào nhược điểm cho phép truy cập nên băng từ không sử dụng thiết bị lưu trữ mà dùng để lưu dự phòng Phạm Ngọc Hưng 135 Hệ thống vào Cấu trúc vật lý đĩa cứng bao gồm phận: - Vỏ đĩa - Đĩa từ - Đầu ghi đọc - Hệ thống truyền động - Động quay đĩa - Vỉ mạch điều khiển Nguyên tắc ghi liệu đĩa cứng: Một đĩa cứng có nhiều mặt đĩa Mặt đĩa chia thành nhiều rãnh đồng tâm gọi tracks Mỗi track chia thành nhiều cung gọi sector Số lượng sector tracks đường kính track khác Dữ liệu ghi sector Mỗi sector chứa nhiều bytes liệu (thường 512 bytes) Khả lưu thông tin sector thường lớn 512 bytes phải đề dành vùng cho việc mã hoá lưu thông tin để giúp cho việc kiểm tra sửa lỗi Tập hợp tracks có bán kính mặt đĩa đĩa tạo thành trụ từ (cylinder) Nhóm sector liên tục (một cách logic) tạo thành liên cung (cluster) Dữ liệu thường ghi theo liên cung Một track Chồng đĩa Đầu ghi đọc Một sector Hình 14.1: Cấu trúc đĩa cứng 136 Phạm Ngọc Hưng HỆ ĐIỀU HÀNH 14.2 Lập lịch cho đĩa Một yêu cầu quan trọng hệ điều hành sử dụng cách hiệu thiết bị phần cứng Đĩa loại thiết bị có tốc độ truy cập cao băng thông rộng Thời gian truy cập bao gồm hai loại thời gian là thời gian tìm (seek time) thời gian chờ đĩa quay đến vị trí yêu cầu (rotational latency) Seek time thời gian mà đầu từ cần sử dụng để di chuyển đến track cần tìm Độ rộng băng thông (bandwidth) tổng số bytes chuyển chia cho tổng thời gian tính từ lúc phát yêu cầu hoàn tất việc chuyển liệu Ta cải thiện thời gian truy cập băng thông cách lập lịch đáp ứng yêu cầu vào đĩa theo trình tự tốt Chế độ FCFS Đây kiểu lập lịch đĩa đơn giản Yêu cầu vào xuất trước phục vụ trước Phương pháp có nhược điểm lớn thời gian truy cập thường cao mà lẽ cải thiện cách đổi trật tự phục vụ yêu cầu Giả sử đầu đọc cylinder số 10, bầy cần phải đọc chỗi cylinder theo trật tự xuất sau: 98, 183, 37, 122, 14, 65, 67 Trước hết đầu từ phải vượt 88 cylinder để đến cylinder 198 85 cylinder để đến cylinder 183 đến cylinder 76 cuối danh sách, đầu từ phải vượt qua 565 cylinder Nếu đổi lại trật tự phục vụ 14, 37, 65, 67, 98, 122, 183 tổng số cylinder đầu từ phải di chuyển qua 173 cylinder Rõ ràng xếp lại thời gian truy cập ngắn nhiều Chế độ SSTF Theo chế độ này, tiến trình có yêu cầu mà thời gian tìm kiếm ngắn (shortest-seek-time-first) ưu tiên phục vụ trước Thuật toán giảm thời gian tìm kiếm tính từ vị trí hành đầu đọc Với chỗi cylinder theo trật tự xuất 98, 183, 37, 122, 14, 65, 67 phục vụ theo trật tự 14, 37, 65, 67, 98, 122, 183 đầu đọc cylinder số 10 Phạm Ngọc Hưng 137 Hệ thống vào 10 14 37 65 67 98 122 183 Chuỗi cylinder cần đọc: 98, 183, 37, 122, 14, 65, 67 Vị trí đầu đọc tại: 10 Đầu đọc phải di chuyển qua 565 cylinder Hình 14.2: Lập lịch đĩa theo FCFS 10 14 37 65 67 98 122 183 Chuỗi cylinder cần đọc: 98, 183, 37, 122, 14, 65, 67 Vị trí đầu đọc tại: 10 Đầu đọc phải di chuyển qua 173 cylinder Hình 14.2: Lập lịch đĩa theo SSTF 138 Phạm Ngọc Hưng HỆ ĐIỀU HÀNH 14.3 Quản lý đĩa Định dạng đĩa (Disk Formatting) Một đĩa từ trước sử dụng, cần phải định dạng Công việc định dạng nhằm tạo nên khuôn mẫu để ghi đọc liệu đĩa Thông tin khuôn mẫu định dạng thường lưu khối đặc biệt đầu đĩa (thường boot sector master boot đĩa cứng) Thông tin định dạng thường bao gồm: số track đĩa, số sector track, kích thước sector (số bytes sector), cách mã hoá, thông tin phân vùng, Khối khởi động (Boot block) Đây khối có chức đặc biệt đĩa, thường nằm vị trí đầu đĩa Boot block thường chứa phần hay toàn thông tin định dạng đĩa Đặc biệt, chứa chương trình mồi (bootstrap program) dùng để khởi động hệ điều hành Chương trình chạy sau khởi động kiểm tra xong phần cứng Chương trình mồi giúp khởi tạo nạp toàn hệ điều hành Khối hỏng (Bad block) Trong trình hoạt động, tiếp xúc có khí nên bề mặt đĩa đến lúc bị hỏng dẫn đến liệu không lưu lại đọc không Bề mặc đĩa bị hỏng phần Một khối liệu đĩa rơi vào ví trí hỏng để tránh liệu, hệ điều hành đánh dấu khối chứa vùng liệu bị hỏng Khối gọi Bad block Trong trình ghi liệu xuồng đĩa, hệ điều hành bỏ qua khối đánh dấu bad Phân vùng đĩa (Partition) Một đĩa có dung lượng lớn thường chia thành vùng nhỏ để thuận tiện quản lý khai thác đĩa Mỗi vùng chia gọi partition Mỗi đĩa cứng thường chứa bảng partition cho biết đĩa chia thành vùng Kích thước, vị trí vùng Cách quản lý liệu vùng Các thông tin thường lưu sector vật lý đĩa gọi Master boot Phạm Ngọc Hưng 139 Hệ thống vào 14.4 Cấu trúc RAID Để đảm bảo an toàn cho liệu ghi đĩa, hệ điều hành cần phải có chế bảo vệ Một giải pháp đảm bảo an toàn sử dụng mảng đĩa với kỹ thuật ghi liệu đĩa gọi RAID (Redundant Arrays of Inexpensive Disk) Các mức RAID: - Mức 0: tham chiếu đến mảng đĩa ghi liệu mức khối kỹ thuật đảm bảo an toàn - Mức 1: đĩa ghi song song (disk mirroring) - Mức 2: sử dụng bit kiểm tra chẵn lẻ cho byte Trong số đĩa dùng, phải để riêng số đĩa chứa bit kiểm tra - Mức 3: sử dụng bit kiểm tra để phát sửa sai cho khối Mức cần đĩa phục vụ cho kiểm tra sửa sai so với mức - Mức 4: sử dụng khối kiểm tra chẵn lẻ Nếu số đĩa bị lỗi khối kiểm tra chẵn lẻ sử dụng để khôi phục lại đĩa bị lỗi từ đĩa khác - Mức 5: sử dụng bit kiểm tra chẵn lẻ ghi phân tán đĩa - Mức 6: gần giống mức Thay dùng kiểm tra chẵn lẻ mức sử dụng kỹ thuật mã hoá theo Reed-Solomon Code để mã hoá liệu giúp cho phát sửa sai 14.5 Bài tập Nêu cấu tạo ổ cứng Phân tích cấu trúc logic ổ cứng Nêu nguyên tắc ghi liệu ổ ứng Trình bày chế độ lập lịch cho đĩa Nêu đặc điểm mức RAID 140 Phạm Ngọc Hưng HỆ ĐIỀU HÀNH Chương BẢO VỆ VÀ BẢO MẬT 15 Bảo vệ 15.1 Mục tiêu bảo vệ Đảm an toàn cho phần cứng phần mềm Đảm bảo cho liệu không bị sửa xoá, truy nhập trái phép Các sách bảo vệ phải không gây khó khăn cho hoạt động khai thác tài nguyên phép người sử dụng Với hệ điều hành có số phương pháp khác việc cài đặt thực thi bảo vệ hệ thống, nhiên chúng hướng đến mục tiêu chung bảo đảm an toàn phần cứng phần mềm cho hệ thống 15.2 Vùng bảo vệ Việc bảo vệ thực cách phân vùng bảo vệ Vùng bảo vệ chia dựa nguyên tắc tiếp cận đối tượng Dựa vào đối tượng, có loại đối tượng là: đối tượng phần cứng như: CPU, đoạn nhớ, máy in Các đối tượng phần mềm như: files, chương trình, Mỗi đối tượng có tên riêng phân biệt với đối tượng khác thông qua tên Một đối tượng số kiểu liệu trừu tượng Mỗi vùng (domain) tập hợp đối tượng tài nguyên mà tiến trình truy nhập Mỗi vùng định nghĩa tập đối tượng phép xử lý tương ứng đối tượng Một domain tập quyền truy nhập đối tượng thành cặp Ví dụ: để xác định quyền truy nhập file F với quyền đọc (read), ghi (write): Một Domain thực theo nhiều cách: Phạm Ngọc Hưng 141 Bảo vệ bảo mật - Mỗi người dùng domain Trong trường hợp này, tập đối tượng truy nhập dự nhận biết người dùng Sự chuyển đổi vùng xuất có thay đổi người dùng - Mỗi tiến trình vùng Trong trường hợp này, tập đối tượng truy nhập dựa nhận biết tiến trình Sự chuyển đổi vùng xuất tương ứng với trường hợp tiến trình gửi thông điệp đến tiến trình khác đợi trả lời - Mỗi thủ tục vùng Trong trường hợp này, tập ác đối tượng truy nhập dựa biến định nghĩa thủ tục Sự chuyển đổi vùng xuất có lời gọi thủ tục 15.3 Ma trận truy nhập Quyền truy nhập thể dạng ma trận quyền truy nhập hàng tương ứng với vùng, cột tương ứng với đối tượng Tại giao điểm hàng cột xác định quyền tương ứng vùng truy nhập đối tượng Ví dụ: Obj Dom D1 D2 D3 D4 F1 F2 F3 read Printer read print read read/write execute read/write 15.4 Tước quyền truy nhập Quyền truy nhập bị thu đối tượng vùng 15.5 Bài tập Trình bày nguyên tắc phân vùng bảo vệ Phân tích cấu trúc ma trận truy nhập 142 Phạm Ngọc Hưng HỆ ĐIỀU HÀNH 16 Bảo mật 16.1 Vấn đề bảo mật Trong hệ thống để bảo vệ cho tiến trình, tài nguyên không bị truy nhập trái phép người ta cần áp dụng biện pháp bảo mật, giới hạn quyền truy nhập cho người dùng Các quyền truy nhập là: - Quyền đọc liệu - Quyền thay đổi liệu - Quyền huỷ bỏ liệu - Ngăn cản sử dụng hợp pháp hệ thống (sự từ chối dịch vụ) Để bảo vệ hệ thống ta phải thực bảo mật mức: - Vật lý: bảo vệ thiết bị - Con người: người dùng phải bảo vệ để hạn chế có hội có quyền truy nhập trái phép - Mạng: hệ thống máy tính đại, liệu chuyển qua đường truyền mạng bị đánh cắp làm sai hỏng đường truyền - Hệ điều hành: tự bảo vệ khỏi truy nhập không phép 16.2 Xác nhận người dùng Mỗi người dùng trước khai thác tài nguyên cần phải xác định rõ họ ai, có quyền tài nguyên Để xác nhận người dùng cần dùng tới mật Mỗi người dùng có mật riêng Đây mã số quy ước người dùng biết Có nhiều sách khác việc sử dụng mật như: mã hoá mật khẩu, mật dùng lần, 16.3 Các luồng chương trình Các chương trình tự bảo vệ mình, chống chép lậu, sử dụng không quyền theo nhiều cách khác như: Trojan horses, trap doors, tràn ngăn xếp hay đệm Trojan Horses: phương pháp chương trình cài đặt thêm đoạn mã phần môi trường Nếu người dùng sử dụng trái phép đoạn mã kích hoạt làm cho hệ thống không làm việc tiếp Phạm Ngọc Hưng 143 Bảo vệ bảo mật hay phá hoại hệ thống người dùng sử dụng trái phép Chương trình bị lỗi sai môi trường sử dụng trái phép Trap door: người thiết kế chương trình đưa lỗ hổng phần mềm họ họ biết sử dụng lỗ hổng Phương pháp bảo vệ gọi trap door Lỗ hổng khai thác để người sử dụng trái phép sử dụng phần mềm bảo vệ 16.4 Các luồng hệ thống Trong hệ thống, tiến trình sinh tiến trình khác Trong môi trường nảy sinh vần đề tài nguyên hệ thống file người dùng bị truy nhập trái phép Hai phương pháp phổ biến để thực việc Worms Virus Worm: tiến trình sử dụng để sinh đoạn phá hoại hoạt động hệ thống Nó có khả tự tạo (tự nhân bản) tiêu hao tài nguyên hệ thống khoá hệ thống không cho tiến trình khác sử dụng Virus: phương pháp công khác virus Virus thiết kế nhằm mục đích trêu đùa hay phá hoại hệ thống đánh cắp thông tin Nhìn chung chúng gây tác hại xấu cho hệ thống Virus có khả lây lan nhanh có sức công phá lớn 16.5 Bảo mật hệ thống Bảo mật hệ thống thực thông qua phương pháp mã hoá liệu 16.6 Bài tập Nêu mức bảo vệ Bảo vệ luồng chương trình Bảo vệ luồng hệ thống So sánh khác Virus Trojan Horses 144 Phạm Ngọc Hưng HỆ ĐIỀU HÀNH 17 Giới thiệu số hệ thống 17.1 Hệ thống Linux - Lõi Linux (kernel) - Các mudule hạt nhân - Đăng nhập thiết bị - Quản lý tiến trình - Lập lịch - Quản lý nhớ - Hệ thống file 17.2 Windows 2000 - Nguyên tắc thiết kế - Các thành phần hệ thống - Các mối trường (Dos) - Hệ thống file - Giao diện lập trình - Quản lý nhớ Phạm Ngọc Hưng 145 HỆ ĐIỀU HÀNH MỤC LỤC GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH 1 Giới thiệu 1.1 Khái niệm hệ điều hành 1.2 Các hệ thống máy tính lớn .2 1.2.1 Hệ thống xử lý gói 1.2.2 Hệ thống đa chương trình 1.2.3 Hệ thống chia sẻ thời gian 1.3 Các hệ thống để bàn .5 1.4 Các hệ thống đa xử lý .5 1.5 Các hệ thống phân tán 1.6 Các hệ thống Clustered .8 1.7 Các hệ thống thời gian thực .8 1.8 Các hệ thống cầm tay .8 1.9 Lịch sử phát triển hệ điều hành 1.10 Môi trường tính toán 11 1.11 Câu hỏi tập 11 Cấu trúc hệ thống máy tính 12 2.1 Điều hành hệ thống máy tính 12 2.2 Kiến trúc vào 13 2.3 Kiến trúc lưu trữ 15 2.4 Phân cấp lưu trữ 17 2.5 Bảo vệ phần cứng 18 2.6 Kiến trúc mạng 22 2.7 Bài tập 22 Cấu trúc hệ điều hành 24 3.1 Các thành phần hệ thống 24 3.2 Các dịch vụ hệ điều hành 30 3.3 Lời gọi hệ thống 32 3.4 Chương trình hệ thống 34 3.5 Kiến trúc hệ thống 35 3.6 Các máy ảo 38 3.7 Câu hỏi tập 40 QUẢN LÝ TIẾN TRÌNH 41 Tiến trình 41 4.1 Khái niệm tiến trình 41 4.2 Lập lịch tiến trình 43 4.3 Sự thực tiến trình 46 4.4 Tiến trình cộng tác 48 4.5 Giao tiếp hệ thống khách chủ 48 Luồng 50 5.1 Giới thiệu 50 5.2 Các mô hình đa luồng 52 5.3 Luồng Window 2000 .54 Phạm Ngọc Hưng Mục lục 5.4 Luồng Linux 55 5.5 Bài tập 55 Lập lịch CPU 56 6.1 Các khái niệm 56 6.2 Các tiêu chuẩn lập lịch 57 6.3 Các thuật toán lập lịch 58 6.4 Lập lịch cho hệ thống đa xử lý 60 6.5 Lập lịch thời gian thực 61 6.6 Đánh giá giải thuật lập lịch 61 6.7 Các mô hình lập lịch 62 6.8 Bài tập 63 Đồng tiến trình 64 7.1 Tổng quan 64 7.2 Đoạn tới hạn 64 7.3 Đồng phần cứng 69 7.4 Đèn báo (Semaphones) 72 7.5 Bài tập 73 Deadlocks 74 8.1 Mô hình hệ thống 74 8.2 Các đặc điểm Deadlock 75 8.3 Các phương pháp xử lý Deadlock 78 8.4 Phòng ngừa Deadlock 79 8.5 Tránh Deadlock 80 8.6 Phát Deadlock 86 8.7 Khắc phục Deadlock 90 8.8 Bài tập 92 QUẢN LÝ LƯU TRỮ 95 Quản lý nhớ 95 9.1 Tổng quan 95 9.2 Các phương pháp nạp chương trình 97 9.3 Các cấu trúc chương trình 99 9.4 Tráo đổi nhớ 101 9.5 Phương pháp cấp phát nhớ liên tục 101 9.5 Kỹ thuật phân trang 103 9.5 Phân đoạn 108 9.6 Kết hợp phân trang-phân đoạn .110 9.7 Bài tập 113 10 Bộ nhớ ảo 114 10.1 Tổng quan 114 10.2 Phân trang theo yêu cầu 114 10.3 Tạo tiến trình 115 10.4 Đổi trang 116 10.5 Phân bố khung nhớ .118 10.6 Bài tập 118 11 Các khái niệm hệ thống file 119 11.1 Các khái niệm file 119 11.2 Các phương pháp truy nhập 119 11.3 Cấu trúc thư mục 120 Phạm Ngọc Hưng HỆ ĐIỀU HÀNH 11.4 Chia sẻ file 122 11.5 Bảo vệ 122 11.6 Bài tập 123 12 Cài đặt hệ thống file 124 12.1 Kiến trúc hệ thống file 124 12.2 Cài đặt hệ thống file 125 12.3 Các phương pháp cấp phát 126 12.4 Quản lý vùng trống 128 12.5 Khôi phục 128 12.6 Bài tập 128 HỆ THỐNG VÀO RA 129 13 Hệ thống vào 129 13.1 Tổng quan 129 13.2 Phần cứng I/O 129 13.3 Giao diện I/O ứng dụng 132 13.4 Nhân hệ thống I/O 134 14 Cấu trúc lưu trữ khối 135 14.1 Cấu trúc đĩa 135 14.2 Lập lịch cho đĩa 137 14.3 Quản lý đĩa 139 14.4 Cấu trúc RAID 140 14.5 Bài tập 140 BẢO VỆ VÀ BẢO MẬT 141 15 Bảo vệ 141 15.1 Mục tiêu bảo vệ 141 15.2 Vùng bảo vệ 141 15.3 Mã trận quyền truy nhập 142 15.4 Tước quyền truy nhập 142 15.5 Bài tập 142 16 Bảo mật 143 16.1 Vấn đề bảo mật 143 16.2 Xác nhận người dùng 143 16.4 Các luồng hệ thống 144 16.5 Bảo mật hệ thống 144 16.6 Bài tập 144 17 Giới thiệu số hệ thống 144 17.1 Hệ thống Linux 144 17.2 Windows 2000 145 Phạm Ngọc Hưng ... 23 Giới thiệu hệ điều hành Cấu trúc hệ điều hành Hệ điều hành cung cấp môi trường cho chương trình ứng dụng hoạt động Thiết kế hệ điều hành nhiệm vụ lớn, đòi hỏi mục tiêu hệ điều hành cần phải... chỉnh hệ điều hành mà định nghĩa hệ điều hành cách tương đối theo quan điểm khác Lý tồn hệ điều hành cách để giải vấn đề phát sinh để hệ thống máy tính trở nên hữu dụng Mục tiêu hệ điều hành thực... trình điều hành hệ thống Khi người lập trình điều hành máy tính từ bàn điều khiển (console), họ phải hoàn thành tất điều khiển thông qua hệ thống Khi hệ điều hành phát triển, chúng thay người điều

Ngày đăng: 24/10/2017, 15:50

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