Các OS phổ biến là Windows windows 7, windows 10, windows server 2003, Windows Server 2008, Windows Server Trang 8 2, Bộ nhớ ngoàiBộ nhớ ngoài external memory là một thuật ngữ thường đ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA KHOA HỌC CƠ BẢN
Sinh viên thực hiện : Ngô Hoài Đức
Nguyễn Tiến Đức Nguyễn Thái Dương Nguyễn Quang Duy Nguyễn Trí Việt Hùng
Hà Nội, 21 tháng 12 năm 2023
PHIẾU HỌC TẬP CÁ NHÂN/NHÓM
Trang 21 Tên lớp: CNTT04 Khóa: K17
2 Tên nhóm: Nhóm 6
3 Tên thành viên nhóm: Ngô Hoài Đức, Nguyễn Tiến Đức, NguyễnThái Dương, Nguyễn Quang Duy, Nguyễn Trí Việt Hùng
II Nội dung học tập
1 Tên chủ đề: Nghiên cứu tìm hiểu về quản lý Bộ nhớ ngoài
trong HĐH Windows
2 Hoạt động của sinh viên
- Hoạt động/Nội dung 1: Xác định tiêu và phạm vi nghiên cứu
- Hoạt động/Nội dung 2: Tìm hiểu về hệ điều hành Windows, bộ nhớ ngoài,
quản lý bộ nhớ ngoài trong hệ điều hành
- Hoạt động/Nội dung 3: Tìm hiểu về quản lý bộ nhớ ngoài trong HDH Windows
- Hoạt động/Nội dung 4: Tìm hiểu hệ điều hành Windows sử dụng các
phương pháp nào trong quản lý bộ nhớ ngoài
- Hoạt động/Nội dung 5: Tìm hiểu công nghệ phổ biến được hệ điều hành
Windows sử dụng để quản lý bộ nhớ ngoài
3 Sản phẩm nghiên cứu: Bản báo cáo theo đúng mẫu
- Nguyễn Thanh Hải, Giáo trình Nguyên lý hệ điều hành, 2016.
- Abraham Silberschatz, Galvin, Gagne, Operating System Concepts 8th
edition.
- Tài liệu điện tử trên internet
Trang 3KẾ HOẠCH THỰC HIỆN TIỂU LUẬN, BÀI TẬP LỚN,
ĐỒ ÁN/DỰ ÁN Tên lớp: CNTT04 Khóa: K17
Tên nhóm: Nhóm 6
Tên thành viên: Ngô Hoài Đức, Nguyễn Tiến Đức, Nguyễn Thái
Dương, Nguyễn Quang Duy, Nguyễn Trí Việt Hùng
Tên chủ đề: Nghiên cứu tìm hiểu về quản lý Bộ nhớ ngoài trong
HĐH Windows
công việc
Phương pháp thực hiện
phân chia công việc
Họp offline tại thư viện
6 Nguyễn Thái Dương Xác định mục tiêu
nghiên cứu
Tham khảo chỉ dẫncủa thầy Hải và tài liệu trên internet
6 Nguyễn Thái Dương Xác định phạm vi
nghiên cứu Tham khảo chỉ dẫncủa thầy Hải và tài
liệu trên internet
7 Nguyễn Tiến Đức Tìm hiểu về hệ điều
hành Windows và bộ nhớ ngoài
Tham khảo tài liệutrên internet và cácgiáo trình liênquan
8 Nguyễn Quang Duy Tìm hiểu quản lý
không gian tự do trong bộ nhớ ngoài
Tham khảo giáo trình nguyên lý hệ điều hành
8 Nguyễn Quang Duy Tìm hiểu về cấp phát
không gian tự do trong bộ nhớ ngoài
Tham khảo giáo trình nguyên lý hệ điều hành
9 Nguyễn Tiến Đức Tìm hiểu về lập lịch
cho đĩa trong bộ nhớ ngoài
Tham khảo tài liệutrên internet và cácgiáo trình liênquan
9 Nguyễn Tiến Đức Tìm hiểu về quản lý
file trong bộ nhớ
Tham khảo giáo trình nguyên lý hệ
Trang 4Tham khảo tài liệutrên internet và cácgiáo trình liênquan
11-12 Nguyễn Thái Dương Tìm hiểu phương
pháp cấp phát không gian nhớ tự do mà Windows sử dụng
Tham khảo tài liệutrên internet và cácgiáo trình liênquan
13 Nguyễn Trí Việt Hùng,
Ngô Hoài Đức
Tìm hiểu phương pháp lập lịch cho đĩa
mà Windows sử dụng
Tham khảo tài liệutrên internet và cácgiáo trình liênquan
13 Nguyễn Quang Duy,
Nguyễn Trí Việt Hùng, Ngô Hoài Đức
Tìm hiểu quản lý file trong hệ điều hành Windows
Tham khảo tài liệutrên internet và cácgiáo trình liênquan
13 Nguyễn Quang Duy,
Nguyễn Trí Việt Hùng, Ngô Hoài Đức
Tìm hiểu về công nghệ quản lý file mà Windows sử dụng
Tham khảo tài liệutrên internet và cácgiáo trình liênquan
14 Nguyễn Thái Dương Tìm hiểu về một số lỗi
trong quản lý bộ nhớ ngoài
Tham khảo tài liệutrên internet
Trang 5MỤC LỤC Trang
LỜI CẢM ƠN 6
PHẦN NỘI DUNG I, Cơ sở lý thuyết 7
1, Hệ điều hành Windows 7
2, Bộ nhớ ngoài 8
3, Quản lý bộ nhớ ngoài ... . 9
3.1, Quản lý không gian tự do 9
3.2, Cấp phát không gian nhớ tự do . 9
3.3, Lập lịch cho bộ nhớ ngoài 9
3.4, Quản lý file 10
II, Tìm hiểu về quản lý bộ nhớ ngoài trong hệ điều hành Windows 11
1, Quản lý không gian tự do trong Windows bằng bitvector . . 11
2, Cấp phát không gian nhớ tự do trong Windows 12
3, Lập lịch cho đĩa trong Windows 15
4, Quản lý file trong Windows bằng cấu trúc Tree Directory 18
5, Công nghệ NTFS (New Technology File System) 21
III, Một số lỗi hay gặp và cách khắc phục 24
PHẦN KẾT LUẬN 27
TÀI LIỆU THAM KHẢO . . 27
Trang 6LỜI CẢM ƠN
Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến Trường Đại học Công Nghiệp Hà Nội đã đưa môn học Nguyên lý hệ điều hành vào chương trình giảng dạy Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giáo viên hướng dẫn bộ môn - Thầy Nguyễn Thanh Hải đã hướng dẫn, theo sát tiến độ làm việc của nhóm chúng em Thầy luôn đưa ra những ý kiến, những góp ýgiúp chúng em nhận ra vấn đề còn tồn tại
và kịp thời sửa chữa
Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thuthực tế còn nhiều bỡ ngỡ Mặc dù đã cố gắng nỗ lực thực hiện đề tài nhưngchắc chắn không thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chínhxác Chúng em rất mong nhận được những ý kiến góp ý của thầy để đề tài này hoàn thiện và hướng tới áp dụng thực
tế hơn Nhóm chúng em xin chân thành cảm ơn!
Trang 7sử dụng rộng rãi trên các máy tính cá nhân, máy tính xách tay, máy chủ và các thiết
bị di động Windows cung cấp một giao diện người dùng đồ họa dễ sử dụng, cho phép người dùng tương tác với hệ thống thông qua các biểu tượng, menu và cửa sổ
Nó cũng hỗ trợ nhiều ứng dụng và tiện ích đa dạng, bao gồm trình duyệt web, phần mềm văn phòng, trò chơi và ứng dụng đa phương tiện
Hệ điều hành này được phát triển và phân phối bởi “ông lớn” ngành công nghệ là Microsoft Nó gồm nhiều dòng hệ điều hành và mỗi dòng phục vụ một phần nhất định trong ngành công nghiệp máy tính Hệ điều hành viết tắt là OS (Operating System), là nền tảng cho mọi ứng dụng chạy trên nó Các OS phổ biến là Windows (windows 7, windows 10, windows server 2003, Windows Server 2008, Windows Server
2012, Windows Server 2016, Windows Server 2019 )
Trang 8Hình 1.3: Một số thiết bị bộ nhớ ngoài
Bộ nhớ ngoài cung cấp khả năng mở rộng không gian lưu trữ và truyền tải dữ liệu giữa các hệ thống máy tính Nó cho phép người dùng lưu trữ các tệp tin, ảnh, video, âm thanh và các dữ liệu khác mà không phụ thuộc vào bộ nhớ chính của máy tính Việc sử dụng bộ nhớ ngoài cũng giúp giải phóng không gian lưu trữ trên ổ cứng chính của máy tính, giúp máy tính hoạt động mượt mà hơn và tránh tình trạng bộ nhớ đầy
* Ưu điểm, nhược điểm:
- Ưu điểm:
+ Di động: Bộ nhớ ngoài thường nhỏ gọn và di động, thuận tiện để mang theo
và sử dụng trên nhiều thiết bị
+ Giá thành thấp: So với bộ nhớ trong, chi phí cho mỗi đơn vị dung lượng của
bộ nhớ ngoài thường rẻ hơn
+ Dễ dàng chuyển đổi dữ liệu giữa các máy tính khác nhau
Trang 9- Nhược điểm:
+ So với bộ nhớ trong, tốc độ đọc/ghi của bộ nhớ ngoài thường chậm hơn
+ Hiệu suất của bộ nhớ ngoài còn phụ thuộc vào loại kết nối như USB,
+ Do di động nên nguy cơ mất mát hoặc hỏng hóc cao hơn so với bộ nhớ trong
3, Quản lý bộ nhớ ngoài
3.1, Quản lý không gian tự do
Quản lý không gian nhớ tự do(Free space management) trong hệ điều hành làquá trình quản lý và sắp xếp các vùng không gian trống trên đĩa lưu trữ để có thể sửdụng cho việc lưu trữ dữ liệu mới Khi người dùng xóa hoặc di chuyển tệp tin, cácvùng không gian trống xuất hiện trên ổ đĩa Quản lý không gian tự do nhằm tối ưuhóa việc sử dụng các vùng không gian trống này, đảm bảo rằng không gian có thểđược cấp phát một cách hiệu quả và tránh tình trạng fragmentation (mảnh vụn) dẫnđến giảm hiệu suất Một số kỹ thuật quản lý không gian trống thường được sử dụng:bit vector(bitmap), liệt kê(Free list), nhóm(Grouping), đếm(Counting)
3.2, Cấp phát không gian nhớ tự do
Cấp phát không gian nhớ tự do(Allocation Methods) trong hệ điều hành là các chiến lược và thuật toán được sử dụng để quản lý và cấp phát không gian nhớ cho các tệp tin và quá trình trong hệ thống Có ba phương pháp cấp phát chính trong hệ điều hành: cấp phát liên kết (Contiguous Allocation), cấp phát liên kết(Linked), cấp phát theo chỉ số(Index)
3.3, Lập lịch cho bộ nhớ ngoài
Lập lịch cho đĩa là xây dựng các thuật toán dịch chuyển từ đầu đọc ghi sao cho thời gian truy nhập đĩa là tối ưu nhất Thời gian truy nhập phụ thuộc vào 3 yếu tố: thời gian di chuyển đầu từ đọc/ghi đến track hoặc cylinder cần thiết, thời gian định vị đầu đọc/ghi tại khối đĩa cần truy nhập và thời gian truy nhập dữ liệu Thời gian định vị đầu
từ đọc/ghi và thời gian truy nhập dữ liệu thông thường cố định và phụ thuộc cấu trúc
Trang 10kỹ thuật của ổ đĩa Do đó để tăng tốc độ truy nhập đĩa, các hệ điều hành thường quan tâm tới thời gian di chuyển từ đọc/ghi.
Tốc độ đĩa bao gồm ba phần Để truy xuất các khối trên đĩa, trước tiên phải di chuyển đầu đọc đến track hay cylinder thích hợp, thao tác này gọi là seek và thời gian
để hoàn tất gọi là seek time Một khi đã đến đúng track, còn phải chờ cho đến khi khối cần thiết đến dưới đầu đọc Thời gian chờ này gọi là latency time Cuối cùng là vận chuyển dữ liệu giữa đĩa và bộ nhớ chính gọi là transfer time Tổng thời gian cho dịch
vụ đĩa chính là tổng của ba khoảng thời gian trên Trong đó seek time và latency time là
mất nhiều thời gian nhất, do đó để giảm thiểu thời gian truy xuất hệ điều hành đưa ra các thuật toán lập lịch truy xuất Một số phương pháp lập lịch: First come first served, Shortest seek first, Scan, C-scan, look, C-look
Hình 1.4: Cấu trúc đĩa và đầu đọc đĩa
3.4, Quản lý file
Thông tin (các đặc trưng) về file được ghi trong thư mục thiết bị của ổ đĩa như: tên,kiểu, vị trí, kích thước, thời gian cập nhật, số lần sử dụng, thuộc tính, Do đó, quản lý file nghĩa là tổ chức thư mục thiết bị sao cho việc thao tác với các file là tối ưu nhất Một số kiểu tổ chức thư mục ở các hệ điều hành: tổ chức thư mực một mức (Single Level Directory), tổ chức thư mục hai mức (Two Level Directory), tổ chức theocấu trúc cây (Tree Directory), tổ chức theo đồ thị không chu trình(Acyclic Graph Directed)
Trang 11PHẦN II: TÌM HIỂU VỀ QUẢN LÝ BỘ NHỚ NGOÀI
TRONG HỆ ĐIỀU HÀNH WINDOWS
1, Quản lý không gian tự do trong Windows bằng bitvector
Hệ điều hành Windows sử dụng phương pháp dùng bit vector(bitmap) đểquản lý không gian tự do trên đĩa lưu trữ Đặc biệt, hệ thống tệp NTFS (NewTechnology File System) trong Windows sử dụng bit vector để theo dõi trạng tháicủa các khối trên đĩa Đây là một hệ thống tệp được sử dụng rộng rãi trên hệ điềuhành Windows
Hình 2.1: Minh họa về phương pháp bit map
Cấu trúc NTFS của windows sử dụng bit vector để theo dõi trạng thái của cáckhối lưu trữ trên đĩa Bit vector là một dãy các bit, trong đó có mỗi bit đại diện chotrạng thái của một khối trên đĩa Nếu bit đó là “1” thì khối đĩa này đang được sửdụng và ngược lại nếu là “0” thì khối đĩa chưa được sử dụng và đang để trống
Ví dụ: nếu một byte trong bitmap là “F”, điều này có nghĩa là 4 khối đĩa đangđược sử dụng là F (hex) = 1111 ở dạng nhị phân Do đó, nếu hai byte của BitMap là
“FF” thì điều này có nghĩa là 8 khối đĩa đang được sử dụng, vì FF = 11111111
Khi một tệp bị xóa, khối đĩa sẽ không được phân bổ hoặc không được sửdụng (cho phép dữ liệu mới ghi đè lên nó) và các bit trở về 0 Nếu 8 khối đĩa kết quảđược sử dụng bởi các tệp, FF, và sau đó một tệp bị xóa chỉ chiếm 1 cụm từ 8 cụm
đó, thì mục nhập BitMap sẽ thay đổi từ FF thành 7F, như 7F = 1111111
Trang 12Ảnh chụp màn hình bên dưới hiển thị BitMap (thông qua EnCase) trong hệđiều hành windows sau khi ổ đĩa được định dạng mới Mặc dù không có tệp dongười dùng tạo, BitMap vẫn có các khối đĩa được phân bổ do các tệp hệ thốngNTFS trên phân vùng Các giá trị hex được hiển thị là: FF FF FF FF FF FF FF FF 07
00 00 00 00 00 , điều này có nghĩa là 67 khối đĩa đang được sử dụng
Hình 2.2: Bit map trong hệ điều hành Windows
2, Cấp phát không gian nhớ tự do trong Windows
Trong hệ điều hành Windows, phương pháp cấp phát không gian nhớ tự do chính được sử dụng là cấp phát liên kết (linked allocation) đối với hệ thống tập tin FAT
Phương pháp cấp phát liên kết là phương pháp sử dụng 2 con trỏ để định vị mỗi file trong thư mục Một cái trỏ tới khối đĩa đầu tiên, một cái trỏ tới khối đĩa cuối cùng đã cấp phát cho file, trong mỗi khối đĩa cũng có một con trỏ để trỏ tới khối đĩa kế tiếp Hệ
Trang 13điều hành Windows đã ứng dụng phương pháp này để cấp phát không gian nhớ tự do cho bộ nhớ ngoài bằng hệ thống tệp tin FAT.
Hình 2.3: Hệ thống tệp tin FATCấu trúc của hệ thống tập tin FAT gồm:
- Boot sector (hay còn được gọi là boot record hoặc sector 0) là sector đầu tiêntrên đĩa cứng hoặc ổ đĩa dùng để chứa hệ thống tập tin FAT và chứa các thôngtin cần thiết để khởi động hệ thống
- File Allocation Table (FAT) là một bảng được lưu trữ trên đĩa cứng hoặc ổ đĩa,
nó gồm các mục (entries), mỗi mục tương ứng với một cluster trên đĩa, vàtrạng thái của cluster đó như:
EOF (End-of-File): cluster là cuối cùng trong chuỗi dữ liệu của mộttập tin hoặc thư mục
Trống (Free): cluster hiện tại không được sử dụng và có sẵn để cấpphát
cho tập tin mới
- Con trỏ trỏ đến cluster tiếp: mục này chứa chỉ số chỉ mục (index) của clustertiếp theo của một tập tin hoặc thư mục
- Hỏng (Bad): cluster bị hỏng không thể sử dụng
- Root directory (thư mục gốc) là thư mục cấp cao nhất trong cấu trúc thư mụccủa ổ đĩa Root directory được lưu trữ trong một vùng cố định của đĩa cứng
Trang 14hoặc ổ đĩa và chứa thông tin về các tập tin và thư mục trực tiếp nằm ở mứcgốc của ổ đĩa.
- File Data Region (vùng dữ liệu tệp) là nơi lưu dữ liệu của tệp
Hình 2.4: Cluster trong FAT
Hoạt động cấp phát không gian nhớ trong hệ thống tập tin FAT của Windows bao gồm các bước sau:
1. Xác định kích thước tập tin để cấp phát đủ số cluster để lưu trữ dữ liệu
2. Tìm các cluster trống (trạng thái "Free") mà có thể được sử dụng để lưu trữ dữ liệu của tập tin mới
3. Thay đổi trạng thái của các cluster thành chỉ mục(index) của cluster tiếp Cluster cuối cùng sẽ có trạng thái là EOF
4. Hệ thống cập nhật thông tin về tập tin trong bảng thông tin của tập tin vàcập nhật các thông số như kích thước tập tin, địa chỉ cluster đầu tiên,
5. Nếu kích thước tập tin tăng lên sau khi đã cấp phát ban đầu, hệ thống sẽtiếp tục tìm kiếm cluster trống và mở rộng chuỗi dữ liệu của tập tin bằng
Trang 15cách thêm các cluster mới vào.
6. Khi tập tin được xóa, hệ thống sẽ cập nhật bảng FAT để đánh dấu cáccluster tương ứng là trống (free)
3, Lập lịch cho đĩa trong Windows
Trong Windows, quá trình lập lịch cho đĩa cứng (disk scheduling) là một phần quan trọng của việc quản lý và tối ưu hóa hoạt động của đĩa Thuật toán lập lịch được
sử dụng để xác định thứ tự truy cập các khối dữ liệu trên đĩa, nhằm giảm thời gian truy cập và tăng hiệu suất hệ thống
Trên thực tế, không có thông tin chính thức hoặc công khai về thuật toán cụ thể được sử dụng trong Windows để lập lịch cho đĩa Microsoft không công bố chi tiết về thuật toán lập lịch đĩa mà họ sử dụng trong hệ điều hành Windows
Có nhiều giả định và thông tin phi chính thức về việc Windows sử dụng thuật toán SCAN (Elevator) hoặc các biến thể của nó như LOOK, CLOOK, C-SCAN Tuy nhiên, không có thông tin chính xác và xác nhận từ Microsoft về thuật toán cụ thể mà Windows sử dụng
Vì Windows là một hệ điều hành đóng và mã nguồn của nó không công khai, chi tiết về thuật toán lập lịch đĩa trong Windows không được công bố và chỉ có thể biết chính xác thông qua nguồn thông tin chính thức từ Microsoft Dưới đây là các thuật toán lập lịch có thể có trên Windows:
3.1 Ứng dụng thuật toán SCAN
Thuật toán SCAN (Elevator) hoạt động bằng cách di chuyển đầu đọc/ghi từ một đầu của đĩa đến đầu kia, và xử lý các yêu cầu trên đường đi Khi đầu đọc/ghi đến cuối đĩa, nó quay lại đầu đĩa khác và tiếp tục xử lý các yêu cầu trên đường đi
SCAN giảm thiểu thời gian chờ đợi và đảm bảo công bằng trong việc phục vụ các yêu cầu từ cả hai hướng Tuy nhiên, thuật toán SCAN có thể dẫn đến hiện tượng đói đĩa nếu có yêu cầu mới xuất hiện sau khi đầu đọc/ghi đã đi qua một vùng trống