Hệ điều hành windows sử dụng phương pháp cấp phát bộ nhớ nào?

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CÔNG NGHỆ THÔNG TINBài tập lớn:MÔN HỆ ĐIỀU HÀNHĐỀ TÀI: PHÂN TÍCH BỘ NHỚ NGOÀI CỦA HỆ DIỀU HÀNH WINDOWSNhóm sinh viên thực hiện: Nhóm 51. Phạm Tiến Dũng2. Trịnh Khương Duy3. Sái Vĩnh Hanh4. Trần Đức Giang5. Tạ Thế DũngLớp: ĐH KỸ THUẬT PHẦN MỀM 1 - K81Học Kỳ I Năm Học Thứ 22012-2013LỜI NÓI ĐẦU :Mục tiêu chính của hệ thống máy tính là thi hành chương trình. Những chương trình với dữ liệu truy xuất phải đặt trong bộ nhớ chính trong suốt quá trình thi hành nhưng bộ nhớ chính quá nhỏ bé để có thể lưu trữ mọi dữ liệu và chương trình , ngoài ra dữ liệu sẽ bị mất khi không còn cung cấp năng lượng do đó hệ thống máy tính ngày nay cung cấp hệ thống lưu trữ phụ [bộ nhớ ngoài] .Đa số các máy tính đều sử dụng các ổ đĩa để lưu trữ cả chương trình và dữ liệu vì vậy một bộ quản lý hệ thống đĩa rất quan trọng cho hệ thống máy tính .Vai trò của hệ điều hành trong việc quản lý đĩa : Quản lý vùng trống trên đĩa  Định vị việc lưu trữ dữ liệu trên đĩa  Lập lịch cho đĩaVì hệ thống đĩa được sử dụng thường xuyên nên nó phải được sử dụng hiệu quả . Tốc độ của toàn bộ hệ thống phụ thuộc rất nhiều vào tốc độ truy xuất đĩa .Để hiểu được rõ hơn viêc quả lý bộ nhớ của hệ điều hành , chúng ta hãy cùng phân tích việc quản lý bộ nhớ ngoài của hệ điều hành windows.2MỤC LỤCLỜI NÓI ĐẦU : 2MỤC LỤC 3A –HỆ THỐNG QUẢN LÝ TẬP TIN 5I.CÁC KHÁI NIỆM CƠ BẢN 5a.Tập tin và thư mục 5b.Hệ thống quản lý tập tin 5 II. MÔ HÌNH TỔ CHỨC VÀ QUẢN LÝ CÁC TẬP TIN 61.Tên tập tin : 62.Cấu trúc của tập tin : 63.Kiểu tập tin : 64.Thuộc tính tập tin : 7III.Thư mục : 91.Hệ thống thư mục theo cấp bậc 92.Đường dẫn 10 B-CÁC PHƯƠNG PHÁP CÀI ĐẶT HỆ THỐNG QUẢN LÝ TẬP TIN 10I.BẢNG QUẢN LÝ THƯ MỤC, TẬP TIN 111.Khái niệm 112.Cài đặt 11IV.QUẢN LÝ ĐĨA 11a.Kích thước khối 11b.Lưu giữa các khối trống 12c.Cấu hình đĩa lưu trữ 12V ĐỘ AN TOÀN CỦA HỆ THỐNG TẬP TIN 151.Quản lý khối bị hỏng 152.Backup 153.Tính không đổi của hệ thống tập tin 16VI.PHẦN CỨNG NHẬP/XUẤT 171.Thiết bị I/O 172.Tổ chức của chức năng I/O 173.Bộ điều khiển thiết bị 1834.DMA [Direct Memory Access] 19VII.PHẦN MỀM NHẬP/XUẤT 201.Kiểm soát ngắt 202.Điều khiển thiết bị [device drivers] 203.Phần mềm nhập/xuất độc lập thiết bị 214.Phần mềm nhập/xuất phạm vi người sử dụng 22C-QUẢN LÝ HỆ THỐNG NHẬP XUẤT 23I.Quản lý hệ thống tập tin : 23II.Hệ thống bảo vệ : 24D- GIỚI THIỆU MỘT SỐ HỆ THỐNG I/O 24I. HỆ THỐNG I/O ĐĨA 241.Phần cứng đĩa 242.Các thuật toán đọc đĩa 243.Quản lý lỗi 284.RAM Disks 295.Interleave 30 304Quản lý bộ nhớ ngoài của hệ điều hành windowsA –HỆ THỐNG QUẢN LÝ TẬP TINI. CÁC KHÁI NIỆM CƠ BẢNMáy tính phải sử dụng thiết bị có khả năng lưu trữ trong thời gian dài [long-term] vì :Phải chứa những lượng thông tin rất lớn [giữ vé máy bay, ngân hàng ]Thông tin phải được lưu giữ một thời gian dài trước khi xử lý Nhiều tiến trình có thể truy cập thông tin cùng lúc.Giải pháp là sử dụng các thiết bị lưu trữ bên ngoài gọi là bộ nhớ ngoàia. Tập tin và thư mục• Tập tinTập tin là đơn vị lưu trữ thông tin của bộ nhớ ngoài. Các tiến trình có thể đọc hay tạo mới tập tin nếu cần thiết. Thông tin trên tập tin là vững bền không bị ảnh hưởng bởi các xử lý tạo hay kết thúc các tiến trình, chỉ mất đi khi user thật sự muốn xóa. Tập tin được quản lý bởi hệ điều hành.• Thư mục: Để lưu trữ dãy các tập tin, hệ thống quản lý tập tin cung cấp thư mục, mà trong nhiều hệ thống có thể coi như là tập tin.b. Hệ thống quản lý tập tinCác tập tin được quản lý bởi hệ điều hành với cơ chế gọi là hệ thống quản lý tập tin. Bao gồm : cách hiển thị, các yếu tố cấu thành tập tin, cách đặt tên, cách truy xuất, cách sử dụng và bảo vệ tập tin, các thao tác trên tập tin. Cách tổ chức thư mục, các đặc tính và các thao tác trên thư mục.5 II. MÔ HÌNH TỔ CHỨC VÀ QUẢN LÝ CÁC TẬP TIN1. Tên tập tin :Tập tin là một cơ chế trừu tượng và để quản lý mỗi đối tượng phải có một tên. Khi tiến trình tạo một tập tin, nó sẽ đặt một tên, khi tiến trình kết thúc tập tin vẫn tồn tại và có thể được truy xuất bởi các tiến trình khác với tên tập tin đó.Cách đặt tên tập tin của mỗi hệ điều hành là khác nhau, đa số các hệ điều hành cho phép sử dụng 8 chữ cái để đặt tên tập tin như ctdl, caycb, tamhghau v.v…, thường thường thì các ký tự số và ký tự đặc biệt cũng được sử dụng như baitap2…,Hệ thống tập tin có thể có hay không phân biệt chữ thường và chữ hoa. Nhiều hệ thống tập tin hỗ trợ tên tập tin gồm 2 phần được phân cách bởi dấu ‘.’ mà phần sau được gọi là phần mở rộng. Ví dụ : vidu.txt. Trên thực tế phần mở rộng có hữu ích trong một số trường hợp, ví dụ như có những trình dịch C chỉ nhận biết các tập tin có phần mở rộng là .C2. Cấu trúc của tập tin :Gồm 3 loại :Dãy tuần tự các byte không cấu trúc : hệ điều hành không biết nội dung của tập tin:MS-DOS và UNIX sử dụng loại này.Dãy các record có chiều dài cố định.Cấu trúc cây : gồm cây của những record, không cần thiết có cùng độ dài, mỗi record có một trường khóa giúp cho việc tìm kiếm nhanh hơn.3. Kiểu tập tin :Nếu hệ điều hành nhận biết được loại tập tin, nó có thể thao tác một cách hợp lý trên tập tin đó. Các hệ điều hành hỗ trợ cho nhiều loại tập tin khác nhau bao gồm các kiểu như : tập tin thường, thư mục, tập tin có ký tự đặc biệt, tập tin khối.Tập tin thường : là tập tin text hay tập tin nhị phân chứa thông tin của người sử dụng.Thư mục : là những tập tin hệ thống dùng để lưu giữ cấu trúc của hệ thống tập tin.Tập tin có ký tự đặc biệt : liên quan đến nhập xuất thông qua các thiết bị nhập xuất tuần tự như màn hình, máy in, mạng.Tập tin khối : dùng để truy xuất trên thiết bị đĩa.Tập tin thường được chia làm hai loại là tập tin văn bản và tập tin nhị phân.Tập tin văn bản chứa các dòng văn bản cuối dòng có ký hiệu enter. Mỗi dòng có độ dài có thể khác nhau. Ưu điểm của kiểu tập tin này là nó có thể hiển thị, in hay soạn thảo với một editor thông thường.Đa số các chương trình dùng tập tin văn bản để nhập xuất, nó cũng dễ dàng làm đầu vào và đầu ra cho cơ chế pipeline.Tập tin nhị phân :có cấu trúc khác tập tin văn bản. Mặc dù về mặt kỹ thuật , tập tin nhị phân gồm dãy các byte , nhưng hệ điều hành chỉ thực thi tập tin đó nếu nó có cấu trúc đúngTruy xuất tập tin :Tập tin lưu trữ các thông tin. Khi tập tin được sử dụng, các thông tin này được đưa vào bộ nhớ của máy tính. Có nhiều cách để truy xuất chúng. Một số hệ thống cung cấp chỉ 6một phương pháp truy xuất, một số hệ thống khác, như IBM chẳng hạn cho phép nhiều cách truy xuất.Kiểu truy xuất tập tin đơn giản nhất là truy xuất tuần tự . Tiến trình đọc tất cả các byte trong tập tin theo thứ tự từ đầu. Các trình soạn thảo hay trình biên dịch cũng truy xuất tập tin theo cách này. Hai thao tác chủ yếu trên tập tin là đọc và ghi. Thao tác đọc sẽ đọc một mẫu tin tiếp theo trên tập tin và tự động tăng con trỏ tập tin. Thao tác ghi cũng tương tự như vậy. Tập tin có thể tự khởi động lại từ vị trí đầu tiên và trong một số hệ thống tập tin cho phép di chuyển con trỏ tập tin đi tới hoặc đi lui n mẫu tin.Truy xuất kiểu này thuận lợi cho các loại băng từ và cũng là cách truy xuất khá thông dụng. Truy xuất tuần tự cần thiết cho nhiều ứng dụng. Có hai cách truy xuất. Cách truy xuất thứ nhất thao tác đọc bắt đầu ở vị trí đầu tập tin, cách thứ hai có một thao tác đặc biệt gọi là SEEK cung cấp vị trí hiện thời làm vị trí bắt đầu. Sau đó tập tin được đọc tuần tựtừ vị trí bắt đầu.Một kiểu truy xuất khác là truy xuất trực tiếp. Một tập tin có cấu trúc là các mẫu tin logic có kích thước bằng nhau, nó cho phép chương trình đọc hoặc ghi nhanh chóng mà không cần theo thứ tự. Kiểu truy xuất này dựa trên mô hình của đĩa. Đĩa cho phép truy xuất ngẫu nhiên bất kỳ khối dữ liệu nào của tập tin. Truy xuất trực tiếp được sử dụng trong trường hợp phải truy xuất một khối lượng thông tin lớn như trong cơ sở dữ liệu chẳng hạn. Ngoài ra còn có một số cách truy xuất khác dự trên kiểu truy xuất này như truy xuất theo chỉ mục 4. Thuộc tính tập tin :Ngoài tên và dữ liệu, hệ điều hành cung cấp thêm một số thông tin cho tập tin gọi là thuộc tính. Các thuộc tính thông dụng trong một số hệ thống tập tin : Tên thuộc tính Ý nghĩaBảo vệ Ai có thể truy xuất được và bằng cách nàoMật khẩu Mật khẩu cần thiết để truy xuất tập tinNgười tạo Id của người tạo tập tinNgười sở hữu Người sở hữu hiện tại7Chỉ đọc 0 là đọc ghi, 1 là chỉ đọcAn 0 là bình thường, 1 là không hiển thị khi liệt kêHệ thống 0 là bình thường, 1 là tập tin hệ thốngLưu trữ 0 đã đuợc backup, 1 cần backupASCII/binary 0 là tập tin văn bản, 1 là tập tin nhị phânTruy xuất ngẫu nhiên0 truy xuất tuần tự, 1 là truy xuất ngẫu nhiênTemp 0 là bình thường, 1 là bị xóa khi tiến trình kết thúcKhóa 0 là không khóa, khác 0 là khóaĐộ dài của recordSố byte trong một recordVị trí khóa Offset của khóa trong mỗi recordGiờ tạo Ngày và giờ tạo tập tinThời gian truy cập cuối cùngNgày và giờ truy xuất tập tin gần nhấtThời gian thay đổi cuối cùngNgày và giờ thay đổi tập tin gần nhấtKích thước hiện thờiSố byte của tập tinKích thước tối đa.Số byte tối đa của tập tinHình 8.3 Một số thuộc tính thông dụng của tập tin8III. Thư mục : 1. Hệ thống thư mục theo cấp bậcMột thư mục thường thường chứa một số entry, mỗi entry cho một tập tin. Mỗi entry chứa tên tập tin, thuộc tính và địa chỉ trên đĩa lưu dữ liệu hoặc một entry chỉ chứa tên tập tin và một con trỏ, trỏ tới một cấu trúc, trên đó có thuộc tính và vị trí lưu trữ của tập tin.Khi một tập tin được mở, hệ điều hành tìm trên thư mục của nó cho tới khi tìm thấy tên của tập tin được mở. Sau đó nó sẽ xác định thuộc tính cũng như địa chỉ lưu trữ trên đĩa và đưa vào một bảng trong bộ nhớ. Những truy xuất sau đó thực hiện trong bộ nhớ chính.Số lượng thư mục trên mỗi hệ thống là khác nhau. Thiết kế đơn giản nhất là hệ thống chỉ có thư mục đơn[còn gọi là thư mục một cấp], chứa tất cả các tập tin của tất cả người dùng, cách này dễ tổ chức và khai thác nhưng cũng dễ gây ra khó khăn khi có nhiều người sử dụng vì sẽ có nhiều tập tin trùng tên. Ngay cả trong trường hợp chỉ có một người sử dụng, nếu có nhiều tập tin thì việc đặt tên cho một tập tin mới không trùng lắp là một vấn đề khó. Cách thứ hai là có một thư mục gốc và trong đó có nhiều thư mục con, trong mỗi thư mục con chứa tập tin của người sử dụng [còn gọi là thư mục hai cấp], cách này tránh được trường hợp xung đột tên nhưng cũng còn khó khăn với người dùng có nhiều tập tin. Người sử dụng luôn muốn nhóm các ứng dụng lại một cách logic. Từ đó, hệ thống thư mục theo cấp bậc [còn gọi là cây thư mục] được hình thành với mô hình một thư mục có thể chứa tập tin hoặc một thư mục con và cứ tiếp tục như vậy hình thành cây thư mục như trong các hệ điều hành DOS, Windows, v. v 92. Đường dẫnKhi một hệ thống tập tin được tổ chức thành một cây thư mục, có hai cách để xác định một tên tập tin. Cách thứ nhất là đường dẫn tuyệt đối, mỗi tập tin được gán một đường dẫn từ thư mục gốc đến tập tin. Ví dụ : /usr/ast/mailbox.Dạng thứ hai là đường dẫn tương đối, dạng này có liên quan đến một khái niệm là thư mục hiện hành hay thư mục làm việc. Người sử dụng có thể quy định một thư mục là thư mục hiện hành. Khi đó đường dẫn không bắt đầu từ thư mục gốc mà liên quan đến thư mục hiện hành. Ví dụ, nếu thư mục hiện hành là /usr/ast thì tập tin với đường dẫn tuyệt đối /usr/ast/mailbox có thể được dùng đơn giản là mailbox.Trong phần lớn hệ thống, mỗi tiến trình có một thư mục hiện hành riêng, khi một tiến trình thay đổi thư mục làm việc và kết thúc, không có sự thay đổi để lại trên hệ thống tập tin. Nhưng nếu một hàm thư viện thay đổi đường dẫn và sau đó không đổi lại thì sẽ có ảnh hưởng đến tiến trình.Hầu hết các hệ điều hành đều hỗ trợ hệ thống thư mục theo cấp bậc với hai entry đặc biệt cho mỗi thư mục là "." và " ". "." chỉ thư mục hiện hành, " " chỉ thư mục cha. B-CÁC PHƯƠNG PHÁP CÀI ĐẶT HỆ THỐNG QUẢN LÝ TẬP TINHệ thống tập tin được cài đặt trên đĩa. Để gia tăng hiệu quả trong việc truy xuất, mỗi đơn vị dữ liệu được truy xuất gọi là một khối. Một khối dữ liệu bao gồm một hoặc nhiều sector. Bộ phận tổ chức tập tin quản lý việc lưu trữ tập tin trên những khối vật lý bằng cách sử dụng các bảng có cấu trúc.10I.BẢNG QUẢN LÝ THƯ MỤC, TẬP TIN1. Khái niệmTrước khi tập tin được đọc, tập tin phải được mở, để mở tập tin hệ thống phải biết đường dẫn do người sử dụng cung cấp và được định vị trong cấu trúc đầu vào thư mục [directory entry]. Directory entry cung cấp các thông tin cần thiết để tìm kiếm các khối. Tuỳ thuộc vào mỗi hệ thống, thông tin là địa chỉ trên đĩa của toàn bộ tập tin, số hiệu của khối đầu tiên, hoặc là số I-node.2. Cài đặtBảng này thường được cài đặt ở phần đầu của đĩa. Bảng là dãy các phần tử có kích thước xác định, mỗi phần tử được gọi là một entry. Mỗi entry sẽ lưu thông tin về tên , thuộc tính, vị trí lưu trữ của một tập tin hay thư mục.Ví dụ quản lý thư mục trong CP/M : IV. QUẢN LÝ ĐĨATập tin được lưu trữ trên đĩa, do đó việc quản trị đĩa là hết sức quan trọng trong việc cài đặt hệ thống tập tin. Có hai phương pháp lưu trữ : một là chứa tuần tự trên n byte liên tiếp, hai là tập tin được chia làm thành từng khối. Cách thứ nhất không hiệu quả khi truy xuất nhữngtập tin có kích thước lớn, do đó hầu hết các hệ thống tập tin đều dùng khối có kích thước cố định.a. Kích thước khốiMột vấn đề đặt ra là kích thước khối phải bằng bao nhiêu. Điều này phụ thuộc vào tổ chức của đĩa như số sector, số track, số cylinder. Nếu dùng một cylinder cho một khối cho một tập tin thì theo tính toán sẽ lãng phí đến 97% dung lượng đĩa. Nên thông thường mỗi tập tin thường được lưu trên một số khối. Ví dụ một đĩa có 32768 byte trên một track, thời gian quay là 16.67 msec, thời gian tìm kiếm trung 11bình là 30 msec thì thời gian tính bằng msec để đọc một khối kích thước k byte là :30 + 8.3 + [k/32768] x 16.67Từ đó thống kê được kích thước khối thích hợp phải < 2K . Thông thường kích thưóc khối là 512, 1K hay 2K.b. Lưu giữa các khối trốngCó hai phương pháp. Một là sử dụng danh sách liên kết của khối đĩa. Mỗi khối chứa một số các địa chỉ các khối trống. Ví dụ một khối có kích thước 1 K có thể lưu trữ được 511 địa chỉ 16 bit. Một đĩa 20M cần khoảng 40 khối. Hai là, sử dụng bitmap. Một đĩa n khối sẽ được ánh xạ thành n bit với giá trị 1 là còn trống, giá trị 0 là đã lưu dữ liệu. Như vậy một đĩa 20M cần 20K bit để lưu trữ nghĩa là chỉ có khoảng 3 khối. Phương pháp thứ hai này thường được sử dụng hơn. c. Cấu hình đĩa lưu trữWindows hỗ trợ 2 loại đĩa lưu trữ: Basic và dynamic Basic disk Basic dickChứa tối đa 4 partition. Có thể chứa 3 paratition primary và 1 paratition extended rong paratition extended có thể chứa nhiều paration logycal12Dynamic disk• Đĩa lưu trữ Dynamic được chia thành các Dynamic volume. Dynamic có những đặc tính mà basic disk không có. Đó là khả năng tạo 1 Dynamic volume trên nhiều đĩa vật lý và khả năng dung lỗi,…• Hỗ trợ 5 loại Danymic: volume simple ,volume spanned, volume striped, volume memored và volume RAID-5 VOLUME SIMPLE• Chứa không gian lấy từ 1 Dynamic disk duy nhất• Không gian của Volume simple có thể liên tục hoặc không liên tục trên cùng 1 đĩa vật lý VOLUME SPANNED• Được tạo ra từ ít nhất 2 đĩa Dynamic [tối đa là 32]• Sử dung Volume spanned kgi muốn tăng kích thước cùa volume• Dữ liệu dược lưu trữ tuần tự• Không tăng hiệu năng không dung lỗi VOLUME STRIPED[RAID-0]• Được tạo ra từ ít nhất 2 đĩa Dynamic[tối đa là 32]• Dữ liệu được lưu trữ tuần tự trên từng dãy đĩa[striped] nên tăng hiệu năng hoạt động• Sử dụng volume striped khi muốn tăng dung lượng và hiệu suất hoạt động. VOLUME MIRRORED[RAID-1]• Dùng 2 Dynamic disk:1 chính và 1 phụ• Dữ liệu ghi trên đĩa chính cũng được ghi trên đĩa phụ[bản sao]• Volume mirrored có khả năng dung lỗi tốt• Dữ liệu ghi trên đĩa phụ nên làm giảm hiệu suất hoạt động VOLUME RAID-5• Sử dụng ít nhất 3 dynamic disk[tối đa là 32]• Sử dụng thêm 1 dãy striped để ghi thông tin• Parity dùng để phục hồi dữ liệu bị hỏng• RAID-5 tăng khả năng dung lỗi và tăng hiệu suất hoạt độngSỬ DỤNG CHƯƠNG TRÌNH DISK MANGAMENT [COMPUTER MANGAMENT]• Công cụ quản lý đĩa disk mangament dùng dùng để xem thuộc tín của đĩa• Số thứ tự của đĩa vật lý• Loại đĩa[basic,dynamic,CD-ROM,…]• Trạng thái của đĩa[online hoặc offline]13• Dung lượng đĩa• Loại thiết bị phần cứng• Nhà sản xuất thiết bị ,tên cùa adapter• Danh sách các volume đã tạo trên đĩa• Xem thuộc tính của colume hoặc đĩa cục bộ:tab general,tab tools,hardware,tab sharing…Quản lý nén đĩa Windows server 2003 hỗ trợ cơ chế nén đĩa tự động và trong suốt Chỉ có thể sử dung trên paratition NTFSCác thao tác thực hiên nén đĩaThiết lập hạn ngạch đĩa[Disk quota] Disk quota dùng để chỉ định dung lượng không gian lưu trữ tối đa của người dùng Chỉ có thể áp dụng trên paration NTFS Lượng không gian chiếm dụng được tính theo tập tin và thư mục. do người dùng sở hữu và tính toán. Không gian trống được tính toán dựa vào hạn ngạch của người dùng Cấu hình hạn ngạch14V. . ĐỘ AN TOÀN CỦA HỆ THỐNG TẬP TINMột hệ thống tập tin bị hỏng còn nguy hiểm hơn máy tính bị hỏng vì những hư hỏng trên thiết bị sẽ ít chi phí hơn là hệ thống tập tin vì nó ảnh hưởng đến các phần mềm trên đó. Hơn nữa hệ thống tập tin không thể chống lại được như hư hòng do phần cứng gây ra, vì vậy chúng phải cài đặt một số chức năng để bảo vệ.1. Quản lý khối bị hỏngĐĩa thường có những khối bị hỏng trong quá trình sử dụng đặc biệt đối với đĩa cứng vì khó kiểm tra được hết tất cả. Có hai giải pháp : phần mềm và phần cứng.Phần cứng là dùng một sector trên đĩa để lưu giữ danh sách các khối bị hỏng. Khi bộ kiểm soát tực hiện lần đầu tiên, nó đọc những khối bị hỏng và dùng một khối thừa để lưu giữ. Từ đó không cho truy cập những khối hỏng nữa. Phần mềm là hệ thống tập tin xây dựng một tập tin chứa các khối hỏng. Kỹ thuật này loại trừ chúng ra khỏi danh sách các khối trống, do đó nó sẽ không được cấp phát cho tập tin.2. BackupMặc dù có các chiến lưọc quản lý các khối hỏng, nhưng một công việc hết sức quan trọng là phải backup tập tin thường xuyên.Tập tin trên đĩa mềm được backup bằng cách chép lại toàn bộ qua một đĩa khác. Dữ liệu trên đĩa cứng nhỏ thì được backup trên các băng từ. Đối với các đĩa cứng lớn, việc backup thường được tiến hành ngay trên nó. Một chiến lược dể cài đặt nhưng lãng phí một nữa đĩa là chia đĩa cứng làm hai phần một phần dữ liệu và một phần là backup. Mỗi tối, dữ liệu từ phần dữ liệu sẽ được chép sang phần backup.153. Tính không đổi của hệ thống tập tinMột vấn đề nữa về độ an toàn là tính không đổi. Khi truy xuất một tập tin, trong quá trình thực hiện, nếu có xảy ra những sự cố làm hệ thống ngừng hoạt động đột ngột, lúc đó hàng loạt thông tin chưa được cập nhật lên đĩa. Vì vậy mỗi lân khởi động ,hệ thống sẽ thực hiện việc kiểm tra trên hai phần khối và tập tin. Việc kiểm tra thực hiện , khi phát hiện ra lỗi sẽ tiến hành sữa chữa cho các trường hợp cụ thể:Hình 9.8 Trạng thái của hệ thống tập tin16VI. PHẦN CỨNG NHẬP/XUẤTHình ảnh về một số loại ổ cứng1. Thiết bị I/OCác thiết bị nhập xuầt có thể chia tương đối thành hai loại là thiết bị khối và thiết bị tuần tự. Thiết bị khối là thiết bị mà thông tin được lưu trữ trong những khối có kích thước cố định và được định vị bởi địa chỉ. Kích thước thông thường của một khối là khoảng từ 128 bytes đến 1024 bytes. Đặc điểm của thiết bị khối là chúng có thể được truy xuất [đọc hoặc ghi] từng khối riêng biệt, và chương trình có thể truy xuất một khối bất kỳ nào đó. Đĩa là một ví dụ cho loại thiết bị khối. Một dạng thiết bị thứ hai là thiết bị tuần tự. Ở dạng thiết bị này, việc gửi và nhận thông tin dựa trên là chuỗi các bits, không có xác định địa chỉ và không thể thực hiện thao tác seek được. Màn hình, bàn phím, máy in, card mạng, chuột, và các loại thiết bị khác không phải dạng đĩa là thiết bị tuần tự.Việc phân chia các lớp như trên không hoàn toàn tối ưu, một số các thiết bị không phù hợp với hai lớp trên, ví dụ : đồng hồ, bộ nhớ màn hình v.v không thực hiện theo cơ chế tuần tự các bits. Ngoài ra, người ta còn phân loại các thiết bị I/O dưới một tiêu chuẩn khác : Thiết bị tương tác được với con người : dùng để giao tiếp giữa người và máy. Ví dụ : màn hình, bàn phím, chuột, máy in Thiết bị tương tác trong hệ thống máy tính là các thiết bị giao tiếp với nhau. Ví dụ : đĩa, băng từ, card giao tiếp Thiết bị truyền thồng : như modem Những điểm khác nhau giữa các thiết bị I/O gồm : Tốc độ truyền dữ liệu , ví dụ bàn phím : 0.01 KB/s, chuột 0.02 KB/s Công dụng. Đơn vị truyền dữ liệu [khối hoặc ký tự]. Biểu diễn dữ liệu, điều này tùy thuộc vào từng thiết bị cụ thể. Tình trạng lỗi : nguyên nhân gây ra lỗi, cách mà chúng báo về 2. Tổ chức của chức năng I/OCó ba cách để thực hiện I/O :17• Một là, bộ xử lý phát sinh một lệnh I/O đến các đơn vị I/O, sau đó, nó chờ trong trạng thái "busy" cho đến khi thao tác này hoàn tất trước khi tiếp tục xử lý.• Hai là, bộ xử lý phát sinh một lệnh I/O đến các đơn vị I/O, sau đó, nó tiếp tục việc xử lý cho tới khi nhận được một ngắt từ đơn vị I/O báo là đã hoàn tất, nó tạm ngưng việc xử lý hiện tại để chuyển qua xử lý ngắt.• Ba là, sử dụng cơ chế DMA [như được đề cập ở sau]• Các bước tiến hóa của chức năng I/O :• Bộ xử lý kiểm soát trực tiếp các thiết bị ngoại vi.• Hệ thống có thêm bộ điều khiển thiết bị. Bộ xử lý sử dụng cách thực hiện nhập xuất thứ nhất. Theo cách này bộ xử lý được tách rời khỏi các mô tả chi tiết của các thiết bị ngoại vi.• Bộ xử lý sử dụng thêm cơ chế ngắt.• Sử dụng cơ chế DMA, bộ xử lý truy xuất những dữ liệu I/O trực tiếp trong bộ nhớ chính.3. Bộ điều khiển thiết bịMột đơn vị bị nhập xuất thường được chia làm hai thành phần chính là thành phần cơ và thành phần điện tử. Thành phần điện tử được gọi là bộ phận điều khiển thiết bị hay bộ tương thích, trong các máy vi tính thường được gọi là card giao tiếp. Thành phần cơ chính là bản thân thiết bị.Một bộ phận điều khiển thường có bộ phận kết nối trên chúng để có thể gắn thiết bị lên đó. Một bộ phận điều khiển có thể quản lý được hai, bốn hay thậm chí tám thiết bị khác nhau. Nếu giao tiếp giữa thiết bị và bộ phận điều khiển là các chuẩn như ANSI, IEEE hay ISO thì nhà sản xuất thiết bị và bộ điều khiển phải tuân theo chuẩn đó, ví dụ : bộ điều khiển đĩa được theo chuẩn giao tiếp của IBM. Giao tiếp giữa bộ điều khiển và thiết bị là giao tiếp ở mức thấp.Chức năng của bộ điều khiển là giao tiếp với hệ điều hành vì hệ điều hành không thể truy xuất trực tiếp với thiết bị. Việc thông tin thông qua hệ thống đường truyền gọi là bus. Công việc của bộ điều khiển là chuyển đổi dãy các bit tuần tự trong một khối các byte và thực hiện sửa chửa nếu cần thiết. Thông thường khối các byte được tổ chức thành từng bit và đặt trong buffer của bộ điều khiển. Sau khi thực hiện checksum nội dung của 18buffer sẽ được chuyển vào bộ nhớ chính. Ví dụ : bộ điều khiển cho màn hình đọc các byte của ký tự để hiển thị trong bộ nhớ và tổ chức các tín hiệu để điều khiển các tia của CRT để xuất trên màn ảnh bằng cách quét các tia dọc và ngang. Nếu không có bộ điều khiển, lập trình viên hệ điều hành phải tạo thêm chương trình điều khiển tín hiệu analog cho đèn hình. Với bộ điều khiển , hệ điều hành chỉ cần khởi động chúng với một số tham số như số ký tự trên một dòng, số dòng trên màn hình và bộ điều khiển sẽ thực hiện điều khiển các tia.Mỗi bộ điều khiển có một số thanh ghi để liên lạc với CPU. Trên một số máy tính, các thanh ghi này là một phần của bộ nhớ chính tại một địa chỉ xác định gọi là ánh xạ bộ nhớ nhập xuất. Hệ máy PC dành ra một vùng địa chỉ đặc biệt gọi là địa chỉ nhập xuất và trong đó được chia làm nhiều đoạn, mỗi đoạn cho một loại thiết bị như sau :Bộ điều khiển nhập/xuấtĐịa chỉ nhập/xuất Vectơ ngắtĐồng hồ 040 - 043 8Bàn phím 060 - 063 9RS232 phụ 2F8 - 2FF 11Đĩa cứng 320 - 32F 13Máy in 378 - 37F 15Màn hình mono 380 - 3BF -Màn hình màu 3D0 - 3DF -Đĩa mềm 3F0 - 3F7 14RS232 chính 3F8 - 3FF 12Hệ điều hành thực hiện nhập xuất bằng cách ghi lệnh lên các thanh ghi của bộ điều khiển. Ví dụ : bộ điều khiển đĩa mềm của IBMPC chấp nhận 15 lệnh khác nhau như: READ, WRITE, SEEK, FORMAT, RECALIBRATE, một số lệnh có tham số và các tham số cũng được nạp vào thanh ghi. Khi một lệnh đã được chấp nhận, CPU sẽ rời bộ điều khiển để thực hiện công việc khác. Sau khi thực hiện xong, bộ điều khiển phát sinh một ngắt để báo hiệu cho CPU biết và đến lấy kết quả được lưu giữ trong các thanh ghi. 4. DMA [Direct Memory Access] Cơ chế DMA giúp cho CPU không bị lãng phí thời gian. Khi sử dụng, CPU gửi cho bộ điều khiển một số các thông số như địa chỉ trên đĩa của khối, địa chỉ trong bộ nhớ nơi định vị khối, số lượng byte dữ liệu để chuyển.19 Sau khi bộ điều khiển đã đọc toàn bộ dữ liệu từ thiết bị vào buffer của nó và kiểm tra checksum. Bộ điều khiển chuyển byte đầu tiên vào bộ nhớ chính tại địa chỉ được mô tả bởi địa chỉ bộ nhớ DMA. Sau đó nó tăng địa chỉ DMA và giảm số bytes phải chuyển. Quá trình này lập cho tới khi số bytes phải chuyển bằng 0, và bộ điều khiển tạo một ngắt. Như vậy không cần phải copy khối vào trong bộ nhớ, nó đã hiện hữu trong bộ nhớ. VII. PHẦN MỀM NHẬP/XUẤT Mục tiêu chung của thiết bị logic là dể biểu diễn. Thiết bị logic được tổ chức thành nhiều lớp. Lớp dưới cùng giao tiếp với phần cứng, lớp trên cùng giao tiếp tốt, thân thiện với người sử dụng. Khái niệm then chốt của thiết bị logic là độc lập thiết bị, ví dụ : có thể viết chương trình truy xuất file trên đĩa mềm hay đĩa cứng mà không cần phải mô tả lại chương trình cho từng loại thiết bị. Ngoài ra, thiết bị logic phải có khả năng kiểm soát lỗi. Thiết bị logic được tổ chức thành bốn lớp : Kiểm soát lỗi, điều khiển thiết bị, phần mềm hệ điều hành độc lập thiết bị, phần mềm mức người sử dụng. 1. Kiểm soát ngắtNgắt là một hiện tượng phức tạp. Nó phải cần được che dấu sâu trong hệ điều hành, và một phần ít của hệ thống biết về chúng. Cách tốt nhất để che dấu chúng là hệ điều hành có mọi tiến trình thực hiện thao tác nhập xuất cho tới khi hoàn tất mới tạo ra một ngắt. Tiến trình có thể tự khóa lại bằng cách thực hiện lệnh WAIT theo một biến điều kiện hoặc RECEIVE theo một thông điệp.Khi một ngắt xảy ra, hàm xử lý ngắt khởi tạo một tiến trình mới để xử lý ngắt. Nó sẽ thực hiện một tín hiệu trên biến điều kiện và gửi những thông điệp đến cho các tiến trình bị khóa. Tổng quát, chức năng của ngắt là làm cho một tiến trình đang bị khóa được thi hành trở lại.2. Điều khiển thiết bị [device drivers]Tất cả các đoạn mã độc lập thiết bị đều được chuyển đến device drivers. Mỗi device drivers kiểm soát mỗi loại thiết bị, nhưng cũng có khi là một tập hợp các thiết bị liên quan mật thiết với nhau.Device drivers phát ra các chỉ thị và kiểm tra xem chỉ thị đó có được thực hiện chính xác không. Ví dụ, driver của đĩa là phần duy nhất của hệ điều hành kiểm soát bộ điều khiển 20đĩa. Nó quản lý sectors, tracks, cylinders, head, chuyển động, interleave, và các thành phần khác giúp cho các thao tác đĩa được thực hiện tốt. Chức năng của device drivers là nhận những yêu cầu trừu tượng từ phần mềm nhập/xuất độc lập thiết bị ở lớp trên, và giám sát yêu cầu này thực hiện. Nếu driver đang rảnh, nó sẽ thực hiện ngay yêu cầu, ngược lại, yêu cầu đó sẽ được đưa vào hàng đợi. Ví dụ, bước đầu tiên của yêu cầu nhập/xuất đĩa là chuyển từ trừu tượng thành cụ thể. Driver của đĩa phải biết khối nào cần đọc, kiểm tra sự hoạt động của motor đĩa, xác định vị trí của đầu đọc đã đúng chưa v.v…Nghĩa là device drivers phải xác định được những thao tác nào của bộ điều khiển phải thi hành và theo trình tự nào. Một khi đã xác định được chỉ thị cho bộ điều khiển, nó bắt đầu thực hiện bằng cách chuyển lệnh vào thanh ghi của bộ điều khiển thiết bị. Bộ điều khiển có thể nhận một hay nhiều chỉ thị liên tiếp và sau đó tự nó thực hiện không cần sự trợ giúp của hệ điều hành. Trong khi lệnh thực hiện. Có hai trường hợp xảy ra : Một là device drivers phải chờ cho tới khi bộ điều khiển thực hiện xong bằng cách tự khóa lại cho tới khi một ngắt phát sinh mở khóa cho nó. Hai là, hệ điều hành chấm dứt mà không chờ, vì vậy driver không cần thiết phải khóa.Sau khi hệ điều hành hoàn tất việc kiểm tra lỗi và nếu mọi thứ đều ổn driver sẽ chuyển dữ liệu cho phần mềm độc lập thiết bị. Cuối cùng nó sẽ trả về thông tin về trạng thái hay lỗi cho nơi gọi và nếu có một yêu cầu khác ở hàng đợi, nó sẽ thực hiện tiếp, nếu không nó sẽ khóa lại chờ đến yêu cầu tiếp theo.3. Phần mềm nhập/xuất độc lập thiết bịMặc dù một số phần mềm nhập/xuất mô tả thiết bị nhưng phần lớn chúng là độc lập với thiết bị. Ranh giới chính xác giữa drivers và phần mềm độc lập thiết bị là độc lập về mặt hệ thống, bởi vì một số hàm mà được thi hành theo kiểu độc lập thiết bị có thể được thi hành trên drivers vì lý do hiệu quả hay những lý dó khác nào đó.Giao tiếp đồng nhất cho device driversĐặt tên thiết bịBảo vệ thiết bịCung cấp khối độc lập thiết bịTổ chức bufferĐịnh vị lưu trữ trên thiết bị khốiCấp phát và giải phóng thiết bị tận hiến21Báo lỗiChức năng cơ bản của phần mềm nhập/xuất độc lập thiết bị là những chức năng chung cho tất cả các thiết bị và cung cấp một giao tiếp đồng nhất cho phần mềm phạm vi người sử dụng.Thứ hai là bảo vệ thiết bị, là cho phép hay không cho phép người sử dụng truy xuất thiết bị. Các hệ điều hành có thể có hay không có chức năng này.Thứ ba là cung cấp khối dữ liệu độc lập thiết bị vì ví dụ những đĩa khác nhau sẽ có kích thước sector khác nhau và điều này sẽ gây khó khăn cho các phần mềm người sử dụng ở lớp trên. Chức năng này cung cấp các khối dữ liệu logic độc lập với kích thước sector vật lý.Thứ tư là cung cấp buffer để hỗ trợ cho đồng bộ hóa quá trình hoạt động của hệ thống. Ví dụ buffer cho bàn phím.Thứ năm là định vị lưu trữ trên các thiết bị khối.Thứ sáu là cấp phát và giải phóng các thiết bị tận hiến.Cuối cùng là thông báo lỗi cho lớp bên trên từ các lỗi do device driver báo về.4. Phần mềm nhập/xuất phạm vi người sử dụngHầu hết các phần mềm nhập/xuất đều ở bên trong của hệ điều hành và một phần nhỏ của chúng chứa các thư viện liên kết với chương trình của người sử dụng ngay cả những chương trình thi hành bên ngoài hạt nhân. Lời gọi hệ thống, bao gồm lời gọi hệ thống nhập/xuất thường được thực hiện bởi các hàm thư viện. Ví dụ khi trong chương trình C có lệnh count = write[fd, buffer, nbytes] ;Hàm thư viện write được địch và liên kết dưới dạng nhị phân và nằm trong bộ nhớ khi thi hành. Tập hợp tất cả những hàm thư viện này rõ ràng là một phần của hệ thống nhập/xuất. Không phải tất cả các phần mềm nhập/xuất đều chứa hàm thư viện, có một loại quan trọng khác gọi là hệ thống spooling dùng để khai thác tối đa thiết bị nhập/xuất trong hệ thống đa chương. Các hàm thư viện chuyển các tham số thích hợp cho lời gọi hệ thống và hàm thư viện thực hiện việc định dạng cho nhập và xuất như lệnh printf trong C. Thư viện nhập/xuất chuẩn chứa một số hàm có chức năng nhập/xuất và tất cả chạy như chương trình người dùng. Chức năng của spooling là tránh trường hợp một tiến trình đang truy xuất thiết bị, chiếm giữ thiết bị nhưng sau đó không làm gì cả trong một khoảng thời gian và như vậy các tiến trình khác bị ảnh hưởng vì không thể truy xuất thiết bị đó. Một ví dụ của spooling device là line printer. Spooling còn được sử dụng trong hệ thống mạng như hệ thống e-mail chẳng hạn.22C-QUẢN LÝ HỆ THỐNG NHẬP XUẤTMột trong những mục tiêu của hệ điều hành là che dấu những đặc thù của các thiết bị phần cứng đối với người sử dụng thay vào đó là một lớp thân thiện hơn, người sử dụng dể thao tác hơn. Một hệ thống nhập/xuất bao gồm : Hệ thống buffer caching. Giao tiếp điều khiển thiết bị [device drivers] tổng quát.  Bộ điều khiển cho các thiết bị phần cứng. Chỉ có device driver mới hiểu đến cấu trúc đặc thù của thiết bị mà nó mô tả.I. Quản lý hệ thống tập tin :Hệ thống quản lý tập tin là thành phần rõ ràng nhất trong hệ điều hành. Máy tính có thể lưu trữ thông tin trong nhiều dạng thiết bị vật lý khác nhau : băng từ, đĩa từ, , đĩa quang, Mỗi dạng có những đặc thù riêng về mặt tổ chức vật lý. Mỗi thiết bị có một bộ kiểm soát như bộ điều khiển đĩa [disk driver] và có những tính chất riêng. Những tính chất này là tốc độ, khả năng lưu trữ, tốc độ truyền dữ liệu và cách truy xuất.Để cho việc sử dụng hệ thống máy tính thuận tiện, hệ điều hành cung cấp một cái nhìn logic đồng nhất về hệ thống lưu trữ thông tin. Hệ điều hành định nghĩa một đơn vị lưu trữ logic là tập tin. Hệ điều hành tạo một ánh xạ từ tập tin đến vùng thông tin trên đĩa và truy xuất những tập tin này thông qua thiết bị lưu trữ.Một tập tin là một tập hợp những thông tin do người tạo ra nó xác định. Thông thường một tập tin đại diện cho một chương trình và dữ liệu. Dữ liệu của tập tin có thể là số, là ký tự, hay ký số. Tập tin thường có dạng tự do, như tập tin văn bản, nhị phân [là tập tin chứa dãy các bit]. [Xem bài VIII]Vai trò của hệ điều hành trong việc quản lý tập tin :Tạo và xoá một tập tin.Tạo và xoá một thư mục.Hỗ trợ các thao tác trên tập tin và thư mục.Ánh xạ tập tin trên hệ thống lưu trữ phụ.Backup tập tin trên các thiết bị lưu trữ.23II. Hệ thống bảo vệ :Trong một hệ thống nhiều người sử dụng và cho phép nhiều tiến trình diễn ra đồng thời, các tiến trình phải được bảo vệ đối với những hoạt động khác.Do đó, hệ thống cung cấp cơ chế để đảm bảo rằng tập tin, bộ nhớ, CPU, và những tài nguyên khác chỉ được truy xuất bởi những tiến trình có quyền. Ví dụ, bộ nhớ đảm bảo rằng tiến trình chỉ được thi hành trong phạm vi địa chỉ của nó. Bộ thời gian đảm bảo rằng không có tiến trình nào độc chiếm CPU. Cuối cùng các thiết bị ngoại vi cũng được bảo vệ.Hệ thống bảo vệ là một cơ chế kiểm soát quá trình truy xuất của chương trình, tiến trình, hoặc người sử dụng với tài nguyên của hệ thống. Cơ chế này cũng cung cấp cách thức để mô tả lại mức độ kiểm soát.Hệ thống bảo vệ cũng làm tăng độ an toàn khi kiểm tra lỗi trong giao tiếp giữa những hệ thống nhỏ bên trong. D- GIỚI THIỆU MỘT SỐ HỆ THỐNG I/OI. HỆ THỐNG I/O ĐĨAHầu như tất cả các máy tính đều có đĩa để lưu trữ thông tin. Đĩa có ba ưu điểm chính hơn sử dụng bộ nhớ chính để lưu trữ : Dung lượng lưu trữ lớn hơn rất nhiều.Giá trên một bit rẻ hơn.Thông tin không bị mất đi khi không còn cung cấp điện. 1. Phần cứng đĩaMột đĩa bao gồm nhiều cylinder, mỗi cylinder chứa nhiều track trên các head. Mỗi track được chia làm nhiều sector [từ 8 đến 32]. Mỗi sector có số byte là như nhau dù vị trí của nó ở gần tâm hay ở ngoài rìa đĩa, những khoảng trống thừa không dùng đến. Một đặc điểm thiết bị cài đặt quan trọng cho driver của đĩa là khả năng của bộ điều khiển thực hiện tìm kiếm trên hai hay nhiều driver cùng lúc gọi là tìm kiếm chồng. Trong khi bộ điều khiển và phần mềm đợi việc tìm kiếm hoàn tất trên một đĩa, bộ điều khiển có thể khởi động việc tìm kiếm trên đĩa khác. Các bộ điều khiển không thể cùng lúc đọc hoặc ghi trên hai driver vì khả năng này có thể làm giảm thời gian truy xuất trung bình.2. Các thuật toán đọc đĩaTất cả mọi công việc đều phụ thuộc vào việc nạp chương trình và nhập xuất tập tin, do đó điều quan trọng là dịch vụ đĩa phải càng nhanh càng tốt. Hệ điều hành có thể tổ chức dịch vụ truy xuất đĩa tốt hơn bằng cách lập lịch yêu cầu truy xuất đĩa. 24Tốc độ đĩa bao gồm ba phần. Để truy xuất các khối trên đĩa, trước tiên phải di chuyển đầu đọc đến track hay cylinder thích hợp, thao tác này gọi là seek và thời gian để hoàn tất gọi là seek time. Một khi đã đến đúng track, còn phải chờ cho đến khi khối cần thiết đến dưới đầu đọc. Thời gian chờ này gọi là latency time. Cuối cùng là vận chuyển dữ liệu giữa đĩa và bộ nhớ chính gọi là transfer time. Tổng thời gian cho dịch vụ đĩa chính là tổng của ba khoảng thời gian trên. Trong đó seek time và latency time là mất nhiều thời gian nhất, do đó để giảm thiểu thời gian truy xuất hệ điều hành đưa ra các thuật toán lập lịch truy xuất. Lập lịch FCFS :Phương pháp lập lịch đơn giản nhất là FCFS[first-come,first-served]. Thuật toán này rất dể lập trình nhưng không cung cấp được một dịch vụ tốt. Ví dụ : cần phải đọc các khối theo thứ tự như sau :98, 183, 37, 122, 14, 124, 65, và 67Giả sử hiện tại đầu đọc đang ở vị trí 53. Như vậy đầu đọc lần lượt đi qua các khối 53, 98, 183, 37, 122, 14, 124, 65, và 67 như hình sau : Lập lịch SSTF [shortest-seek-time-first]Thuật toán này sẽ di chuyển đầu đọc đến các khối cần thiết theo vị trí lần lượt gần với vị trí hiện hành của đầu đọc nhất. Ví dụ : cần đọc các khối như sau : 98, 183, 37, 122, 14, 124, 65, và 67Giả sử hiện tại đầu đọc đang ở vị trí 53. Như vậy đầu đọc lần lượt đi qua các khối 53, 65, 67, 37, 14, 98, 122, 124 và 183 như hình sau :25

Video liên quan

Chủ Đề