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

Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội

132 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo Trình Hệ Điều Hành
Tác giả Nguyễn Tuấn Hải, Lê Trọng Hưng, Đặng Minh Ngọc
Người hướng dẫn Ths. Nguyễn Tuấn Hải
Trường học Trường Cao Đẳng Nghề Việt Nam - Hàn Quốc
Chuyên ngành Kỹ thuật sửa chữa, lắp ráp máy tính
Thể loại giáo trình
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 132
Dung lượng 2,96 MB

Cấu trúc

  • Chương 1 Giới thiệu chung về hệ điều hành (5)
    • 1.1. Khái niệm về hệ điều hành (0)
    • 1.2. Phân loại hệ điều hành (15)
    • 1.3. Sơ lược lịch sử phát triển của hệ điều hành (22)
  • Chương 2 Điều khiển dữ liệu (42)
    • 2.1. Các phương pháp tổ chức và truy nhập dữ liệu (42)
    • 2.2. Bản ghi và khối (48)
    • 2.3. Điều khiển buffer(điều khiển phòng đệm) (51)
    • 2.4. Quy trình chung điều khiển nhập-xuất (54)
    • 2.5. Tổ chức lưu trữ dữ liệu trên đĩa từ (62)
  • Chương 3 Điều khiển bộ nhớ (65)
    • 3.1. Quản lý và bảo vệ bộ nhớ (65)
    • 3.2. Điều khiển bộ nhớ liên tục (68)
    • 3.3. Điều khiển bộ nhớ gián đoạn (80)
  • Chương 4 Điều khiển cpu, điều khiển quá trình (91)
    • 4.1. Trạng thái của quá trình (0)
    • 4.2. Điều phối quá trình (97)
    • 2.3. Các chiến lược điều phối (101)
    • 4.3. Bài toán đồng bộ hóa (104)
    • 4.4. Bế tắc-Giải pháp phòng ngừa và xử lý (115)

Nội dung

(NB) Giáo trình Hệ điều hành cung cấp những nội dung kiến thức chung nhất về hệ điều hành, nội dung liên quan đến việc mô tả các phương pháp giả quyết các bài toán điều khiển hoạt động của hệ thống máy tính.

Giới thiệu chung về hệ điều hành

Phân loại hệ điều hành

- Nắm được khái niệm phân loại và các thành phần cơ bản trong hệ điều hành 1.2.1 Mainframe Systems

Hệ thống máy tính mainframe là những máy tính đầu tiên được sử dụng cho các ứng dụng thương mại và khoa học Bài viết này sẽ khám phá sự phát triển của hệ thống mainframe, bắt đầu từ các hệ thống bó (batch systems), nơi máy tính chỉ chạy một ứng dụng duy nhất, cho đến các hệ thống chia sẻ thời gian (time-shared systems), cho phép người dùng tương tác trực tiếp với máy tính.

Máy tính cá nhân (PC) lần đầu tiên xuất hiện vào những năm 1970, nhưng trong thập niên đầu tiên, CPU của chúng thiếu các tính năng cần thiết để bảo vệ hệ điều hành.

Với sự ra mắt của MacOS X, hệ điều hành hiện nay dựa trên lõi Mach và FreeBSD UNIX, mang lại khả năng mở rộng và tính năng nổi bật, đồng thời vẫn giữ giao diện đồ họa người dùng (GUI) Gần đây, LINUX, một hệ điều hành tương tự UNIX, đã trở nên phổ biến trên các máy PC.

Hệ điều hành cho máy vi tính mang lại nhiều lợi ích nhờ sự phát triển từ các hệ điều hành cho mainframes Máy vi tính có thể nhanh chóng áp dụng công nghệ tiên tiến được phát triển cho các hệ thống lớn hơn Hơn nữa, chi phí phần cứng của máy vi tính đã giảm đáng kể, cho phép cá nhân dễ dàng sở hữu và sử dụng máy tính mà không cần quá chú trọng vào CPU.

Do đó, những quyết định thiết kế được thực hiện trong hệ điều hành cho mainframes có thể không hợp lý cho các hệ thống nhỏ hơn

Các quyết định thiết kế vẫn tiếp tục được áp dụng, như việc bảo vệ hệ thống tập tin trên máy cá nhân Tuy nhiên, khi các máy tính thường kết nối với nhau qua mạng cục bộ hoặc Internet, việc bảo vệ tập tin trở nên cần thiết hơn bao giờ hết Sự thiếu bảo vệ có thể tạo điều kiện cho các chương trình độc hại như virus và worm, dễ dàng lây lan và gây thiệt hại cho dữ liệu trên hệ thống như MS-DOS và Macintosh Những chương trình này có khả năng tự nhân bản và làm tê liệt mạng lưới của các công ty cũng như mạng toàn cầu Do đó, các tính năng như bộ nhớ bảo vệ và quyền truy cập tập tin cần được cải thiện để đảm bảo an toàn cho hệ thống trước các cuộc tấn công.

Hầu hết các hệ thống hiện nay chỉ sử dụng một CPU chính, được gọi là hệ thống đơn xử lý Tuy nhiên, hệ thống đa xử lý, hay còn gọi là hệ song song, đang ngày càng trở nên quan trọng Những hệ thống này có nhiều bộ xử lý hoạt động gần gũi với nhau, chia sẻ bus máy tính, đồng hồ, và đôi khi cả bộ nhớ hoặc thiết bị ngoại vi.

Hệ thống đa xử lý mang lại ba lợi ích chính: Thứ nhất, thông lượng được gia tăng nhờ vào việc tăng số lượng bộ xử lý, cho phép thực hiện nhiều công việc hơn trong thời gian ngắn hơn, mặc dù tỷ lệ tăng tốc không đạt mức lý tưởng do chi phí duy trì sự phối hợp giữa các thành phần Thứ hai, tính kinh tế của việc mở rộng được cải thiện, vì hệ thống đa xử lý có khả năng chia sẻ tài nguyên như thiết bị ngoại vi và lưu trữ, giúp tiết kiệm chi phí so với các hệ thống đơn bộ xử lý Cuối cùng, khả năng tin cậy được nâng cao, khi một bộ xử lý gặp sự cố, hệ thống vẫn hoạt động với 9 bộ xử lý còn lại, chỉ giảm 10% năng lực thay vì dừng hoạt động hoàn toàn, nhờ vào thiết kế chịu lỗi của hệ thống.

Hệ thống Tandem đảm bảo sự điều hành liên tục ngay cả khi có lỗi xảy ra bằng cách sử dụng cơ chế nhân đôi phần cứng và phần mềm Hệ thống này bao gồm hai bộ xử lý với bộ nhớ cục bộ riêng biệt, được kết nối qua một bus Một bộ xử lý hoạt động như chính và bộ xử lý còn lại là dự phòng, với cả hai bản sao dữ liệu được lưu trữ Tại các điểm kiểm tra, thông tin trạng thái và bản sao hình ảnh bộ nhớ được sao chép từ máy chính sang máy dự phòng Khi phát hiện lỗi, bản sao dự phòng sẽ được kích hoạt và khởi động lại từ điểm kiểm tra gần nhất Mặc dù giải pháp này đảm bảo tính sẵn sàng cao, nhưng chi phí cho việc nhân đôi phần cứng là khá lớn.

Các hệ thống đa xử lý phổ biến hiện nay chủ yếu sử dụng đa xử lý đối xứng (SMP), trong đó mỗi bộ xử lý chạy một bản sao của hệ điều hành và có thể giao tiếp với nhau khi cần thiết Một số hệ thống cũng áp dụng đa xử lý bất đối xứng Đặc điểm của đa xử lý đối xứng là tất cả các bộ xử lý đều ngang hàng và không có mối trúc dữ liệu, cho phép chia sẻ tự động các quá trình và tài nguyên như bộ nhớ, từ đó giảm thiểu sự khác biệt giữa các bộ xử lý Hầu hết các hệ điều hành hiện đại, bao gồm Windows NT, Solaris, Digital UNIX, OS/2 và LINUX, đều hỗ trợ đa xử lý đối xứng.

Hình 1.2 Kiến trúc đa xử lý đối xứng

Sự khác biệt giữa đa xử lý đối xứng và bất đối xứng có thể xuất phát từ phần cứng hoặc phần mềm Phần cứng có thể khác nhau giữa các bộ xử lý, trong khi phần mềm có thể được lập trình để chỉ định một chủ và nhiều tớ Ví dụ, SunOS ấn bản 4 hỗ trợ đa xử lý không đối xứng, trong khi ấn bản 5 (Solaris) cung cấp khả năng khác.

2) là đối xứng trên cùng phần cứng

Khi các bộ vi xử lý ngày càng rẻ và mạnh mẽ hơn, nhiều chức năng bổ sung của hệ điều hành đã được chuyển giao cho bộ xử lý Việc thêm bộ vi xử lý với bộ nhớ riêng để quản lý hệ thống đĩa trở nên dễ dàng, cho phép bộ vi xử lý nhận chuỗi yêu cầu từ bộ nhớ chính và thiết lập hàng đợi đĩa riêng cùng với thuật toán định thời Sắp xếp này giúp giảm chi phí định thời đĩa cho CPU Ngoài ra, PC còn tích hợp bộ vi xử lý trong bàn phím để chuyển đổi các phím nóng thành mã gửi tới CPU Sự phổ biến của bộ vi xử lý đã khiến khái niệm đa xử lý không còn được xem xét nhiều.

Hệ phân tán, hay còn gọi là mạng máy tính, là tập hợp các máy tính được kết nối với nhau thông qua các đường truyền theo tiêu chuẩn quy định, nhằm đạt được những mục tiêu cụ thể.

- Tạo khả năng làm việc phân tán

- Nâng cao chất lượng, hiệu quả của việc khai thác và xử lý dữ liệu

- Tăng cường độ tin cậy của hệ thống

- Chia sẻ tài nguyên (dùng chung tài nguyên, chương trình và dữ liệu)

- Phục vụ công tác truyền tin

Hệ điều hành thời gian thực (real-time system) là một dạng hệ điều hành đặc biệt, được sử dụng khi có yêu cầu thời gian khắt khe đối với thao tác của bộ xử lý hoặc dòng dữ liệu Nó thường được áp dụng trong các thiết bị điều khiển cho các ứng dụng chuyên dụng, nơi mà các bộ cảm biến gửi dữ liệu đến máy tính Máy tính cần phân tích và điều chỉnh các tín hiệu từ cảm biến để đảm bảo hiệu suất tối ưu Các hệ thống này được ứng dụng trong điều khiển thí nghiệm khoa học, công nghệ hình ảnh y tế, hệ thống điều khiển công nghiệp, và các hệ thống hiển thị Ngoài ra, hệ thống phun dầu động cơ ô tô, bộ điều khiển dụng cụ trong nhà và hệ thống vũ khí cũng thuộc loại hệ thống thời gian thực.

Hệ thống thời gian thực có các ràng buộc cố định và rõ ràng, yêu cầu xử lý phải diễn ra trong các giới hạn đã được định nghĩa; nếu không, hệ thống sẽ thất bại Một hệ thống thời gian thực chỉ thực hiện đúng chức năng khi trả về kết quả chính xác trong khoảng thời gian quy định Điều này khác biệt với hệ thống chia thời, nơi mà việc đáp ứng nhanh là mong muốn nhưng không bắt buộc, và với hệ thống bó, không có ràng buộc về thời gian nào cả.

Hệ thời thực được chia thành hai loại: cứng và mềm Hệ thời thực cứng đảm bảo hoàn thành các tác vụ tới hạn đúng thời gian, yêu cầu giới hạn trì hoãn trong hệ thống và phụ thuộc vào thiết bị lưu trữ ngắn hạn Hầu hết hệ điều hành hiện đại không hỗ trợ tính năng này do sự tách rời giữa người dùng và phần cứng, dẫn đến thời gian thực hiện không xác định Bộ nhớ ảo hầu như không được sử dụng trong hệ thời thực cứng, gây xung đột với hệ chia thời Mặc dù không có hệ điều hành đa mục đích hỗ trợ chức năng thời thực cứng, nhưng chúng rất hữu ích trong các lĩnh vực như đa phương tiện, thực tế ảo và nghiên cứu khoa học Việc mở rộng chức năng thời thực mềm đang được tích hợp vào nhiều hệ điều hành hiện tại, bao gồm các phiên bản chính thức của UNIX.

Sơ lược lịch sử phát triển của hệ điều hành

Mục tiêu: - Nắm được sơ lược về lịch sử phát triển của hệ điều hành

Vào những năm 1950, máy tính sử dụng ống chân không đã ra đời, đánh dấu một bước ngoặt trong công nghệ Trong giai đoạn này, mỗi máy tính được phát triển bởi một nhóm người, đảm nhiệm các công việc như thiết kế, xây dựng chương trình và quản lý Lập trình viên phải sử dụng ngôn ngữ máy tuyệt đối để lập trình, trong khi khái niệm về ngôn ngữ lập trình và hệ điều hành vẫn chưa được biết đến.

Máy tính dùng bán dẫn đã được phát triển và sản xuất nhằm phục vụ nhu cầu của khách hàng, với các bộ phận sử dụng máy tính được phân chia thành người thiết kế, xây dựng, vận hành, lập trình và bảo trì Trong giai đoạn này, ngôn ngữ lập trình Assembly và Fortran đã ra đời, cho phép lập trình viên viết chương trình trên phiếu đục lỗ để máy tính thực hiện và in kết quả Đồng thời, hệ thống xử lý theo lô cũng được giới thiệu, trong đó các thao tác được ghi trước trên băng từ, cho phép máy tính thực hiện tuần tự và xuất kết quả ra băng từ, dưới sự điều khiển của một chương trình đặc biệt, chính là hệ điều hành sau này.

Máy IBM 360 được sản xuất hàng loạt và ra mắt trên thị trường, cùng với sự gia tăng của các thiết bị ngoại vi, đã làm cho việc điều khiển máy tính trở nên phức tạp hơn Điều này dẫn đến nhu cầu cấp thiết về một hệ điều hành chung cho tất cả các máy tính của nhà sản xuất và người sử dụng, từ đó thúc đẩy sự ra đời của hệ điều hành trong giai đoạn này.

Hệ điều hành được phát triển để điều phối và kiểm soát hoạt động của hệ thống, đồng thời giải quyết các yêu cầu tranh chấp thiết bị Hệ điều hành đầu tiên được viết bằng ngôn ngữ Assembly, đánh dấu sự ra đời của khái niệm đa chương, chia sẻ thời gian và kỹ thuật Spool Giai đoạn này cũng chứng kiến sự xuất hiện của các hệ điều hành nổi bật như Multics và Unix.

Máy tính cá nhân đã ra đời, đánh dấu sự khởi đầu của hệ điều hành MS-DOS gắn liền với máy tính IBM_PC Đồng thời, trong giai đoạn này, hệ điều hành mạng và hệ điều hành phân tán cũng được phát triển.

Chúng tôi không có ý định trình bày chi tiết về lịch sử hình thành của hệ điều hành, mà chỉ muốn chỉ ra mối liên hệ giữa sự ra đời của các thế hệ máy tính và quá trình phát triển của hệ điều hành Mục tiêu của chúng tôi là nhấn mạnh những điểm quan trọng liên quan đến sự tiến hóa này.

Các ngôn ngữ lập trình, đặc biệt là ngôn ngữ lập trình cấp thấp, đã được phát triển trước các hệ điều hành Hầu hết các hệ điều hành đều được xây dựng từ ngôn ngữ lập trình cấp thấp, ngoại trừ hệ điều hành Unix, được phát triển từ ngôn ngữ lập trình cấp cao C.

Nếu không có hệ điều hành, việc sử dụng máy tính sẽ trở nên phức tạp và không phải ai cũng có khả năng khai thác được các tính năng của máy tính.

Sự phát triển của hệ điều hành gắn liền với sự tiến bộ của máy tính, và ngược lại, sự tiến bộ của máy tính cũng thúc đẩy sự phát triển của hệ điều hành Hệ điều hành thực sự bắt đầu phát triển mạnh mẽ khi máy tính cá nhân (PC) ra đời.

Chúng tôi sẽ giới thiệu một số khái niệm quan trọng trong hệ điều hành, bao gồm hệ thống xử lý theo lô, hệ thống đa chương, hệ thống chia sẻ thời gian và kỹ thuật Spool Sự xuất hiện của những khái niệm này đánh dấu bước phát triển mới trong lĩnh vực hệ điều hành Các khái niệm này sẽ được làm rõ hơn trong các chương tiếp theo của tài liệu.

1.3.2.1.Hệ thống đơn khối (monolithic systems)

Trong hệ thống, hệ điều hành bao gồm một tập hợp các thủ tục, cho phép mỗi thủ tục gọi thực hiện một thủ tục khác khi cần thiết Con trỏ được sử dụng để gọi các thủ tục tương ứng Một ví dụ điển hình cho cấu trúc này là cách gọi ngắt (Interrupt) trong ngôn ngữ lập trình cấp thấp, cùng với việc thực hiện đáp ứng ngắt dựa vào bảng vector ngắt trong MS-DOS.

Sau đây là một cấu trúc đơn giản của hệ thống đơn khối, trong cấu trúc này các thủ tục được chia thành 3 lớp:

1 Một chương trình chính (chương trình của người sử dụng) gọi đến một thủ tục dịch vụ của hệ điều hành Lời gọi này được gọi là lời gọi hệ thống

2 Một tập các thủ tục dịch vụ (service) để đáp ứng những lời gọi hệ thống từ các chương trình người sử dụng

3 Một tập các thủ tục tiện ích (utility) hỗ trợ cho các thủ tục dịch trong việc thực hiện cho các lời gọi hệ thống

Trong cấu trúc này, mỗi lời gọi hệ thống sẽ kích hoạt một thủ tục dịch vụ tương ứng Thủ tục tiện ích thực hiện các nhiệm vụ cần thiết cho thủ tục dịch vụ, ví dụ như thu thập dữ liệu từ chương trình người sử dụng.

Chương trình của người sử dụng có khả năng truy xuất trực tiếp đến các chi tiết phần cứng thông qua việc gọi thủ tục cấp thấp, điều này tạo ra khó khăn cho hệ điều hành trong việc kiểm soát và bảo vệ hệ thống.

Các thủ tục dịch vụ mang tính chất tỉnh chỉ hoạt động khi được kích hoạt bởi chương trình của người sử dụng, điều này dẫn đến việc hệ điều hành thiếu tính chủ động trong việc quản lý môi trường.

1.3.2.2.Các hệ thống phân lớp (Layered Systems)

Điều khiển dữ liệu

Các phương pháp tổ chức và truy nhập dữ liệu

Mục tiêu: Nắm được cách thức HĐH tổ chức lưu trữ và tìm kiếm dữ liệu dữ liệu trên hệ thống máy tính

2.1.1.Bản quản lý thư mục tập tin

Trước khi một tập tin có thể được đọc, nó cần được mở, điều này yêu cầu biết đường dẫn mà người sử dụng cung cấp và vị trí trong cấu trúc thư mục Thông tin từ mục thư mục (directory entry) là cần thiết để tìm kiếm các khối dữ liệu Tùy thuộc vào từng hệ thống, thông tin này có thể 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 số I-node.

Bảng này thường được cài đặt ở đầu đĩa, bao gồm dãy các phần tử có kích thước xác định, được gọi là entries Mỗi entry lưu trữ thông tin quan trọng về tên, thuộc tính và vị trí lưu trữ của các tập tin hoặc thư mục.

Ví dụ quản lý thư mục trong CP/M:

2.1.2 Bản phân phối vùng nhớ

Bảng này thường được sử dụng kết hợp với bảng quản lý thư mục tập tin, nhằm xác định vị trí khối vật lý của một tập tin hoặc thư mục Nói cách khác, nó lưu giữ dãy các khối trên đĩa được cấp phát cho tập tin hoặc thư mục Có nhiều phương pháp khác nhau được áp dụng trong quá trình này.

2.1.2.2 Các phương pháp Định vị liên tiếp: Lưu trữ tập tin trên dãy các khối liên tiếp

Danh sách liên kết sử dụng index:

Hình 2.2 Bảng chỉ mục của danh sách liên kết

Thay vì sử dụng con trỏ, phương pháp này áp dụng một bảng index, giúp toàn bộ khối chỉ chứa dữ liệu Việc truy xuất ngẫu nhiên trở nên dễ dàng hơn, đồng thời kích thước tập tin có thể được mở rộng Tuy nhiên, hạn chế của phương pháp này là kích thước bộ nhớ bị giới hạn.

Hình 2.3 Cấu trúc của I-node

I-nodes: Một I-node bao gồm hai phần Phần thứ nhất là thuộc tính của tập tin Phần này lưu trữ các thông tin liên quan đến tập tin như kiểu, người sở hữu, kích thước, v.v Phần thứ hai chứa địa chỉ của khối dữ liệu Phần này chia làm hai phần nhỏ Phần nhỏ thứ nhất bao gồm 10 phần tử, mỗi phần tử chứa địa chỉ khối dữ liệu của tập tin Phần tử thứ 11 chứa địa chỉ gián tiếp cấp 1 (single indirect), chứa địa chỉ của một khối, trong khối đó chứa một bảng có thể từ 2 10 đến 2 32 phần tử mà mỗi phần tử mới chứa địa chỉ của khối dữ liệu Phần tử thứ

Địa chỉ gián tiếp cấp 2 (double indirect) được lưu trữ trong phần tử thứ 12, chứa địa chỉ của bảng các khối single indirect Trong khi đó, phần tử thứ 13 lưu trữ địa chỉ gián tiếp cấp 3 (double indirect), chứa địa chỉ của bảng các khối double indirect.

Cách tổ chức này rất linh động và hiệu quả cho việc quản lý các hệ thống tập tin lớn Hệ điều hành Unix, chẳng hạn như BSD Unix, áp dụng phương pháp này để tối ưu hóa hiệu suất.

Khi nhiều người cùng làm việc trên một dự án, việc chia sẻ tập tin trở nên cần thiết Tập tin có thể liên kết với nhiều thư mục khác nhau, và để thực hiện điều này, khối đĩa không được liệt kê trong thư mục mà được thay thế bằng một cấu trúc dữ liệu mà thư mục sẽ trỏ tới Một phương pháp khác là tạo tập tin mới kiểu LINK, chỉ chứa đường dẫn của tập tin gốc, giúp truy xuất dễ dàng hơn Mỗi phương pháp có ưu và nhược điểm riêng: phương pháp đầu tiên cho phép hệ thống biết số lượng thư mục liên kết với tập tin thông qua chỉ số liên kết, trong khi phương pháp thứ hai cho phép loại bỏ liên kết mà không ảnh hưởng đến tập tin gốc.

Kích thước khối cần được xác định dựa trên cấu trúc của đĩa, bao gồm số sector, số track và số cylinder Việc sử dụng một cylinder cho mỗi khối của một tập tin có thể dẫn đến việc lãng phí đến 97% dung lượng đĩa Do đó, mỗi tập tin thường được lưu trữ trên nhiều khối Chẳng hạn, với một đĩa có dung lượng 32,768 byte trên mỗi track, thời gian quay là 16.67 msec và thời gian tìm kiếm trung bình là 30 msec, thời gian cần thiết để đọc một khối kích thước k byte được tính bằng công thức: 30 + 8.3 + (k/32,768) x 16.67.

Từ đó 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

2.1.4.2 Lưu giữa các khối trống

Có hai phương pháp quản lý không gian lưu trữ trên đĩa: đầu tiên là sử dụng danh sách liên kết của khối đĩa, trong đó mỗi khối lưu trữ địa chỉ của các khối trống; ví dụ, một khối 1K có thể chứa 511 địa chỉ 16 bit, và một đĩa 20M cần khoảng 40 khối Phương pháp thứ hai là sử dụng bitmap, trong đó một đĩa n khối được ánh xạ thành n bit, với giá trị 1 đại diện cho khối trống và giá trị 0 cho khối đã lưu dữ liệu; do đó, một đĩa 20M chỉ cần 20K bit, tương đương khoảng 3 khối Phương pháp bitmap thường được ưa chuộng hơn trong thực tế.

Hình 2.5: Hai phương pháp lưu giữ khối trống

2.1.5.Độ an toàn của hệ thống tập tin

Một hệ thống tập tin bị hỏng có thể gây ra thiệt hại lớn hơn so với hỏng hóc phần cứng của máy tính, vì nó ảnh hưởng trực tiếp đến các phần mềm và dữ liệu Chi phí khắc phục hệ thống tập tin thường cao hơn, do đó cần thiết phải cài đặt các chức năng bảo vệ để giảm thiểu rủi ro.

2.1.5.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 sử dụng một sector trên đĩa để lưu trữ danh sách các khối bị hỏng Khi bộ kiểm soát thực hiện lần đầu, nó sẽ đọc các khối hỏng và sử dụng một khối thừa để lưu giữ thông tin này, ngăn chặn truy cập vào những khối bị hỏng trong tương lai.

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

Mặ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

Việc sao lưu dữ liệu từ đĩa mềm thường được thực hiện bằng cách sao chép toàn bộ nội dung sang một đĩa khác Đối với dữ liệu trên đĩa cứng nhỏ, quá trình sao lưu thường sử dụng băng từ, trong khi với đĩa cứng lớn, việc sao lưu thường được thực hiện trực tiếp trên chính đĩa đó Một chiến lược đơn giản nhưng tốn kém là chia đĩa cứng thành hai phần: một phần chứa dữ liệu và một phần dùng để sao lưu Mỗi tối, dữ liệu từ phần chính sẽ được sao chép sang phần sao lưu.

Hình 2.7 Trạng thái của hệ thống tập tin

Bản ghi và khối

Mục tiêu: - phân biệt được bản ghi và khối

2.2.1.Bản ghi loogic và bản ghi vật lý

2.2.1.1.Bản ghi loogic và bản ghi vật lý

File được cấu trúc thành các đơn vị dữ liệu, gọi là bản ghi lôgic, để chương trình ứng dụng có thể xử lý Quy cách và nội dung của bản ghi lôgic được xác định dựa trên yêu cầu của chương trình ứng dụng.

Việc lưu trữ file trên thiết bị ngoại vi tuân theo quy tắc của hệ điều hành, trong đó file được tổ chức thành các bản ghi vật lý hay còn gọi là khối Khối là đơn vị bộ nhớ ngoại vi mà hệ điều hành sử dụng để thực hiện các thao tác đọc và ghi file Chẳng hạn, trong MS-DOS, một cluster được xem như một khối trên đĩa từ, và file được lưu trữ trên một tập hợp các cluster của đĩa này.

Bài toán quản lý không gian đĩa liên quan đến việc xác định trạng thái rỗi/bận của các khối trên đĩa để phân phối tài nguyên hiệu quả Để biết khối nào rỗi cho nhu cầu mới và khối nào bận do đã chứa nội dung của một file, cần có thông tin trạng thái rõ ràng Một phương pháp đơn giản là sử dụng Bảng định vị File (File Allocation Table: FAT) như trong MS-DOS Tuy nhiên, phương pháp phổ biến hơn là sử dụng Bit map, trong đó mỗi khối trên đĩa tương ứng với một bit trong vùng Bit map, cho phép xác định trạng thái rỗi/bận qua giá trị 0/1 của bit tương ứng.

2.2.1.2.Bản ghi theo tổ chức của File: Có ba dạng tổ chức bản ghi lôgic

Có ba dạng bản phổ biến của file dữ liệu: dạng cố định, dạng động và dạng không xác định Dạng của bản ghi sẽ ảnh hưởng đến cách thức mà hệ điều hành xử lý file.

Dạng cố định (F) là loại file trong đó mọi bản ghi có độ dài và kích thước giống nhau, cho phép dễ dàng xác định vị trí của từng bản ghi dựa trên số thứ tự Việc làm việc với các file dạng F rất tiện lợi, vì từ vị trí của bản ghi đầu tiên, người dùng có thể nhanh chóng truy xuất được vị trí của bất kỳ bản ghi nào Hơn nữa, các công việc chuẩn bị để xử lý các bản ghi dạng F cũng rất đơn giản.

Trong ngôn ngữ lập trình PASCAL, các bản ghi trong một File thuộc kiểu F Nếu loại bỏ phần cấu trúc, các bản ghi File DBF của FOXPRO cũng có thể được xem là có độ dài cố định và thuộc dạng F.

Dạng động (V) cho phép độ dài của bản ghi thay đổi giữa các bản ghi khác nhau, nhưng hệ điều hành đã biết độ dài của mỗi bản ghi khi xử lý Trong nội dung của bản ghi, độ dài đã được ghi nhận, từ đó các công việc xử lý có thể được chuẩn bị, chẳng hạn như việc tách các bản ghi từ một khối sau khi đọc từ thiết bị lưu trữ ngoài vào bộ nhớ trong.

File chương trình BASIC là một ví dụ điển hình, trong đó mỗi câu lệnh bao gồm mã lệnh, địa chỉ của câu lệnh tiếp theo và nội dung của dòng lệnh.

2.2.2.Kết khối và tách khối

Một khối có thể chứa một hoặc nhiều bản ghi, trong khi một bản ghi có thể được phân bố trên một hoặc nhiều khối Do đó, mối quan hệ giữa khối và bản ghi rất quan trọng, ảnh hưởng đến việc xác định bản ghi theo từng khối.

Hệ điều hành chịu trách nhiệm tổ chức file trên vật dẫn ngoài theo các khối, đảm bảo tính độc lập với chương trình người dùng Quá trình đưa một khối vào bộ nhớ trong hoặc truyền dữ liệu lên một khối được gọi là quá trình vào-ra vật lý.

Sau khi hệ điều hành đưa một khối vào bộ nhớ trong, việc xác định bản ghi hiện tại để chương trình người dùng xử lý là rất quan trọng Quá trình này được gọi là tách khối.

Tách khối là quá trình xác định các bản ghi liên quan từ các khối dữ liệu Quá trình này diễn ra ngay sau khi hệ điều hành đọc một khối vào bộ nhớ trong và trước khi chương trình người dùng xử lý các bản ghi đó.

Tùy thuộc vào phương pháp truy nhập dữ liệu mà tách khối hoặc do hệ điều hành hoặc do chính chương trình người dùng đảm nhận

Sau khi người dùng hoàn tất nội dung bản ghi và xác nhận thông tin đúng yêu cầu, cần lưu trữ bản ghi này trên vật dẫn ngoài để bảo quản lâu dài Hệ điều hành ghi thông tin lên vật dẫn ngoài theo đơn vị khối, do đó bản ghi phải được xếp vào một khối tương ứng, quá trình này gọi là kết khối Khi khối đã đầy đủ thông tin, hệ điều hành sẽ đặt khối đó vào vị trí đã được chỉ định trên vật dẫn bên ngoài.

Kết khối là quá trình ngược lại với tách khối, diễn ra sau khi người dùng hoàn tất nội dung bản ghi Quá trình này đưa bản ghi vào khối để tạo ra vật dẫn bên ngoài.

Chương trình người dũng xử lý dữ liệu trong các vùng bộ nhớ quy định, được gọi là vùng làm việc Hệ điều hành sẽ đọc khối dữ liệu vào vùng nhớ trung gian, gọi là vùng đệm vào, trước khi chương trình tiến hành xử lý Sau khi hoàn tất xử lý, bản ghi dữ liệu sẽ được kết khối vào vùng nhớ đệm ra trước khi hệ điều hành xuất ra thiết bị ngoại vi.

Điều khiển buffer(điều khiển phòng đệm)

Các giai đoạn của hệ điều hành (HĐH) trong việc điều khiển dữ liệu và phân công công việc giữa các chương trình hệ thống rất quan trọng Một đặc điểm nổi bật của thiết bị ngoại vi là tốc độ hoạt động của chúng thường chậm hơn nhiều so với tốc độ của bộ xử lý (processor) Để thực hiện các phép toán vào ra, HĐH cần quản lý hiệu quả sự tương tác giữa các thành phần này.

Buffer ngoài Vùng làm việc Buffer ra

+ Phòng đệm của hệ điều hành là một vùng nhớ dùng để lưu trữ tạm thời các thông tin phục cho các phép vào ra

+ Ngoài ra còn có phòng đệm của thiết bị không phụ thuộc vào hệ điều hành gọi là phòng đệm kỹ thuật Ví dụ phòng đệm của máy in

Hình 2.9 Phòng đệm của máy in

Khi thực hiện Reset(f) thì hệ thống đã đưa dữ liệu từ đĩa lên vùng đệm

Khi chương trình muốn đọc dữ liệu từ tệp vào biến a thì hệ thống chỉ cần lấy dữ liệu từ vùng đệm thay cho việc đọc tệp

Giả thiết mỗi lần truy nhập đĩa mất 0,01 giây, kích thước vùng đệm là 512 bytes và thời gian truy nhập vào bộ nhớ là rất nhỏ (so với 0,01)

Số byte cần đọc Không có vùng đệm Có vùng đệm

- Là phòng đệm thuần tuý lưu trữ tạm thời các phép phục vụ vào ra

- Phòng đệm này có hai loại

Phòng đệm vào là nơi lưu trữ thông tin trước khi được chuyển đến chương trình ứng dụng Khi có lệnh đọc (READ), dữ liệu sẽ được tách ra và chuyển từ phòng đệm vào các địa chỉ tương ứng trong bộ nhớ Mỗi giá trị được lưu trữ ở cả hai nơi: phòng đệm và bộ nhớ của chương trình ứng dụng Khi giá trị cuối cùng được lấy ra, phòng đệm sẽ được giải phóng và sẵn sàng nhận thông tin mới Để tối ưu hóa thời gian chờ đợi, hệ thống có thể sử dụng nhiều phòng đệm vào, cho phép chuyển sang phòng đệm khác khi một phòng đệm đã hết thông tin.

Phòng đệm ra là không gian lưu trữ tạm thời để ghi thông tin, với lệnh giải phóng phòng đệm cho phép ghi vật lý Khi có chỉ thị ghi (WRITE), dữ liệu sẽ được đưa vào phòng đệm ra Khi phòng đệm ra đạt dung lượng tối đa, hệ thống sẽ chuyển thông tin ra thiết bị ngoại vi Ngoài ra, hệ thống có khả năng tổ chức nhiều phòng đệm ra cùng lúc.

Hình 2.10.Phòng đệm trung chuyển

+ Có hệ số song song cao vì tốc độ giải phóng vùng đệm lớn + Có tính chất vạn năng, thích ứng với mọi phương pháp truy nhập

- Nhược điểm: + Tốn bộ nhớ

+ Tốn thời gian để trao đổi thông tin trong bộ nhớ

Thông tin được xử lý ngay trong phòng đệm mà không được ghi lại vào bộ nhớ khác Chỉ thị đọc có chức năng xác định địa chỉ thông tin mà không cung cấp thêm thông tin nào khác.

- Ưu điểm: + Tiết kiệm bộ nhớ

+ Không mất thời gian chuyển thông tin ở bộ nhớ trong, thích hợp khi cần kích thước bản ghi dữ liệu lớn

- Nhược điểm: + Tính vạn năng không cao

+ Hệ số song song thấp

Phòng đệm vòng tròn thường có ba phòng đệm

Hình 2.12 Phòng đệp vòng tròn

- Sau một khoảng thời gian vai trò của ba phòng đệm được thay đổi cho nhau

+ Có sự đồng bộ giữa đọc, ghi và xử lý (ba quá trình được thực hiện song song)

+ Thường áp dụng cho hệ cơ sở dữ liệu và hữu dụng nhất khi lượng thông tin vào bằng lượng thông tin ra.

Quy trình chung điều khiển nhập-xuất

- Nắm được sự phân công công việc giữa chương trình hệ thống (thuộc HĐH) và chương trình người dùng trong quá trình nhập-xuất dữ liệu

Cấp thấp nhất trong hệ thống máy tính bao gồm các trình điều khiển thiết bị và bộ quản lý ngắt, có nhiệm vụ chuyển thông tin giữa bộ nhớ chính và hệ thống đĩa Các trình điều khiển thiết bị gửi các mẫu bit xác định đến các vị trí trong bộ nhớ của bộ điều khiển nhập/xuất, thông báo cho bộ điều khiển biết vị trí và hoạt động đang diễn ra trên thiết bị.

Hệ thống quản lý nhập/xuất được cấu trúc theo từng lớp, mỗi lớp đảm nhận một chức năng cụ thể và có khả năng giao tiếp với nhau, tạo thành một hệ thống đồng bộ và hiệu quả.

CÁC LỚP CHỨC NĂNG NHẬP/XUẤT

Xử lý của người dùng Tạo lời gọi nhập/xuất, định dạng nhập/xuất

Phần mềm độc lập cho thiết bị cho phép người dùng đặt tên, bảo vệ và tổ chức các khối, bộ đệm, cũng như định vị và điều khiển thiết bị Nó cũng hỗ trợ thiết lập thanh ghi thiết bị và kiểm tra trạng thái hoạt động của chúng.

Kiểm soát ngắt Báo cho driver khi nhập/xuất hoàn tất Phần cứng Thực hiện thao tác nhập/xuất

Khi người dùng trong một ứng dụng cần đọc dữ liệu từ một tập tin, hệ điều hành sẽ được kích hoạt để xử lý yêu cầu Phần mềm độc lập thiết bị sẽ tìm kiếm trong bộ nhớ cache, và nếu dữ liệu không có sẵn, nó sẽ gọi chương trình điều khiển thiết bị để gửi yêu cầu đến phần cứng Tiến trình sẽ tạm ngưng cho đến khi thao tác đọc hoàn tất Sau khi hoàn tất, phần cứng sẽ phát sinh một ngắt, bộ phận kiểm soát ngắt sẽ kiểm tra sự kiện này, ghi nhận trạng thái thiết bị và đánh thức tiến trình đã bị tạm ngưng để tiếp tục thực hiện yêu cầu I/O.

Phần cứng nhập/xuất có nhiều cách nhìn nhận khác nhau Kỹ sư điện tử tập trung vào các thiết bị vật lý như IC, dây dẫn, bộ nguồn và motor Trong khi đó, lập trình viên lại xem xét phần cứng từ góc độ phần mềm, quan tâm đến các lệnh mà thiết bị chấp nhận, chức năng mà chúng thực hiện và thông báo lỗi Điều này có nghĩa là lập trình viên chú trọng vào việc lập trình thiết bị để có thể truy xuất từng khối riêng biệt, ví dụ như đĩa, cho phép đọc hoặc ghi dữ liệu một cách linh hoạt.

Thiết bị tuần tự là một loại thiết bị truyền thông mà việc gửi và nhận thông tin diễn ra qua chuỗi các bit mà không cần địa chỉ xác định và không hỗ trợ thao tác seek Các thiết bị như màn hình, bàn phím, máy in, card mạng, chuột và nhiều thiết bị không phải dạng đĩa khác đều thuộc loại thiết bị tuần tự.

Việc phân chia các lớp thiết bị I/O hiện tại chưa hoàn toàn tối ưu, vì một số thiết bị như đồng hồ và bộ nhớ màn hình không tuân theo cơ chế truyền tải tuần tự các bit Do đó, cần có một tiêu chuẩn phân loại khác cho các thiết bị I/O.

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.4.1.2.Tổ chức của chức năng I/O

Có ba cách để thực hiện I/O:

Bộ xử lý gửi lệnh I/O đến các đơn vị I/O và sau đó chờ trong trạng thái "busy" cho đến khi thao tác hoàn tất trước khi tiếp tục xử lý.

Bộ xử lý phát sinh lệnh I/O đến các đơn vị I/O và tiếp tục xử lý cho đến khi nhận được tín hiệu ngắt từ đơn vị I/O, báo hiệu rằng quá trình đã hoàn tất Khi đó, bộ xử lý tạm ngưng công việc hiện tại để chuyển sang 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 trang bị bộ điều khiển thiết bị, cho phép bộ xử lý thực hiện nhập xuất thứ nhất Phương pháp này giúp tách rời bộ xử lý khỏi các mô tả chi tiết của thiết bị ngoại vi, tạo điều kiện thuận lợi cho việc quản lý và điều khiển.

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

2.4.1.3.Bộ điều khiển thiết bị

Một đơn vị bị nhập xuất bao gồm hai thành phần chính: thành phần cơ và thành phần điện tử Thành phần điện tử, hay còn gọi là bộ phận điều khiển thiết bị, thường được gọi là card giao tiếp trong các máy vi tính Trong khi đó, thành phần cơ chính là thiết bị vật lý mà chúng ta sử dụng.

Bộ phận điều khiển thường được trang bị các kết nối để gắn thiết bị, cho phép quản lý từ hai đến tám thiết bị khác nhau Giao tiếp giữa thiết bị và bộ phận điều khiển cần tuân thủ các tiêu chuẩn như ANSI, IEEE hoặc ISO, ví dụ như bộ điều khiển đĩa phải 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

Bộ điều khiển đóng vai trò quan trọng trong việc kết nối giữa CPU, bộ nhớ và các thiết bị nhập xuất, cho phép quét các tia dọc và ngang trên màn hình Nếu không có bộ điều khiển, lập trình viên hệ điều hành sẽ phải viết thêm chương trình điều khiển tín hiệu analog cho đèn hình Tuy nhiên, với sự hỗ trợ của bộ điều khiển, hệ điều hành chỉ cần khởi động chúng với các tham số như số ký tự trên một dòng và số dòng trên màn hình, giúp tự động điều khiển các tia một cách hiệu quả.

Mỗi bộ điều khiển trong máy tính có các thanh ghi để giao tiếp với CPU, trong đó một số thanh ghi có thể là phần của bộ nhớ chính tại địa chỉ xác định, được gọi là ánh xạ bộ nhớ nhập xuất Trên hệ máy PC, có một vùng địa chỉ đặc biệt dành riêng cho nhập xuất, được chia thành nhiều đoạn, mỗi đoạn phục vụ cho một loại thiết bị cụ thể.

Hệ điều hành thực hiện quá trình nhập xuất bằng cách ghi lệnh vào các thanh ghi của bộ điều khiển, như bộ điều khiển đĩa mềm IBMPC, chấp nhận 15 lệnh khác nhau như READ, WRITE, SEEK, FORMAT và RECALIBRATE Một số lệnh yêu cầu tham số, và các tham số này cũng được nạp vào thanh ghi Sau khi lệnh được chấp nhận, CPU sẽ rời khỏi bộ điều khiển để thực hiện các tác vụ khác Khi hoàn tất, bộ điều khiển phát sinh một ngắt để thông báo cho CPU biết và lấy kết quả được lưu trong các thanh ghi.

Tổ chức lưu trữ dữ liệu trên đĩa từ

- Lưu trữ được dữ liệu trên đĩa

Hệ thống file trên CD-ROM đơn giản hơn so với các hệ thống file khác vì CD-ROM chỉ cho phép ghi một lần Điều này có nghĩa là các file trên đĩa không thể bị xóa hoặc thay đổi sau khi đĩa đã được tạo ra Do đó, thành phần quản lý File/đĩa của hệ điều hành không cần phải lo lắng về việc quản lý các Block trống hay cấp phát và thu hồi Block cho các file lưu trữ trên CD-ROM.

Sau đây chúng ta xem xét hệ thống file chính trên CD_ROM và 2 hệ thống mở rộng của chúng:

Hệ thống file ISO 9660 là chuẩn phổ biến nhất cho các hệ thống file CD-ROM, được công nhận là chuẩn quốc tế vào năm 1988 Mục đích chính của chuẩn này là đảm bảo khả năng đọc của tất cả các CD-ROM trên các máy tính khác nhau, không phụ thuộc vào thứ tự byte hay hệ điều hành, kể cả những hệ điều hành đơn giản như MS-DOS.

Trên CD-ROM, không có track hay cylinder như trên đĩa từ, mà chỉ có một đường xoắn ốc bắt đầu từ tâm ra ngoài, được chia thành các khối logic có kích thước 2352 byte, thường được gọi là các sector logic Trong mỗi khối, một vài byte được dành cho phần mở đầu, sửa chữa lỗi và các mục đích khác, trong khi phần chính còn lại khoảng 2048 byte.

ISO 9660 là chuẩn hỗ trợ cho đĩa CD-ROM với dung lượng tối đa 2^16 - 1 đĩa Trong bài viết này, chúng ta sẽ tập trung vào chuẩn ISO 9660 áp dụng cho một CD-ROM duy nhất mà không được phân chia thành các phân vùng.

Mỗi đĩa CD-ROM đều có một phần đầu dài 16 block, nhưng chức năng của phần này không được quy định trong tiêu chuẩn ISO 9600 Các nhà sản xuất CD-ROM có thể tận dụng phần đầu này để ghi chương trình BootStrap, cho phép máy tính khởi động từ đĩa CD-ROM, hoặc sử dụng cho các mục đích khác.

Phần tiếp theo của bài viết là một khối mô tả Volume chính, cung cấp thông tin chung về CD_ROM, bao gồm định danh hệ thống (32 byte), định danh volume (32 byte), định danh nhà sản xuất (128 byte) và định danh dữ liệu (128 byte) Các trường này có thể được lấp đầy theo ý muốn trong quá trình chế tạo Ngoài ra, phần này còn chứa thông tin về giới thiệu, bản quyền tác giả, thư mục, kích thước của một khối logic (2048, 4096, 8192, ), số lượng các block trên CD_ROM, cùng với thời gian tạo và kết thúc của CD_ROM.

Bộ mô tả Volume chính chứa một tập các mục vào cho thư mục gốc, bao gồm địa chỉ của block bắt đầu của thư mục gốc trên CD_ROM CD_ROM có hai bộ mô tả volume chính với nội dung hoàn toàn giống nhau, một bộ được sử dụng và một bộ dự phòng.

 Sau các phần trên là phần bắt đầu của CD_ROM dùng để chứa các file đang được ghi trên đĩa

Thư mục gốc và các thư mục khác chỉ bao gồm một số mục vào, với phần cuối chứa một bít đánh dấu Mỗi mục vào có từ 10 đến 12 trường, bao gồm một số trường thuộc ASCII và một số trường số thuộc dạng nhị phân.

Mở rộng Rock Ridge: Các chuyên viên thiết kế của UNIX nhận thấy ISO

ISO 9660 có một số hạn chế, vì vậy nó đã được mở rộng để có thể thay thế hệ thống file của UNIX trên đĩa CD-ROM Mở rộng này cho phép các file được tạo từ UNIX có thể sao chép sang CD-ROM và ngược lại, và được gọi là chuẩn Rock Ridge.

Rock Ridge retains all fields of ISO 9660 and utilizes the System field to incorporate new fields that other file systems do not recognize, treating the CD-ROM as a standard disc It adds several fields, including PX (Posix Attributes), PN (Major and minor device number), SL (Symbolic link), NM (Alternative name), CL (Child location), PL (Parent location), RE (Relocation), and TF (Timestamps), with NM being the most significant as it allows for the use of two file names for a single file.

CÂU HỎI CỦNG CỐ BÀI HỌC

1.Trình bày các phương pháp tổ chức và truy nhập dữ liệu

Sơ đồ khối của thuật toán tìm kiếm một bản ghi có chỉ số k trong file tổ chức theo kiểu chỉ số kế tiếp sử dụng các vùng chống tràn bao gồm các bước chính: đầu tiên, xác định vị trí của chỉ số k trong file; sau đó, kiểm tra các vùng chống tràn để đảm bảo không xảy ra lỗi khi truy cập dữ liệu; cuối cùng, thực hiện tìm kiếm và trả về bản ghi tương ứng nếu tìm thấy.

Để quản lý dung lượng 100MB trên một đĩa từ với mỗi khối dữ liệu là 1KB, cần xác định kích thước vùng bit map Với 1MB tương đương 1024KB, tổng số khối dữ liệu là 100MB x 1024KB/MB = 102400KB Vì mỗi khối dữ liệu cần một bit trong vùng bit map, ta cần 102400 bit Chuyển đổi sang byte, kích thước vùng bit map cần thiết là 102400 bit / 8 = 12800 byte.

4.Trình bày quy trình chung của điều khiển nhập xuất.

Điều khiển bộ nhớ

Điều khiển cpu, điều khiển quá trình

Ngày đăng: 15/03/2022, 09:46

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Thanh Tùng. Giáo trình hệ điều hành.1995. Khoa Công nghệ thông tin – Đại Học Bách Khoa Hà Nội Sách, tạp chí
Tiêu đề: Giáo trình hệ điều hành.1995
2. Hà Quang Thụy. Giáo trình nguyên lý các hệ điều hành. 1998. Đại học Khoa học tự nhiên – Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Giáo trình nguyên lý các hệ điều hành. 1998
3. Đặng Vũ Tùng. Giáo trình nguyên lý hệ điều hành. Nhà xuất bản hà Nội 2005- 3. “Tập slide bài giảng”. Bộ môn Các hệ thống thông tin Sách, tạp chí
Tiêu đề: Giáo trình nguyên lý hệ điều hành." Nhà xuất bản hà Nội 2005- 3. “"Tập slide bài giảng
Nhà XB: Nhà xuất bản hà Nội 2005- 3. “"Tập slide bài giảng"”. Bộ môn Các hệ thống thông tin
4. A. Silberschatz, P. B. Galvin, G. Gagne, Wiley &amp; Sons. “Operating system Concepts”. 2002 Sách, tạp chí
Tiêu đề: Operating system "Concepts
5. William Stallings, “Operating Systems – Internals and Design Principles”, Pearson Education International, 2005 Sách, tạp chí
Tiêu đề: Operating Systems – Internals and Design Principles”

HÌNH ẢNH LIÊN QUAN

Hình 1.1 – Cấu trúc monitor đơn giản - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 1.1 – Cấu trúc monitor đơn giản (Trang 14)
Hình  1.2  Kiến trúc đa xử lý đối xứng - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
nh 1.2 Kiến trúc đa xử lý đối xứng (Trang 18)
Hình 1.4: Cấu trúc đơn giản của một monolithic system - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 1.4 Cấu trúc đơn giản của một monolithic system (Trang 24)
Hình 1.8: Cấu trúc của Windows NT - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 1.8 Cấu trúc của Windows NT (Trang 28)
Hình 2.2. Bảng chỉ mục của danh sách liên kết - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 2.2. Bảng chỉ mục của danh sách liên kết (Trang 44)
Hình 2.3 Cấu trúc của I-node - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 2.3 Cấu trúc của I-node (Trang 44)
Hình 2.5: Hai phương pháp lưu giữ khối trống - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 2.5 Hai phương pháp lưu giữ khối trống (Trang 46)
Hình 2.7 Trạng thái của hệ thống tập tin - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 2.7 Trạng thái của hệ thống tập tin (Trang 48)
Hình 2.8. Sơ đồ tách khối/kết khối - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 2.8. Sơ đồ tách khối/kết khối (Trang 51)
Hình 2.13:Sự kết nối giữa CPU, bộ nhớ, bộ điều khiển và các thiết bị nhập xuất - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 2.13 Sự kết nối giữa CPU, bộ nhớ, bộ điều khiển và các thiết bị nhập xuất (Trang 57)
Hình 2.14: Vận chuyển DMA được thực hiện bởi bộ điều khiển - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 2.14 Vận chuyển DMA được thực hiện bởi bộ điều khiển (Trang 59)
Hình  3.1: Xử lý nhiều bước của chương trình người dùng - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
nh 3.1: Xử lý nhiều bước của chương trình người dùng (Trang 69)
Hình 3.3 trên đây minh họa cho quá trình nạp/kết thúc các tiến trình theo  thứ  tự:  nạp  process1,  nạp  process2,  nạp  process3,  kết  thúc  process2,  nạp  process4,  kết  thúc  process1,  nạp  process2  vào  lại,  trong  hệ  thống  phân  vùng  động - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 3.3 trên đây minh họa cho quá trình nạp/kết thúc các tiến trình theo thứ tự: nạp process1, nạp process2, nạp process3, kết thúc process2, nạp process4, kết thúc process1, nạp process2 vào lại, trong hệ thống phân vùng động (Trang 72)
Hình 3.4c: quản lý các đơn vị cấp phát bằng danh sách - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 3.4c quản lý các đơn vị cấp phát bằng danh sách (Trang 74)
Hình 3.8:  Mô hình phân đoạn bộ nhớ - Giáo trình Hệ điều hành (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
Hình 3.8 Mô hình phân đoạn bộ nhớ (Trang 82)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN