Các kỹ thuật áp dụng trong quản lý xuất/nhập

Một phần của tài liệu GIÁO TRÌNH HỆ ĐIỀU HÀNH ĐẦY ĐỦ NHẤT (Trang 90)

7.4.1 Vùng đệm

Vùng đệm (buffer) là vùng nhớ trung gian làm nơi lưu trữ thơng tin tạm thời trong các thao tác vào/ra.

Để thực hiện một thao tác vào ra , hệ thống cần phải thực hiện các bước sau:

-Kích hoạt thiết bị.

-Chờ thao tác vào/ra được thực hiện.

Việc chờ đợi các thiết bị đạt trạng thái thích hợp chiếm một thời gian khá lớn trong tổng các thao tác vào/ra. Vì vậy để đảm bảo tốc độ chung của hệ thống, thao tác vào/ra cần phải sử dụng vùng đệm nhằm mục đích:

- Giảm số lượng thao tác vào/ra vật lý.

- Cho phép thực hiện song song các thao tác vào/ra với các thao tác xử lý khác nhau.

- Cho phép thực hiện trước các phép nhập dữ liệu.

Thơng thường cĩ các phương pháp để tổ chức vùng đệm khác nhau như : vùng đệm trung chuyển , vùng đệm xử lý và vùng đệm vịng trịn.

Vùng đệm trung chuyển

Hệ thống tổ chức thành 2 phần: vùng nhớ vào và vùng nhớ ra riêng biệt. Vùng nhớ vào để nhập thơng tin, vùng nhớ ra để ghi thơng tin.

Trong chương trình ứng dụng, ngay sau khi mở file thơng tin sẽ được chuyển đến vùng nhớ vào. Khi gặp lệnh đọc, thơng tin sẽ được chuyển từ vùng nhớ vào tới các địa chỉ tương ứng nêu trong chương trình ứng dụng, nhu vậy mỗi giá trị sẽ được lưu giữ hai nơi trong bộ nhớ. Sau khi giá trị cuối cùng của vùng đệm được lấy ra để xử lý, vùng đệm trở nên rỗng và hệ thống nhập thơng tin mới vào cĩ thể được. Để giảm thời gian chờ đợi, hệ thống cĩ thể tổ chức nhiều vùng đệm vào, khi hết thơng tin ở một vùng đệm hệ thống sẽ chuyển vùng đệm kế tiếp.

Đối với vùng đệm ra, thơng tin được xử lý tương tự nhưng theo trình tự ngược lại. Lệnh ghi khơng đưa thơng tin trực tiếp ra thiết bị mà đưa vào vùng đệm ra. Khi vùng đệm ra đầy, hệ thống sẽ chuyển sang làm việc với vùng đệm kế tiếp, đưa thơng tin từ vùng đệm ra trước thiết bị.

Ưu điểm vùng đệm trung chuyển là hệ số song song cao, phổ dụng do cách thức tổ chức đơn giản nhưng nhược điểm tốn nhiều bộ nhớ.

Vùng đệm xử lý

Trong vùng đệm xử lý, cả thơng tin vào và ra cũng được xử lý trong một vùng bộ nhớ, thơng tin khơng cần phải lưu trữ ở nhiều vị trí khác nhau. Lệnh đọc/ghi dữliệu sẽ xác định địa chỉ thơng tin chứ khơng cần cung cấp giá trị thơng tin như trong vùng đệm trung chuyển.

Loại vùng đệm này cĩ ưu điểm là tiết kiệm khơng gian nhớ, rút ngắn thời gian trao đổi thơng tin ở bộ nhớ trong nhưng tốc độ giải phĩng vùng đệm chậm.

Vùng đệm vịng trịn

Hệ thống làm việc với 3 vùng đệm : vùng đệm để đưa thơng tin vào, vùng đệm để xử lý và vùng đệm để đưa thơng tin ra. Sau một thời gian nhất định thì vai trị các vùng đệm hốn đổi vai trị cho nhau.Như vậy, vùng đệm này sẽ đạt hiệu quả cao khi thời gian xử lý tương đương vào/ra.

Tổ chức vùng đệm này phải thực hiện các thủ tục tạo vùng đệm nhiều lần nhưng nĩ gây một số hạn chế:

- Cĩ những vùng đệm khơng sử dụng hết, gây lãng phí bộ nhớ.

- Vùng đệm cĩ thể trở thành tài nguyên găng khi cĩ nhiều file đĩng mở tạm thời.

7.4.2 Caching

Cache là một phần nhớ nhỏ thực hiện các thao tác lưu trữ nhanh. Cache được tổ chức từ bộ nhớ của vi xử lý hay trên mainboard. Cache thường dùng để lưu dữ liệu các tiến trình để chuẩn bị xử lý. Cache chứa thơng tin cần thiết trong các thao tác vào/ra. Cache khác với đệm trong các thao tác, về cách lưu trữ dữ liệu, đệm chỉ lưu trữ dữ liệu khi cĩ thao tác vào/ra các thiết bị. Các dữ liệu trong cache là thường trực để dùng các thao tác hốn đổi gữa bộ nhớ trong và bộ nhớ đệm các thiết bị ngoại vi. Cache dùng để cải thiện hiệu suất khi cĩ nhiều tiến trình truy cập đĩa. Thao tác ghi được tổ chức hai hình thức trong cache :

- Ghi ngược (Write–back): Bộ nhớ chỉ cập nhật khi cần thiết . Bộ nhớ chính sẽ được ghi khi truy xuất đọc được thực hiện bởi một đơn vị làm chủ bus khác đối với một địa chỉ bộ nhớ mà hiện chứa dữ liệu là cũ.

- Ghi xuyên ( Write –through): Khi gặp dữ liệu yêu cầu trong cache , bộ điều khiển cacche cập nhật nội dung của bộ nhớ cache, đồng thời cũng chuyển hoạt động ghi cho CPU tới bộ nhớ chính để đảm bảo tính nhất quán giữa cache và bộ nhớ chính. Thiết kế này đơn giản nhưng hiệu suất thấp vì phải truy cập bộ nhớ chính truy cập chậm.

7.4.3 Định thời ( Scheduling)

Định thời là thiết lập những yêu cầu của I/O theo một thứ tự nào đĩ để thực hiện các thao tác tối ưu hơn. Sự sắp xếp của các tiến trình của chương trình ứng dụng do hệ thống gọi là hiếm khi sử dụng. Định thời cĩ thể cải tiến hiệu suất vào/ra các thiết bị nhất là các thiết bị chia sẻ, cĩ thể giảm thời gian trung bình đợi của các thiết bị.

Hệ điều hành phát triển việc cài đặt định thời bằng cách duy trì yêu cầu của hàng đợi của từng thiết bị sao cho tối ưu. Việc định thời cũng cĩ thể đưa ra lịch thao tác của việc xuất/nhập các thiết bị.

7.4.4 Spooling và thiết bị dành riêng (adsbygoogle = window.adsbygoogle || []).push({});

Ta biết những chương trình và dữ liệu của nĩ hoạt động hồn tồn tương tự như các thiết bị vào/ra thực. Do đĩ một thiết bị cĩ thể coi là các tiến trình và cĩ thể mơ phỏng hoạt động vào/ra bằng chương trình gọi là thiết bị ảo. SựÏ mơ phỏng như vậy, giảm thời gian chịu tải của thiết bị thực. SựÏ hoạt động của thiết bị thực giống như sự hoạt động của thiết bị ảo cùng với chương trình của nĩ.

Một spool là một vùng đệm giữ các thơng tin ra của thiết bị, chẳng hạn như máy in. Nhiệm vụ của SPOOL là tạo ra hiệu ứng song song, các thiết bị chỉ được phép khai thác trong chế độ tuần tự. Kỹ thuật SPOOL mơ phỏng các thiết bị này gọi là các thiết bị ảo và cung cấp cho các tiến trình cĩ yêu cầu. Các tiến trình sẽ

gửi thơng tin của mình ra thiết bị ảo và vào thời điểm thích hợp, thơng tin thiết bị ảo được chuyển sang thiết bị thật.

Khi cĩ nhiều tiến trình cũng cĩ nhu cầu sử dụng máy in thì hệ thống khơng thể cấp phát các yêu cầu đĩ. Nếu xử lý cùng một lúc thì kết quả in sẽ khơng sử dụng được. Do đĩ, hệ thống sẽ mơ phỏng các máy in ảo và cung cấp mỗi tiến trình cĩ mỗi máy in ảo. Các tiến trình sẽ gửi thơng tin của mình ra máy in ảo giống như máy in thật. Như vậy các tiến trình cĩ thể hoạt động song song mà khơng cần xếp hàng đợi chờ tài nguyên máy in.

Những thiết bị truy xuất chậm dùng hệ thống thiết bị dự trữ thiết bị đĩ bằng cách tạo ra các kênh thiết bị vào ra tương ứng để tăng tốc độ xuất nhập ít ảnh hưởng đến các thiết bị khác. Lời gọi hệ thống cĩ thể định vị hay tái định vị các kênh thiết bị dành riêng. Tạo những thiết bị dành riêng nhằm ngăn chặn deadlock.

7.4.5 Xử lý lỗi

Bất kỳ một thành phần của hệ thống cũng cĩ thể thực hiện cơng việc một cách khơng chuẩn. Điều này khơng những chỉ đúng với các thiết bị phần cứng mà cịn đúng với các chương trình phần mềm và cả chương trình điều khiển. Thiết bị vào/ra là các thiết bị hoạt động nhiều lỗi nhất. Do tương tác với mơi trường các thiết bị vào/ra, cĩ thể hao mịn nhất là bị rỉ sét , bộ phận chuyển động bị mịn…

Hệ thống sẽ chịu trách nhiệm xử lý lỗi do các thiết bị gây ra bằng phần cứng hay cả phần mềm . Khi gặp lỗi, hệ thống cố gắng thực hiện lại nhiều lần thao tác vào/ra. Nếu lỗõi khơng khắc phục được thì thì thơng báo cho người sử dụng để thay thế hay sửa chữa thiết bị .

Để đảm bảo độ chính xác của thơng tin lưu trữ, nhiều thiết bị đọc lại thơng tin ngay sau khi ghi và so sánh kết quả với các thơng tin gốc hoặc dùng các phép kiểm tra lơgíc để kiểm tra thơng tin gốc và thơng tin nhận được (phép tính checksum). Thiết bị điều khiển sẽ kiểm tra lại so với các thơng tin gốc, sau đĩ thơng báo lỗi hệ thống và hệ thống sẽ ra quyết định tương ứng. Ngồi ra, hệ thống cũng kiểm tra các kênh vào/ra và xem cĩ đủ điều kiện truy nhập thiết bị hay chưa.

Việc áp dụng các mã sửa sai giúp cho hệ thống khắc phục lỗi dữ liệu thường gặp. Việc kiểm tra và xử lý lỗi là một quá trình phức tạp , nên ngồi việc sửa sai trên cơ chế mềm, các thiết bị điều khiển được cài đặt cơ chế sửa sai trên thiết bị nhằm khơng chiếm dụng thời gian của CPU.

Trong cơ chế mã sửa sai (CRC) cĩ thể dùng cơ chế kiểm tra chẵn lẻ hay dùng các thuật tốn sửa sai như dùng thuật tốn sửa sai Harming.Trong cơ chế sửa sai theo mã Haminton, để truyền thơng tin k-bit cần thêm bit r- bit phụ, mỗi bit phụ sẽ đảm trách kiểm tra các bit cố định trong k-bit đã truyền. Sau đĩ kiểm tra k+r bit đã nhận.Từ r-bit phụ phát hiện các bit đã truyền sai và điều chỉnh lại các bit sai trong k-bit dữ liệu. Cũng cần lưu ý việc thiết bị các bít phụ cĩ ảnh hưởng tốc độ hệ thống và tuỳ thuộc vào thiết bị.

Một phần của tài liệu GIÁO TRÌNH HỆ ĐIỀU HÀNH ĐẦY ĐỦ NHẤT (Trang 90)