Quản lý bộ nhớ ngoài hệ điều hành Linux

27 263 1
Quản lý bộ nhớ ngoài hệ điều hành Linux

Đ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

Quản lý bộ nhớ ngoài hệ điều hành Linux

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ***** BÀI TẬP LỚN MÔN HỌC NGUYÊN LÝ HỆ ĐIỀU HÀNH ĐỀ TÀI:NGHIÊN CỨU QUẢN LÝ BỘ NHỚ NGOÀI TRONG HỆ ĐIỀU HÀNH LINUX Giảng Viên Hướng Dẫn Lớp Nhóm Thành viên : Ths Nguyễn Thanh Hải : KTPM – K12 : 06 Vũ Hoàng Vương Đặng Quốc Bảo Phạm Tuấn Đạt Bùi Minh Hiếu Phạm Đăng Hải Hà Nội - 2019 Mục lục Lời nói đầu Các khái niệm Các phương pháp quản lý không gian nhớ tự 2.1 Phương pháp Bit vector 2.2 Phương pháp liệt kê (List) 2.3 Phương pháp lập nhóm (Grouping) 2.4 Phương pháp đếm (Couting) Cơ cấu quản lý nhớ Linux Dịch vụ Quản lý nhớ 10 4.1 Hệ thống Buddy 10 4.2 Sàn cấp phát: cấp phát nhớ cho đối tượng 13 4.3 MMU -Tóm tắt thơng tin 14 Các phương pháp cấp phát không gian nhớ tự 15 5.1 Cấp phát liên tục (Contiguous) 15 5.2 Cấp phát liên kết (Linked) 17 5.3 Cấp phát theo số (Index) 18 Lập lịch cho đĩa (Disk-scheduling) 18 6.1 Khái niệm Disk-scheduling 18 6.2 Một số phương pháp lập lịch 18 Một số hệ thống file Linux 21 7.1 Giới thiệu 24 7.2 Hệ thống Ext 24 7.3 Hệ thống Ext 25 7.4 Hệ thống Ext 26 Danh mục hình ảnh Hình 1.1: Hình minh họa cấu trúc đĩa từ Hình 2.1: Ví dụ phương pháp Bit vector Hình 2.2: Mơ tả khơng gian đĩa từ Hình 3.1: Sơ đồ tổng quát quản lý nhớ Linux 10 Hình 4.1: Mảng danh sách trang nhớ cấp phát Buddy 11 Hình 5.1: Sơ đồ cấp phát liên tục 16 Hình 5.2: Sơ đồ cấp phát liên kết 17 Hình 5.3: Cấp phát theo số 18 Hình 6.1: Phương pháp First come first served (FCFS) 19 Hình 6.2: Phương pháp Shortest Seek Time First (SSTF) 20 Hình 6.3: Phương pháp Scan 20 Hình 6.4: Phương pháp C-Scan 21 Hình 6.5: Phương pháp Look 21 Hình 6.6: Phương pháp C-Look 22 Hình 6.7: Bộ nhớ (RAM) 23 Hình 7.1: Tổng quan hệ thống tập tin EXT 25 Lời nói đầu Linux tên gọi hệ điều hành máy tính tên hạt nhân hệ điều hành Nó có lẽ ví dụ tiếng phần mềm tự việc phát triển mã nguồn mở Phiên Linux Linus Torvalds viết vào năm 1991, lúc ông sinh viên Đại học Helsinki Phần Lan Ông làm việc cách hăng say vòng năm liên tục cho đời phiên Linux 1.0 vào năm 1994 Bộ phận chủ yếu phát triển tung thị trường quyền GNU General Public License Do mà tải xem mã nguồn Linux Mã nguồn mở HDH chương trình Linux tài liệu vơ giá để học hỏi kỹ thuật lập trình vốn tài liệu khơng cơng bố ứng dụng Windows Trong luận này, tìm hiểu phần quan trọng HDH Linux là: Quản lý nhớ ngồi Linux Giới thiệu sơ qua Linux: Linux tên gọi hệ điều hành máy tính tên hạt nhân hệ điều hành Nó có lẽ ví dụ tiếng phần mềm tự việc phát triển mã nguồn mở Phiên Linux Linus Torvalds viết vào năm 1991, lúc ơng cịn sinh viên Đại học Helsinki Phần Lan Ông làm việc cách hăng say vòng năm liên tục cho đời phiên Linux 1.0 vào năm 1994 Bộ phận chủ yếu phát triển tung thị trường quyền GNU General Public License Do mà tải xem mã nguồn Linux Chim cánh cụt Tux trên, dựa hình ảnh Larry Ewing tạo vào năm 1996, biểu trưng vật may mắn Linux Thông tin thêm: Ubuntu hệ điều hành máy tính dựa Debian GNU/Linux, phân phối Linux thông dụng Ubuntu thường cài đặt máy tính mới, trước người sử dụng mua cài đặt hệ điều hành khác Logo hệ điều hành Ubuntu Android hệ điều hành dựa tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thơng minh máy tính bảng Ban đầu, Android phát triển Tổng công ty Android, với hỗ trợ tài từ Google sau Google mua lại vào năm 2005 Android mắt vào năm 2007 với tuyên bố thành lập Liên minh thiết bị cầm tay mở: hiệp hội gồm công ty phần cứng, phần mềm, viễn thông với mục tiêu đẩy mạnh tiêu chuẩn mở cho thiết bị di động Chiếc điện thoại chạy Android bán vào tháng 10 năm 2008 Các khái niệm -Bộ nhớ: + Bộ nhớ trung tâm để điều khiển hệ thống máy tính đại + CPU lấy thị từ nhớ dựa theo giá trị đếm chương trình -Bộ nhớ ngồi: + Gồm thiết bị như: Thẻ nhớ, ổ cứng, đĩa mềm, đĩa CD/DVD… -Lý phải quản lý nhớ ngoài: Khi cần lưu trữ chương trình liệu, hệ thống máy tính cần sử dụng nhớ ngồi (đĩa từ, băng từ…) Nhiệm vụ hệ điều hành phải đảm bảo chức sau: + Quản lý không gian nhớ tự nhớ ngồi (Free space mange) + Cấp phát khơng gian nhớ tự (Allocation methods) + Cung cấp khả định vị nhớ + Lập lịch cho nhớ (Disk scheduling) - Sơ lược cấu trúc nguyên tắc hoạt động đĩa từ: Hình 1.1: Hình minh họa cấu trúc đĩa từ + Cấu tạo đĩa từ: Xét cấu trúc vật lý đĩa từ đĩa từ bao gồm hay nhiều đĩa đặt đồng trục Mỗi mặt đĩa chia thành rãnh đồng tâm gọi track, track chia thành cung gọi sector Tập hợp track cung thứ tự mặt đĩa gọi Cylinder Trên mặt đĩa có đầu từ đọc hay ghi liệu (read hay write heads) Để điều khiển đầu từ đọc hay ghi liệu cần có trình để điều khiển đĩa (disk controler) + Thư mục thiết bị: Thông tin đĩa đĩa tham chiếu thành phần: Ổ đĩa, mặt đĩa, track, sector… Thư mục thiết bị cho biết đĩa gồm thông tin gì, độ dài kiểu, người sở hữu, thời điểm khởi tạo, vị trí, phân bố khơng gian nào? Thư mục thiết tạo đĩa vùng nhớ đĩa Các phương pháp quản lý không gian nhớ tự 2.1 Phương pháp Bit vector Không gian đĩa chia thành khối (block) đánh số từ max Hình 2.1: Ví dụ phương pháp Bit vector Vd: Đĩa mềm 44Mb, mặt, 80 track/1mặt, 18 sector/1track đánh số sau: Mỗi khối đĩa sử dụng 1bit để đánh dấu trạng thái Khối đĩa sử dụng bit trạng thái có giá trị 1, chưa sử dụng có giá trị Tập hợp ký hiệu 0, tạo thành bit vector (bitmap) Đọc thông tin bitmap hệ điều hành xác định khơng gian tự đĩa Hình 2.2: Mơ tả khơng gian đĩa từ Vd: Cho khơng gian đĩa từ hình trên, khối 2, 3, 4, 5, 8, 9, 10, 11, 12, 143, 17, 18, 25, 26, 27 khối đĩa tự Khi bitmap quản lý khơng gian nhớ tự do: 11000011000000111001111110001111… - Ưu điểm: Phương pháp bitmap cài đặt đơn giản, dễ quản lý, dễ tìm kiếm khối liên tục đĩa - Nhược điểm: Tốn khơng gian lưu trữ dành cho bitmap (vì khối tốn bit để lưu trạng thái khối) 2.2 Phương pháp liệt kê (List) Trong phương pháp này, hệ thống sử dụng danh sách móc nối để liệt kê khối đĩa tự Con trỏ đầu danh sách tới khối đĩa tự đầu tiên, khối có trỏ để trỏ tới khối Ưu điểm phương pháp tiết kiệm khơng gian nhớ lại làm tăng thời gian truy nhập liệu 2.3 Phương pháp lập nhóm (Grouping) Trong phương pháp này, hệ thống cho phép nhóm khối đĩa tự liên tiếp thành nhóm Khối đĩa tự nhóm lưu trữ địa khối đĩa tư nhóm Khối đĩa cuối nhóm lưu trũư địa khối đĩa tự nhóm Theo hình, ta có bảng quản lý khơng gian nhớ tự sau: Khối đầu Nhóm Khối cuối I 2(2,3,4,5) 5(8) II 8(8,9,10,11,12,13 13(17) III 17(17,18) 18(25) IV 25(25,26,27) 27(…) 2.4 Phương pháp đếm (Couting) Phương pháp đếm biến đổi phương pháp lập nhóm Trong phương pháp này, hệ thống lập danh sách quản lý địa khối đĩa tự số lượng khối đĩa tự liên tục khối đĩa Vd: Theo hình, ta có danh sách quản lý khơng gian nhớ tự sau: Danh sách Số lượng 17 25 3 Cơ cấu quản lý nhớ Linux "Quản lý nhớ" hạn liên quan đến chế thực hệ thống hoạt động để cung cấp ứng dụng với dịch vụ liên quan đến nhớ Những dịch vụ bao gồm việc sử dụng nhớ ảo (sử dụng đĩa cứng phương tiện lưu trữ khác không-RAM cung cấp thêm nhớ chương trình), bảo vệ nhớ (khơng bao gồm quyền truy cập vào khu vực nhớ trình), nhớ chia sẻ (hợp tác xã tiếp cận với khu vực nhớ nhiều quy trình) Các dịch vụ quản lý nhớ Linux xây dựng tảng lập trình bao gồm thiết bị ngoại vi gọi đơn vị quản lý nhớ (MMU) MMU dịch địa nhớ vật lý đến địa tuyến tính sử dụng hệ điều hành, yêu cầu lỗi trang gián đoạn, CPU cố gắng truy cập nhớ khơng có quyền Khơng phải tất xử lý có MMUs Do đó, phân bố uClinux (Linux cho vi điều khiển) hỗ trợ không gian địa hoạt động Kiến trúc không bảo vệ cung cấp MMU, làm cho cho Linux để chạy lớp học vi xử lý Để hiểu biết thêm cấu trúc dịch vụ MM, cần phải biết đơn vị nhớ Linux trang, khu vực không chồng chéo nhớ tiếp giáp Tất nhớ có sẵn vật lý tổ chức vào trang vào cuối q trình khởi động hạt nhân Kích thước trang phụ thuộc vào kiến trúc vi xử lý Thiết kế vi xử lý thường cho phép có hai nhiều hơn, đơi lúc, kích thước trang Kích thước trang truyền thống sử dụng Linux 4096 byte Tuy nhiên, cách sử dụng trang nhớ "như là" thuận tiện Thơng thường, cần phải phân bổ trang nhớ Có khả Linux: -Trong hạt nhân, bạn phân bổ đối tượng hạt nhân nhỏ cách sử dụng cấp phát sàn -Bạn cấp phát khối nhớ kmalloc, phân bổ có khối kích thước lớn gần mà có -Trong chế độ người dùng, bạn bố trí số lượng nhớ cách sử dụng chức quản lý đống thực thư viện chuẩn C -Bạn tạo quản lý heap riêng bạn đầu trang gọi hệ thống hạt nhân Linux Để cung cấp giao diện đơn giản để tương tác với đơn vị quản lý nhớ thực tương tác cách cầm tay, Linux, hệ thống phụ phân bổ phát hành nhớ chia thành ba lớp Các lớp là: -Bộ cấp phát Sàn -Bộ cấp phát Zone -Bộ cấp phát Buddy Phạm vi khác trang vật lý có thuộc tính khác nhau, cho mục đích hạt nhân Ví dụ, nhớ truy cập trực tiếp làm việc phạm vi cụ thể địa vật lý kiến trúc x86 Mặt khác, PPC khơng có hạn chế Để xử lý tình phần cứng cách độc lập cấp phát Zone tạo Cấp phát Zone sử dụng để phân bổ trang khu vực quy định Hôm Linux kernel hỗ trợ ba khu vực nhớ: -DMA - Vùng bao gồm nhớ truy cập nhớ trực tiếp cho hoạt động thiết bị di sản -NORMAL - Vùng bao gồm địa nhớ sử dụng hạt nhân cho cấu trúc liệu nội hệ thống khác phân bổ không gian người dùng -HIGHMEM - Vùng bao gồm tất nhớ sử dụng dành riêng cho hệ thống phân bổ (bộ đệm hệ thống tập tin, người dùng phân bổ không gian, vv) Lưu ý cấp phát Zone thao tác với trang nhớ Kể từ thường cần phải phân bổ đối tượng có kích thước nhỏ kích thước trang, cần để đối phó với trang phân bổ khối nhớ chúng tơi Chúng ta biết kích thước hầu hết đối tượng thường phân bổ không gian hạt nhân, đó, tạo cấp phát mà nhận trang nhớ từ cấp phát Zone phân bổ đối tượng nhỏ trang nhớ Hệ thống đặt tên cấp phát Sàn (cấp phát nhớ hạt nhân Một đối tượng Caching) Cấp phát Sàn tổ chức nhớ cache, nhớ cache cho loại đối tượng, ví dụ inode_cache, dentry_cache, buffer_head, vm_area_struct Cache bao gồm nhiều (thường trang dài), có chứa nhiều đối tượng khởi tạo.Điều có nghĩa nhà xây dựng đối tượng sử dụng cho giao bạn nên khởi tạo đối tượng trước thả vào cấp phát Sàn Ngoài cấp phát Sàn làm cho phân bổ đệm nhớ kích thước đặc biệt xác định Vùng đệm nhận cách sử dụng chức hạt nhân kmalloc Bạn xác định kích thước, phân bổ kmalloc phân bổ khối kích thước lớn hơn, gần mà bạn yêu cầu Kích thước khối nhớ mà phân bổ theo kmalloc, có sẵn tập tin tiêu đề Ngồi hạt nhân có 12 thể cấp phát nhớ tiếp giáp (bộ nhớ có địa ảo tiếp giáp, khơng tiếp giáp với địa vật lý) cách sử dụng hàm vmalloc 4.2 Sàn cấp phát: cấp phát nhớ cho đối tượng Rất nhiều nhu cầu cấp phát nhớ khơng phải cho tồn trang web nhóm trang giao động đối tượng cụ thể Việc phân bổ sàn Linux ví dụ cấp phát nhớ thiết kế để quản lý đối tượng hạt nhân động (ví dụ, Cột, đệm ổ cắm mạng) Mục tiêu thiết kế cấp phát sàn preallocate vùng nhớ tiếp giáp để làm cho hiệu yêu cầu phân bổ dịch vụ cho đối tượng cụ thể Sàn khối nhớ tiếp giáp lãnh hải, trang thường kích thước Mỗi chịu trách nhiệm xử lý yêu cầu phân bổ cho đối tượng có kích thước Bởi sàn xử lý đối tượng có kích thước nhau, khơng có vấn đề phân mảnh Trong ngơn ngữ cấp phát sàn, nhớ cache thuật ngữ cho sưu tập chịu trách nhiệm cho đối tượng cụ thể Mỗi sàn ba trạng thái: -Trống rỗng: tất đối tượng phiến đá miễn phí Điều có nghĩa sưu tập trang phiến có thể, cần thiết, khai hoang hệ điều hành cho mục đích khác -Full: tất đối tượng phiến đá sử dụng -Một phần: sàn có chứa hai đối tượng miễn phí sử dụng Bộ cấp phát sàn danh sách liên kết cache (kmem_cache) A, biến cache_chain điểm bắt đầu danh sách Mỗi nhớ cache danh sách xác định loại đối tượng mà chịu trách nhiệm Trong cấu trúc kmem_cache ba trỏ: danh sách đầy đủ tấm, khác với danh sách phần, danh sách sàn rỗng Mỗi đại diện cho danh sách liên kết đối tượng sàn Một số hoạt động sàn là:  kmem_cache_create Tạo nhớ cache Hoạt động thường sử dụng hạt nhân khởi tạo mơ-đun hạt nhân nạp Nó xác định tên nhớ cache kích thước đối tượng Lưu trữ riêng biệt cho inodes, mục thư mục, ổ cắm TCP, vv Trên hệ thống Linux, bạn xem tất cấu hình loại tình trạng phân bổ họ tập tin / proc / slabinfo  kmem_cache_destroy 13 Tiêu diệt nhớ cache Các trang sử dụng nhớ cache thu hồi cấp phát trang Điều thường gọi module dỡ xuống đối tượng cụ thể tạo mơ-đun khơng cịn cần thiết  kmem_cache_alloc / kmem_cache_free Phân bổ đối tượng từ nhớ cache đặt tên Nếu có khơng có miễn phí phần, cấp phát gọi cache_alloc_refill thêm trang bổ sung cho bê tông Kmem_cache_free chức đánh dấu đối tượng miễn phí  kmalloc / kfree Điều tương tự để kmem_cache_alloc ngoại trừ nhớ cache không quy định cụ thể Chức lặp thông qua danh sách nhớ cache tìm thấy đáp ứng kích thước yêu cầu Linux cấu hình cấp phát sàn với cache chung loạt kích thước phổ biến (ví dụ, kmalloc-8, kmalloc-16, kmalloc-96, kmalloc-256) Kfree chức đánh dấu đối tượng phân bổ miễn phí 4.3 MMU -Tóm tắt thông tin Một đơn vị quản lý nhớ hỗ trợ phân trang gây tất địa logic (địa ảo) dịch sang địa vật lý (thực tế địa chỉ) cách dịch số trang hợp lý địa số khung trang vật lý Số trang bao gồm bit cao địa địa Các bit thấp hình thức địa bù đắp trang (hoặc khung trang) Ví dụ, với địa 64-bit, kích thước trang MB, sau 20 bit thấp (địa MB) hình thức bù đắp 44 bit đầu hình thành số trang Trang dựa nhớ ảo mát mẻ Nó làm giảm bớt hệ điều hành phải tìm khu vực tiếp giáp nhớ đến nhà q trình, sử dụng trang nhớ có sẵn Bảng trang theo dõi ánh xạ không gian địa ảo vật lý Mỗi trình cảm thấy sở hữu khơng gian địa đầy đủ xử lý Các vấn đề phân mảnh bên loại bỏ hồn tồn Phân mảnh nội tồn khơng sử dụng nhớ trang Trang lớn làm cho bảng trang nhỏ sử dụng TLB hiệu hơn, tạo phân mảnh nội Bảng trang cho phép hệ điều hành để quản lý bảo vệ nhớ xác định trang cụ thể ghi chứa mã thực thi Bởi q trình cần có bảng trang, hệ điều hành cần thiết lập động lần tạo trình Sau đó, chuyển đổi khơng gian địa bối 14 cảnh chuyển đổi đơn giản cách thay đổi đăng ký trang bảng sở MMU hỗ trợ nó, ID khơng gian địa đăng ký Cho đơn vị quản lý nhớ, tiến trình có khơng gian địa riêng Cùng địa ảo tham khảo hai khung trang khác (vị trí nhớ vật lý) cho hai q trình khác q trình có bảng trang riêng Các hệ điều hành chịu trách nhiệm quản lý bảng trang cho trình Trong bối cảnh chuyển đổi, hệ điều hành phải thông báo cho đơn vị quản lý nhớ vi xử lý mà sử dụng bảng trang khác Nó làm điều cách thay đổi bảng trang sở đăng ký, đăng ký có chứa địa bắt đầu bảng trang Hai tối ưu hóa thường xuất đơn vị quản lý nhớ: tối ưu hóa tra cứu thời gian tối ưu hóa khơng gian sử dụng bảng trang Nếu tất dịch địa yêu cầu tra cứu bảng trang sau truy cập nhớ hiệu suất hai lần chậm kể từ cần phải đọc bảng trang việc truy cập vào vị trí nhớ mà chúng tơi muốn Chi phí giảm đệm lookaside dịch, TLB, lưu trữ mục bảng trang thường xuyên sử dụng nhớ kết hợp Bởi hầu hết trình sử dụng phần nhỏ khơng gian địa ảo có sẵn, có khu vực lớn bảng trang chứa khơng có mục Để giữ cho kích thước bảng trang dễ quản lý hơn, cấu trúc đa cấp thường sử dụng Các bit trang địa ảo chia thành hai phần: bit cao xác định bù đắp vào bảng số cấp cao Bảng số có đăng ký sở cho bảng trang phần Các bit thấp bit trang xác định bù đắp bảng trang phần Các phương pháp cấp phát không gian nhớ tự 5.1 Cấp phát liên tục (Contiguous) 15 Để phân bổ không gian nhớ cho file, hệ thống chọn đoạn liên tục khối đĩa tự để cấp phát cho file Với phương pháp này, để định vị file hệ thống cần biết địa khối đĩa tự số lượng khối (block) dùng Hình 5.1: Sơ đồ cấp phát liên tục - Ưu điểm: + Hỗ trợ cho phương pháp truy nhập truy nhập trực tiếp - Nhược điểm: + Phải chọn thuật tốn tối ưu để tìm vùng không gian tự cấp phát cho file (First Fit, Best Fit Worst Fit) + Có thể xảy trường hợp không đủ số khối đĩa tự liên tiếp cần thiết để cấp phát cho file (kích thước file lớn vùng khối đĩa liên tục lớn nhất) + Trong trường hợp khối đĩa tự nằm tản mạn không sử dụng được, gây lãng phí khơng gian nhớ Các thuật tốn tối ưu: + First fit: Cấp phát hole mà đủ lớn Việc tìm kiếm bắt đầu từ đầu tập hole nơi mà tim kiếm firstfit trước kết thúc Chúng ta dừng việc tìm kiếm tìm thấy hole tự đủ lớn 16 + Best fit: Cấp phát hole nhỏ mà đủ lớn Chúng ta phải tìm kiếm tồn danh sách đó, trừ danh sách sếp theo kích cỡ Chiến lược tạo hole dưa thừa nhỏ + Worst fit: Cấp phát hole lớn Ngược lại, phải tìm kiếm tồn danh sách trừ xếp theo kích thước Chiến lược tạo hole dưa thừa lớn nhất, mà hữu ích nhiều so với hole dưa thừa nhỏ từ tiếp cận bestfit Những mô vừa trình bày first fit best fit tốt worst fit việc giảm thời gian tận dụng lưu trữ 5.2 Cấp phát liên kết (Linked) Trong phương pháp này, file định vị thư mục thiết bị hai trỏ, trỏ tới khối đĩa đầu tiên, trỏ tới khối đĩa cuối để cấp phát cho file Trong khối đĩa cấp phát có trỏ để trỏ tới khối đĩa Ví dụ: File F1 cấp phát khối đĩa có số hiệu 9, 16, 1, 11, 25; khối đầu 9, khối cuối 25 - Ưu điểm: + Sử dụng khối đĩa tự nằm tản mạn - Nhược điểm: + Chỉ hỗ trợ truy nhập không hỗ trợ truy nhập trực tiếp, độ tin cậy không đảm bảo bị trỏ liên Hình 5.2: Sơ đồ cấp phát liên kết 17 5.3 Cấp phát theo số (Index) Trong phương pháp này, để cấp phát không gian nhớ cho file, hệ thống sử dụng khối đĩa đặc biệt gọi khối địa số (index block) cho file Trong khối đĩa số chứa địa khối đĩa cấp phát cho file, thư mục thiết bị địa khối đĩa số Khi khối đĩa cấp phát cho file hệ thống loại bỏ địa khối khỏi danh sách khối đĩa tự cập nhật vào khối số file Hình 5.3: Cấp phát theo số - Ưu điểm: Hỗ trợ truy nhập trực tiếp - Nhược điểm: Lãng phí khơng gian nhớ dành cho khối địa số Lập lịch cho đĩa (Disk-scheduling) 6.1 Khái niệm Disk-scheduling - Thời gian truy nhập đĩa phụ thuộc ba yếu tố: + Thời gian di chuyển đầu từ đọc ghi đến track or cylinder cần thiết (Seek time) + Thời gian định vị đầu từ đọc/ghi khối đĩa cần truy nhập (Latencytime) + Thời gian truy nhập liệu (Transfer-time) Mà Seek-time Transfer-time thường cố định phụ thuộc vào cấu trúc kỹ thuật ổ đĩa nên hệ điều hành quan tâm đến Latency-time muốn tăng tốc độ truy nhập đĩa - Như định nghĩa rằng: + Lập lịch cho đĩa xây dựng thuật toán dịch chuyển đầu từ đọc/ghi cho thời gian truy nhập đĩa tối ưu 6.2 Một số phương pháp lập lịch a First come first served (FCFS) 18 Để truy nhập tới file, hệ thống tổ chức hàng đợi yêu cầu phục vụ track (lưu trữ liệu file cần truy nhập) Track có yều cầu phục vụ trước đầu từ đọc ghi dịch chuyển tới trước VD: File F1 phân bổ track có số thứ tự sau đây: 98, 183, 37, 122, 14, 124, 65, 67 Đầu từ đọc/ghi dịnh vị track có số thứ tự 53 sơ đồ dịch chuyển đầu từ đọc ghi theo thuật toán FCFS thể sau: 53 - 98 - 183 - 37 - 122 - 14 - 124 - 65 – 67 Hình 6.1: Phương pháp First come first served (FCFS) - Ưu điểm: +) Dễ lập trình +) Các track cần truy xuất liên tục - Nhược điểm +) Số track mà đầu đọc phải di chuyển nhiều +) Hiệu thuật toán phụ thuộc vào thứ tự track hàng đợi b Shortest Seek Time First (SSTF) Thuật toán SSTF chọn track có thời gian di chuyển đầu từ đọc ghi ngắn ưu tiên phục vụ track trước VD: 19 53 - 65 - 67 - 37 - 14 - 98 - 122 - 124 – 183 Hình 6.2: Phương pháp Shortest Seek Time First (SSTF) Ưu, nhược điểm SSTF - Ưu điểm Số track mà đầu đọc phải chuyển giảm - Nhược điểm Có thể gây số yêu cầu không phục vụ c Thuật toán Scan Nội dung: Đầu đọc đĩa di chuyển từ phía (ví dụ bên ngồi bên đĩa) sang phía để phục vụ yêu cầu đọc, sau di chuyển ngược lại trình lặp lặp lại Ví dụ: File F1 phân bổ track số thứ tự :98,183,37,122,14,124,65,67 giả sử đầu đọc track 53 Tổng quãng đường dịch chuyển 252 Hình 6.3: Phương pháp Scan 20 Đặc điểm: - Phương thức hoạt động thang máy - Số bước đầu đọc phải di chuyển giảm d Thuật toán C-Scan - Nội dung: Đầu đọc chuyển từ phía (trong/ngồi) sang phía phục vụ yêu cầu Khi sang đến phía kia, đầu đọc quay trở lại quay trở lại không phục vụ yêu cầu (quét chiều) Ví dụ: File F1 phân bổ track số thứ tự: 98,183,37,122,14,124,65,67 giả sử đầu đọc track 53 Số bước dịch chuyển đầu từ 252 Hình 6.4: Phương pháp C-Scan e Thuật toán Look - Nội dung: tương tự Scan thuật toán đầu đọc ghi quét phạm vi track có nhu cầu phục vụ khơng qt tới track cuối Ví dụ: File F1 phân bổ track số thứ tự: 98, 183, 37,122,14,124,65,67 giả sử đầu đọc track 53 Số bước dịch chuyển đầu từ 208 Hình 6.5: Phương pháp Look 21 f Thuật toán C-Look - Nội dung: Tương tự Look đầu đọc ghi khơng phục vụ đường Ví dụ: File F1 phân bổ track số thứ tự :98,183,37,122,14,124,65,67 giả sử đầu đọc track 53 Hình 6.6: Phương pháp C-Look Lựa chọn giải thuật lập lịch đĩa: - FCFS thuật toán phù hợp track cần truy xuất liên tục - SSTF phổ biến có hiệu tốt - SCAN LOOK thích hợp cho hệ thống phải truy xuất liệu lớn 6.3 Quản lý lỗi Đĩa đối tượng mà truy xuất gây nhiều lỗi Một số lỗi thường gặp là: Lỗi lập trình : u cầu đọc sector khơng tồn Lỗi lập trình xảy yêu cầu điều khiển tìm kiếm cylinder khơng tồn tại, đọc sector không tồn tại, dùng đầu đọc không tồn tại, vận chuyển vào nhớ không tồn Hầu hết điều khiển kiểm tra tham số báo lỗi khơng thích hợp Lỗi checksum tạm thời : gây bụi đầu đọc Bụi tồn đầu đọc bề mặt đĩa gây lỗi đọc Nếu lỗi tồn tại, khối bị đánh dấu hỏng phần mềm Lỗi checksum thường trực : đĩa bị hư vật lý khối Lỗi tìm kiếm : ví dụ đầu đọc đến cylinder phải đọc Lỗi điều khiển : điều khiển từ chối thi hành lệnh 6.4 RAM Disks Ý tưởng RAM disk đơn giản Thiết bị khối phần lưu trữ trung gian với hai lệnh : đọc khối ghi khối Thông thường khối lưu trữ đĩa mềm đĩa cứng RAM disk dùng phần định vị trước nhớ để lưu trữ khối RAM disk có ưu điểm cho phép truy xuất nhanh chóng (khơng phải chờ quay hay tìm kiếm) Như thích hợp cho việc lưu trữ chương trình hay liệu truy xuất thường xun 22 Hình 6.7: Bộ nhớ (RAM) Hình mơ tả ý tưởng RAM disk Một RAM disk chia làm nhiều khối, số lượng tùy thuộc vào dung lượng vùng nhớ Mỗi khối có kích thước vừa kích thước khối thực đĩa Khi driver nhận thị đọc ghi khối, tìm nhớ RAM disk vị trí khối, thực việc đọc hay ghi thay từ đĩa mềm hay đĩa cứng 6.5 Interleave Bộ điều khiển đọc ghi đĩa phải thực hai chức đọc/ghi liệu chuyển liệu vào hệ thống Để thực đồng hai chức này, điều khiển đọc đĩa cung cấp chức interleave Trên đĩa sector số hiệu liên tiếp khơng nằm kế bên mà có khoảng cách định, khoảng cách xác định q trình format đĩa Ví dụ : giả sử hệ thống có 17 sector, interleave chọn sector bố trí theo thứ tự sau : 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, Cách đọc sau : Lần 1: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, Lần 2: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, Lần 3: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, Lần 4: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, Như sau bốn lần thứ tự sector đọc từ đến 17 23 Một số hệ thống file Linux 7.1 Giới thiệu Hệ thống tập tin Linux tổ chức theo dạng Có vị trí khởi điểm, gọi root (gốc) Bất kỳ hệ thống Unix/Linux có thư mục đặc biệt gọi thư mục gốc (root directory) kí hiệu dấu slash (“/”) Đây điểm bắt đầu để gắn (mount point) tất phần tử lại hệ thống disks, partitions, CD ROM… vào hệ thống Linux/Unix Hiện nay, hệ thống file tiên tiến sử dụng Linux Ext2, Ext3, Ext4 có độ tin cậy cao có khả ghi nhớ q trình thao tác liệu (journaling) Tên truy cập ô đĩa theo định dạng sau: /dev/xxyN Trong đó: "dev” – tên thư mục chứa tất tập tin thiết bị “xx” – kiểu thiết bị mà phần chia nằm trên “Y” – Chỉ chữ xác định thiết bị mà phần chia nằm “N” – Số cuối biểu thị cho phần chia 7.2 Hệ thống Ext Tính Kích thước hệ thống file lớn Kích thước file lớn Chiều dài tối đa tên file Kích thước block tuỳ biến Minix 64 MB 64 MB 30 ký tự Không EXT GB GB 255 ký tự Không EXT TB GB 255 ký tự Có - Đặc trưng: + Hệ thống tập tin Ext2 hỗ trợ kiểu tập tin Unix chuẩn + Hệ thống tập tin Ext2 cung cấp tên tập tin dài + Hệ thống tập tin Ext2 dự trữ vài block cho super user (root) + Hệ thống tập tin Ext2 cho phép truy xuất đến hệ thống khác FAT, FAT32, MSDOS Windows 9.x DOS cách dễ dàng ngược lại 24 Hình 7.1: Tổng quan hệ thống tập tin EXT 7.3 Hệ thống Ext Được xây dựng dựa sở hệ thống file chuẩn ext2 mà Linux sử dụng, ext3 đưa vào thêm chức vô quan trọng, journaling file system (JFS), giúp thao tác liệu an toàn Ngồi ra, hệ thống ext cịn có thêm chế JBD (Journaling Block Device) để bảo vệ thông tin thao tác liệu, đánh giá tin cậy so với hệ thống thực journaling mục liệu (journaling of metadata only) Reiserfs, XFS hay JFS Với cách bảo vệ hai lần hiệu suất ghi liệu có phần chậm ext2; vài trường hợp, nhờ thông tin journal log mà đầu từ ổ cứng di chuyển hợp lý hơn, nên tốc độ thao tác liệu nhanh - Những ưu điểm hệ thống tập tin Ext3: + Tính khả dụng: Khi nguồn bị hỏng hay hệ thống đổ vỡ bất chợt, phân vùng định dạng theo ext2 máy tính phải kiểm tra việc đồng chúng chương trình e2fsck Việc cần khoảng thời gian để tiến hành làm thời gian khởi động hệ thống bị trễ đáng kể, đặc biệt với phân vùng lớn.Trong suốt thời gian liệu phân vùng không dùng đến Ext3 đưa để khơng cần phải thực việc kiểm tra hệ thống máy tính bị tắt đột ngột, việc kiểm tra xảy phần cứng bị hư hỏng, chẳng hạn ổ đĩa cứng bị hư Thời gian kiểm tra không phụ thuộc vào dung lượng hay số lượng file phân vùng +Tính tồn vẹn liệu: Hệ thống tập tin ext3 cung cấp việc bảo toàn liệu việc hệ thống tắt đột ngột, cho phép ta chọn loại mức độ bảo vệ liệu Mặc định mức bảo vệ cao (high level) +Tốc độ: Bất chấp việc ghi liệu nhiều lần hay lần, ext3 có số lượng liệu đưa vào trình ghi nhiều hẳn so với ext2 ext3 tối ưu 25 hóa đầu đọc chuyển động đĩa cứng Ta chọn ba mức để tối ưu tốc độ điều làm giảm tính tồn vẹn liệu +Dễ dàng chuyển đổi: Thật dễ dàng để ta chuyển đổi từ ext2 lên ext3 đạt lợi ích hệ thống tập tin mạnh mà không cần phải định dạng lại Để chuyển đổi từ ext2 sang ext3, đăng nhập root gõ lệnh: /sbin/tune2fs –j /dev/hdbx /dev/hdb : thay tên thiết bị x số thứ tự phân vùng cần chuyển đổi 7.4 Hệ thống Ext Dung lượng 32 bit phiên nguyên nhân làm giới hạn kích thước hệ thống tập tin 16 TB hành Để mở rộng giới hạn hệ thống tệp tin, phương pháp đơn giản tăng dung lượng bit sử dụng để đại diện cho số lượng khối sau sửa chữa tất tham chiếu cho liệu khối siêu liệu Ở phiên 4, thay mở rộng số lượng khối lên đến 64 bit, người phát triển phiên định mở rộng đồ với số khối 48 bit Nguyên sử dụng 64 bit khó để kiểm soát trọn vẹn nhớ khổng lồ Kể từ địa khối thay đổi hệ thống tập tin đăng tạp chí, khối lớp nhật kí (JBD) yêu cầu để hỗ trợ địa khối 48 bit Vì thế, JBD phân nhánh thành JBD2 để hỗ trợ số khối 32 bit, lúc phiên chia hai Mặc dù có phiên sử dụng JBD2, cung cấp hỗ trợ ghi lại nhật kí chung hai hệ thống tập tin 32 bit 64 bit 26

Ngày đăng: 14/10/2020, 20:42

Hình ảnh liên quan

Hình 1.1: Hình minh họa cấu trúc một đĩa từ. - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 1.1.

Hình minh họa cấu trúc một đĩa từ Xem tại trang 6 của tài liệu.
Hình 2.2: Mô tả không gian đĩa từ. - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 2.2.

Mô tả không gian đĩa từ Xem tại trang 8 của tài liệu.
Theo hình, ta có bảng quản lý không gian nhớ tự do như sau: - Quản lý bộ nhớ ngoài hệ điều hành Linux

heo.

hình, ta có bảng quản lý không gian nhớ tự do như sau: Xem tại trang 9 của tài liệu.
Hình 3.1: Sơ đồ tổng quát của quản lý bộ nhớ trong Linux. - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 3.1.

Sơ đồ tổng quát của quản lý bộ nhớ trong Linux Xem tại trang 11 của tài liệu.
Hình 4.1: Mảng danh sách các trang bộ nhớ trong bộ cấp phát Buddy.    Mỗi danh sách bao gồm các khối miễn phí về thể chất tiếp giáp của các trang  bộ nhớ 2i, trong đó i là một số danh sách - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 4.1.

Mảng danh sách các trang bộ nhớ trong bộ cấp phát Buddy. Mỗi danh sách bao gồm các khối miễn phí về thể chất tiếp giáp của các trang bộ nhớ 2i, trong đó i là một số danh sách Xem tại trang 12 của tài liệu.
Hình 5.1: Sơ đồ cấp phát liên tục.    - Ưu điểm:  - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 5.1.

Sơ đồ cấp phát liên tục. - Ưu điểm: Xem tại trang 17 của tài liệu.
Hình 5.3: Cấp phát theo chỉ số. - Ưu điểm: Hỗ trợ truy nhập trực tiếp.  - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 5.3.

Cấp phát theo chỉ số. - Ưu điểm: Hỗ trợ truy nhập trực tiếp. Xem tại trang 19 của tài liệu.
Hình 6.1: Phương pháp First come first served (FCFS). - Ưu điểm:  - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 6.1.

Phương pháp First come first served (FCFS). - Ưu điểm: Xem tại trang 20 của tài liệu.
Hình 6.2: Phương pháp Shortest Seek Time First (SSTF). Ưu, nhược điểm SSTF  - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 6.2.

Phương pháp Shortest Seek Time First (SSTF). Ưu, nhược điểm SSTF Xem tại trang 21 của tài liệu.
Hình 6.3: Phương pháp Scan - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 6.3.

Phương pháp Scan Xem tại trang 21 của tài liệu.
Hình 6.4: Phương pháp C-Scan   e. Thuật toán Look.  - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 6.4.

Phương pháp C-Scan e. Thuật toán Look. Xem tại trang 22 của tài liệu.
d. Thuật toán C-Scan. - Quản lý bộ nhớ ngoài hệ điều hành Linux

d..

Thuật toán C-Scan Xem tại trang 22 của tài liệu.
Hình 6.7: Bộ nhớ chính (RAM) - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 6.7.

Bộ nhớ chính (RAM) Xem tại trang 24 của tài liệu.
Hình 7.1: Tổng quan về hệ thống tập tin EXT 2. - Quản lý bộ nhớ ngoài hệ điều hành Linux

Hình 7.1.

Tổng quan về hệ thống tập tin EXT 2 Xem tại trang 26 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan