Truy cập file và ngữ nghĩa của chia xẻ

Một phần của tài liệu Cơ bản về Hệ điều hành (Trang 163 - 166)

τ Đảo độ − u tiên

6.2.5Truy cập file và ngữ nghĩa của chia xẻ

Độ phức tạp thi hành truy nhập đồng thời tới file chia xẻ từ xa phụ thuộc vào cách file đ−ợc chia xẻ nh− thế nào và ngữ nghĩa của chia xẻ file đ−ợc xác định từ ng−ời dùng.

a. Truy nhập file

Chia xẻ file có nghĩa rằng đa khách có thể truy nhập cùng một file tại cùng một thời điểm. Chia xẻ là kết quả của các thao tác truy nhập hoặc gối nhau hoặc xen kẽ nhau. Truy cập gối nhau ngụ ý rằng có nhiều bản sao của cùng một file và đồng thời đ−ợc thực hiện bởi đa thành phần không gian của file. Một ví dụ về nơi dữ liệu của file có thể đ−ợc nhân bản là việc dùng cache. Để thuận lợi đ−a bộ phận của file từ xa về cache cục bộ để truy nhập nhanh. T−ơng tự, đôi khi cần duy trì bản sao làm việc của một file tr−ớc khi một thay đổi lâu dài đ−ợc làm trên file đó. Trong cả hai tình huống, bản sao nhân bản của file dữ liệu chia xẻ tồn tại và truy nhập đồng thời tới file trở thành thực hiện đ−ợc. Mỗi vị trí có bản sao của file đ−ợc nhân bản cho khung nhìn khác nhau đối với dữ liệu. Quản lý truy nhập tới bản sao cung cấp khung nhìn kết cấu của file đ−ợc chia xẻ đ−ợc gọi là điều khiển kết cấu (coherency control).

Truy nhập xen kẽ nhau do tính đa hạt thao tác truy nhập dữ liệu. Một vài truy nhập file đơn giản là thao tác đọc/ghi. Truy nhập khác lại bao gồm dãy các thao tác xen kẽ nhau trải dọc theo khoảng thời gian ng−ời dùng định sẵn, chẳng hạn nh− giao dịch hoặc phiên. Thực hiện xen kẽ nhau trên cùng một file cũng tạo ra một ảo giác về chia xẻ file đồng thời. Tính đồng thời đ−ợc thực hiện bởi tính đa thành phần theo thời gian của file. Vấn đề quản lý ở đây là làm cách nào định tr−ớc ảnh h−ởng một dãy thực hiện từ các dãy khác khi chúng xen kẽ nhau và làm cách nào ngăn ngừa kết quả không nhất quán hoặc có lỗi. Bài toán này th−ờng đ−ợc nói đến nh− là bài toán điều khiển đồng thời (concurrency control).

Không gian

Thời gian Truy nhập từ xa Truy nhập cache Truy nhập tải lên/xuống RW đơn giản Không chia xẻ

thực sự

Điều khiển

nhất quán Điều khiển nhất quán

Giao dịch Điều khiển

đồng thời

Nhất quán và

đồng thời Nhất quán và đồng thời

Phiên Không thích hợp Không thích hợp Bỏ qua chia xẻ

Hình 6.5. Tính đồng thời không gian và thời gian truy nhập file

Hình 6.5. cho tính đa thành phần không gian và thời gian nhằm thực hiện hiệu quả việc truy nhập đồng thời tới file chia xẻ. Mục trong bảng là chức năng quản lý đ−ợc yêu cầu đối với mỗi giả thiết chia xẻ.

Trong phạm vi không gian, truy nhập đọc và ghi đ−ợc thi hành theo một trong các cách sau, tùy thuộc vào dữ liệu trong file đ−ợc trình diễn cho truy nhập nh− thế nào:

(1) Truy nhập từ xa: Không có dữ liệu file đ−ợc giữ trong máy khách. Mỗi yêu cầu truy nhập đ−ợc truyền trực tiếp tới phục vụ file ở xa, thông qua mạng hạ tầng.

(2) Truy nhập cahce: phần nhỏ của dữ liệu file đ−ợc duy trì trong cache cục bộ. Thao tác ghi hoặc vắng cache tạo ra một truy nhập từ xa và cập nhật lại cache đó.

(3) Truy nhập tải lên/tải xuống: Toàn bộ file đ−ợc tải xuống cho truy cập cục bộ. Truy nhập từ xa hoặc tải lên đ−ợc thực hiện khi cập nhật file từ xa.

Tiếp cận đầu tiên là mô hình truy nhập đơn mức, còn các tiếp cận khác là trình bày bảo quản phân cấp hai mức đối với dữ liệu. Thi hành mô hình truy nhập từ xa đơn mức là trực tiếp do chỉ một bản sao của dữ liệu là tồn tại, và mọi yêu cầu truy nhập là tuần tự bởi phục vụ file. Mặt hạn chế nguyên thủy là độ trễ truy nhập mạng dài và hạn chế tính đồng thời. Mô hình cache và tải lên/tải xuống cho phép tính đồng thời và rút ngắn trễ truy nhập bằng cách giữ bộ phận / toàn bộ truy nhập là cục bộ. Tuy nhiên, tiệm cận này đ−a đến bài toán kết cấu file. Do dữ liệu trong file đ−ợc nhân bản và đ−ợc chia xẻ cho một số ng−ời dùng đồng thời, file chia xẻ trình diện có thể khác nhau với những khách đồng thời khác nhau. Điều khiển kết cấu đối với bản sao dữ liệu là một bài toán không tầm th−ờng. Kết cấu của dữ liệu nhân bản có thể đ−ợc giải thích theo nhiều cách khác nhau. Những giải thích (định nghĩa) d−ới đây đ−ợc liệt kê theo một thứ tự nghiêm ngặt:

(1) Mọi bản sao là đồng nhất tại mọi thời điểm,

(2) Các bản sao đ−ợc định sẵn đồng nhất tại chỉ một số thời điểm nhất định, (3) Ng−ời dùng luôn đọc đ−ợc dữ liệu "hiện thời nhất" trong bản sao,

(4) Thao tác ghi luôn đ−ợc thực hiện "ngay lập tức" và kết quả của nó đ−ợc truyền bá theo cách cố gắng nhất.

Định nghĩa (1) về tính kết cấu là lý t−ởng song không thể thực hiện trong hệ phân tán do trễ truyền thống đáng kể. Bởi vậy, chấp nhận thực tế là không phải mọi bản sao là đồng nhất tại mọi thời điểm. Định nghĩa (2) là sự thỏa hiệp song lại khó xác định điểm đồng bộ tốt. Sự l−u hành dữ liệu là có ý nghĩa chỉ cần tại thời điểm đọc chúng. Nh− vậy, định nghĩa (3) có vẻ lôgic. V−ớng mắc ở chỗ tính phỏng chừng của thuật ngữ,

hiện thời nhất, (hoặc muộn nhất). Thứ tự t−ơng đối của các thao tác ghi cần dựa trên thời điểm "hoàn thiện" chúng, là thời điểm kết quả của thao tác ghi đó phẩn ánh trong mọi bản sao. Một giao thức cần đến một thao tác đọc luôn phải cho kết quả của thao tác ghi hiện thời nhất. Định nghĩa (4) là một cố gắng thô sơ nhằm xấp xỉ định nghĩa (3).

Bài toán kết cấu file là thích đáng cho sự tồn tại của dữ liệu nhân bản và cập nhật bị làm trễ của khách tới bản sao. Kết cấu là bài toán hệ trọng hơn trong hệ phân tán do trễ mạng là dài hơn và kém dự báo hơn. Sự phức tạp của vấn đề trễ là nhân tố mà hỏng hóc (khách, phục vụ hoặc truyền thông) xảy ra th−ờng xuyên hơn trong hệ phân tán. Hỏng hóc trong khi cập nhật file có thể đ−a file về trạng thái không nhất quán. Một mong muốn cao đối với hệ thống đảm bảo tính nguyên tử của cập nhạt, chẳng hạn mỗi thao tác cập nhật hoặc hoàn thiện thành công hoặc không có kết quả nào. Với đa bản sao của cùng một file, một cập nhật file là nguyên tử nếu tất cả hoặc không bản sao nào đ−ợc cập nhật. Cập nhật nguyên tử đòi hỏi hệ thống là thu hồi đ−ợc (recoverable) (tức là, có khả năng hủy -undo- một cập nhật từng phần và phục hồi lại hệ thống trở về trạng thái tr−ớc khi cập nhật từng phần). Thao tác hủy bao hàm việc dùng l−u giữ trạng thái bền vững (stable) mà có thể đ−ợc dùng khi khôi phục trạng thái hệ thống trong việc ứng phó với mọi hỏng hóc hệ thống. Tính nguyên tử của cập nhật nguyên tử của nhận bản đ−ợc giới thiệu trong ngữ cảnh truyền thông đa tán phát nguyên tử. Điều này đ−ợc xem xét thêm theo khung nhìn dữ liệu và giao thức quản lý nhân bản.

Trong phạm vi thời gian, các thao tác file có liên quan có thể đ−ợc nhóm lại theo những đoan thời gian khác nhau tùy theo nhu cầu áp dụng chúng. Các thao tác đọc và ghi từ các QT khác nhau dẫn tới truy nhập file đồng thời. Một số giả thiết về truy nhập file là:

(1) RW đơn giản: Mỗi thao tác đọc và ghi là một truy nhập hỏi/đáp độc lập tới

phục vụ file;

(2) Giao dịch: Một dãy các thao tác đọc và ghi đ−ợc xem xét nh− là một đơn vị cơ sở truy nhập file (với một số đòi hỏi ngữ nghĩa bổ sung cho giao dịch). Về cú pháp, giao dịch đ−ợc biểu diễn bởi một begin transaction tiếp theo là một số các truy nhập file và kết thúc với end transaction. Giao dịch ở đây đ−ợc định nghĩa theo nghĩa hẹp là các thao tác đọc và ghi truy nhập tới cùng một file. (adsbygoogle = window.adsbygoogle || []).push({});

(3) Phiên: Phiên chứa một dãy các giao dịch và thao tác RW đơn giản với ngữ

nghĩa bổ sung phù hợp với phiên đ−ợc định nghĩa bởi ứng dụng. Điển hình, phiên đ−ợc gói gọn trong cặp các thao tác mở và đóng file.

Truy nhập RW đơn giản và phiên là các khái niệm quen thuộc trong mọi hệ điều hành. Giao dịch là một khái niệm đồng bộ mức cao. Truy nhập dữ liệu của một giao dịch đ−ợc chứa đựng trong cặp begin transaction/end transaction. Dãy các truy nhập (bao gồm cập nhật) là nguyên tử hoặc không thể chia cắt với nghĩa dãy các thao tác đ−ợc thực hiện bỏ qua sự giao thoa từ các khách khác. Kết quả của việc thực hiện xen kẽ các truy nhập bởi nhiều khách là t−ơng đ−ơng với sự thực hiện tuần tự của dãy, đ−a dữ liệu từ trạng thái nhất quán này tới trạng thái nhất quán khác. Nếu các tính chất nguyên tử, nhất quán, cô lập và bền vững (ACID) d−ợc đảm bảo (xem truyền thông giao dịch), truy nhập dữ liệu đ−ợc tạo trong một giao dịch nguyên tử. Khái niệm giao dịch nguyên tử là phổ dụng với những ứng dụng th−ơng mại. Chức năng làm hiệu lức tính nguyên tử và nhất quán trong phục vụ file đ−ợc gọi là dịch vụ giao dịch.

b. Ngữ nghĩa của chia xẻ

Chia xẻ file sử dụng truy nhập đa thành phần không gian và thời gian đ−a tới baif toán điều khiển kết cấu và đồng thời. Giải pháp tới bài toán phụ thuộc vào ngữ nghĩa của chia xẻ do các ứng dụng yeu cầu. Về lý t−ởng, cần cập nhật một file là hoàn thiện ngay lập tức và kết quả của nó trở nên nhìn thấy đ−ợc một cách tức thì đối với các QT chia xẻ khác. Về thực tế, ngữ nghĩa này là khó thực hiện và do đó th−ờng là nhẹ nhàng hơn. Trễ của thao tác ghi là không thể tránh đ−ợc trong hệ phân tán do kết quả của thao tác ghi có thể đ−ợc trễ bởi mạng hoặc bởi dịch vụ hệ thống theo đòi hỏi kết cấu và nhất quán. Dùng quan điểm không gian và thời gian nh− hình 6.5, có danh sách ba mô hình phổ biến nhất cho các mục tiêu khác nhau của chia xẻ file:

(1) Ngữ nghĩa UNIX: Kết quả của thao tác ghi đ−ợc lan truyền tới file và các bản sao của nó tức thì sao cho các thao tác đọc sẽ nhận đ−ợc giá trị "muộn nhất" của file. Không bị chậm lệnh ghi phải chịu ngoại trừ trễ mạng tất yếu. Truy nhập tiếp theo của khách phát ra thao tác ghi buộc phải chờ thao tác ghi hoàn thiện. Mục tiêu nguyên thủy là duy trì tính hiện thời của dữ liệu.

Việc chia xẻ nội dung

Khi sử dụng file chung truy cập thời gian ảnh h−ởng sự liên kết và điều khiển. Giải pháp cho vấn đề này phụ thuộc vào yêu cầu chia xẻ của ứng dụng. Thực tế chúng ta muốn cập nhật hoá một cách hoàn toàn tới file và có ngay kết quả của quả trình chia xẻ. Tr−ờng hợp đặc biệt nội dung này khó đạt đ−ợc và luôn bị giảm xuống. Thời gian trễ là không tránh khỏi trong hệ phân tán vì quá trình ghi bị trì hoãn ảnh h−ởng bởi mạng hoặc hệ thống dịch vụ khác cố định có liên kết với nó. Sử dụng khái niệm không gian và thời gian ta lập ba mô hình nội dung có thực thể khác nhau cho file chia xẻ:

Nội dung HĐH (UNIX): Kết quả quá trình ghi truyền tới file và đ−ợc sao ra lập tức, thao tác đọc trở thành công việc mới nhất của file. Không có sự trễ nào trừ sự trì

hoãn của mạng là không tránh khỏi. Truy cập từ máy PC phải chờ quá trình ghi hoàn thành, khoá duy trì dữ liệu hiện thời.

Nội dung công việc: Kết quả quá trình ghi có thể không l−u trong vùng nhớ đang làm việc và chuyển đổi chỉ khi vài kết quả cố định bắt buộc để ở cuối quá trình. Đối t−ợng khoá duy trì dữ liệu cố định.

Nội dung đoạn: Ghi vào file thể hiện qua sự nhân bản, kết quả tạo ra cố định chỉ

tại nơi kết thúc đoạn. Nội dung khoá duy trì sự truy cập dữ liệu có hiệu quả.

Khác biệt chính giữa nội dung HĐH và 2 loại khác là sự trễ trong quá trình ghi. Unix cho phép ghi ngay hiệu quả trong khi nội dung đoạn và công việc sử dụng độ trễ. Unix dễ thao tác với bộ xử lý đơn nơi mà dữ liệu đ−ợc l−u trong các file cơ bản, file chung không đ−ợc định danh và mọi thao tác đọcghi trực tiếp bởi file chủ. Nếu dữ liệu đ−ợc l−u trong một quá trình xử lý cơ bản (th−ờng trong hệ thống phân tán) nhiều bộ nhớ nhỏ chứa cùng file dữ liệu có thể tồn tại. Yêu cầu ghi vào file chủ xử dụng điều kiện kế hoạch l−u. Tuy vậy kết quả không đúng trừ khi bộ nhớ vừa đ−ợc cập nhật hoá. Vấn đề cùng l−u bộ nhớ về logic phức tạp nh− vấn đề bộ nhớ cố định trong hệ thống bộ nhớ phân tán chia xẻ. Cách thức ghi đúng và cập nhật nh− thế nào đ−ợc thảo luận ở ch−ơng sau.

Thông tin đúng trên file chủ l−u dữ liệu đ−ợc cập nhật th−ờng xuyên. Truy cập file bằng việc ghi vào bộ nhớ định danh mô hình nội dung. Thao tác ghi vào bộ nhớ không hiệu quả bằng thao tác đọc. Cải tiến quá trình ghi bằng cách ngừng ghi nếu mọi quá trình ghi vào file chủ không cần thiết ngay lập tức. Rất khó để quyết định quá trình ghi có ảnh h−ởng tới quá trình không, giải pháp là ghi vào file chủ một cách có định ký, không ảnh h−ởng tới quá trình xử lý khác. Chiến l−ợc điều khiển ghi trực tiếp vào bộ nhớ lfm việc truy cập tăng lên không đ−ợc duy trì chính xác trong nội dung UNIX. HĐH cố gắng chia xẻ dữ liệu toàn bộ cho các máy PC, trong nhiều tr−ờng hợp nó giải quyết sự lãng phí. Vài ứng dụng không liên quan đến bản sao, dữ liệu cố định bị xâm phạm. Hệ thống chỉ đòi hỏi kết quả thực hiện cân bằng thao tác thực hiện đoạn. Việc cập nhật file cố định lâu hơn trong mô hình nội dung công việc. Mỗi khách chứa file sao từ file chủ có thể sửa đổi nội dung file sao tới hết đoạn file, khi file đóng sửa đổi file đ−ợc sao từ file chủ. Tính chất này không đ−ợc áp dụng nếu có nhiều khách. Việc chia xẻ hạn chế giữa nhiều khách sẽ dễ thực hiện và áp đáp ứng đầy đủ các yêu cầu ứng dụng.

Một phần của tài liệu Cơ bản về Hệ điều hành (Trang 163 - 166)