Vài năm trước, ổ cứng 40 Mb đã được xem là khá rộng rãi cho cả hệ điều hành, chương trình soạn thảo văn bản, chương trình tạo lập bảng tính (kiểu Lotus 123) và các file dữ liệu. Ngày nay, khi mỗi chương trình đều cần vài Mb, thậm chí hàng chục Mb bộ nhớ thì 40Mb trở nên quá ít ỏi. Chẳng hạn chỉ riêng MS-Windows đã cần khoảng 10Mb, thêm chương trình soạn thảo nghiêm chỉnh - MS Word for Windows chẳng hạn, lại mất khoảng 8 Mb nữa.
Cách giải quyết thông thường khi thiếu bộ nhớ là bớt ra đĩa mềm hoặc gắn thêm ổ đĩa cứng. Nhưng còn phương pháp khá hiệu quả là nén dữ liệu. Với chương trình nén thích hợp, có thể sẽ dễ dàng thậm chí tự động - thu gọn kích thước của file. File văn bản có thể nén được trên 50%, file bảng tính hoặc dữ liệu DBF trên 70%.
Có 2 chương trình nén dữ liệu là nén file và nén đĩa. Chương trình nén file xử lý (nén và tời) các file được chỉ định, còn chương trình nén đĩa chạy ngầm, tự động nén khi lưu và tời khi nạp file vào bộ nhớ. Các chương trình nén file thông dụng hiện nay là MHA, PKZIP và ARC + PLUS, các chương trình nén đĩa thông dụng là Stacker và Super Store.
CáC CHƯƠNG TRìNH NéN FILE LàM VIệC NHƯ THế NàO?
Nguyên tắc của các chương trình nén nói chung giống nhau: Tận dụng sự lặp lại của dữ liệu, các chuổi dữ liệu lặp lại được thay thế bởi con trỏ chung có độ dài bé hơn. Kỹ thuật này rất có hiệu quả đối với dữ liệu dạng bảng tính, hoặc file DBF (nén trên 70%), vì tính lặp lại của dữ liệu loại này cao: File chương trình (.EXE hoặc .COM) nén được ít hơn.
Hai vấn đề lớn: Tốc độ và tỷ lệ nén.
Ngay cả khi tất cả các chương trình nén file đều dùng chung một thuật toán thì hoạt động của chúng cũng khác nhau. Mỗi hãng triển khai thuật toán một kiểu để dung hòa hai vấn đề: thời gian và tỷ lệ nén. Chương trình PKZIP thường trội hơn các chương trình nén khác về mặt tốc độ, về mặt tỷ lệ nén, nhiều khi nó cũng khá hơn. Tính ổn định của các chương trình nén cũng là điều cần quan tâm. Các file nén nói chung rất ít khi bị hỏng. Cũng cần lưu ý là các loại file nén không tương thích với nhau, tức là nếu giữ file nén cho người khác thì người đó cần phải có chương trình thích hợp mới tời ra được. Tuy nhiên để giải quyết vấn đề này, cả 3 chương trình ARC + PLUS, LHA và PKZIP đều cho phép tạo file nén tự tời - tức file nén ở dạng chương trình thực hiện, khi chạy sẽ tự động tời ra, trên thị trường cũng bắt đầu xuất hiện chương trình chuyển đổi từ dạng file nén này sang dạng file nén khác, ví dụ chương trình D'Compress for Windows chuyển các file PKZIP, ARC, LHA sang dạng ARJ.
Các chương trình nén giá không cao (PKZIP: 47USD, LHA cung cấp miễn phí) nên được dùng khá rộng rãi. Hạn chế hiện nay của chúng là giao diện người dùng không thuận tiện, thường phải bấm lệnh với nhiều tham số ở dấu nhắc của DOS để thực hiện một công việc nào đó. Cải tiến theo hướng này đang được thực hiện: ARC + PLUS có giao diện kiểu menu, PKZIP cũng đã có phần bổ sung là PKZIP menu.
Nhiều chương trình quản lý file trong DOS và trong Windows đã bắt đầu dùng kỹ thuật nén. Chương trình Magellan của hãng Lotus dùng PKZIP từ năm 1990, chương trình Xtree Gold đưa PKZIP vào công cụ quản lý file năm 1991.
Thư mục nén rời sau đó lại phải tời ra để dùng của các chương trình nén file khá rườm rà, chính bởi lý do này mà các chương trình nén đĩa như Stacker hoặc Super Store được sử dụng tương đối rộng rãi. Các chương trình nén đĩa cũng hoạt động trên nguyên tắc giống như nén file, chỉ khác là chúng tự động nén và tời mà người dùng không phải quan tâm đến. Thời gian và tỷ lệ nén của các chương trình nén loại này khác nhau. Ðể tời 3,5 Mb dữ liệu, chương trình này hết 12 giây, chương trình khác 40 giây. Tỷ số nén đối với file văn bản cũng khác: từ 2:1 đến 3:1. Tóm lại khi dùng chương trình nén đĩa, người dùng yên tâm là dung lượng ổ cứng dường như tăng khoảng 2 lần.
Việc tời và nén khi làm việc với file sẽ làm công việc chậm lại đôi chút. Ðối với các file dữ liệu lớn, điều này thể hiện khá rõ. Bởi công việc thì nhiều chương trình dùng Coprocessor để tăng tốc độ lên. Khi làm việc, các chương trình nén đĩa hoạt động ở dạng thường trú, bởi thế một mặt nó chiếm dụng bộ nhớ RAM, một mặt có thể gây xung đột với các chương trình thường trú khác. Các chương trình nén file khi có sự cố chỉ hỏng một vài file, còn chương trình nén đĩa làm hỏng cả ổ đĩa. Tuy điều này rất ít khi xảy ra nhưng nó cũng làm cho nhiều người e ngại không dám dùng.
Ðể cài đặt chương trình nén đĩa cần phân chia lại ổ cứng vì máy tính cần được khởi động bằng đĩa nén trước khi chương trình nén hoạt động. Nếu dùng Windows thì phần không nén cần khá lớn (thông thường cần dành 10 Mb cho vùng không nén, chỉ nén vùng đĩa còn lại).
Một điều có thể làm người dùng đau đầu là phải quyết định tỷ lệ nén là bao nhiêu. Với tỷ lệ nén 10:1 chẳng hạn, chương trình nén sẽ dành nhiều "con trỏ" để trỏ đến các dữ liệu, mỗi con trỏ chiếm 2 byte, khi đó dễ xảy ra trường hợp không đủ con trỏ, chương trình báo đĩa đầy mà thực ra không phải như vậy.
Cuối cùng, việc loại bỏ chương trình nén đĩa khi đã cài đặt cũng là một vấn đề hơi phiền toái. Nhiều chương trình - chẳng hạn Double Density có chức năng loại bỏ. Ðối với các chương trình khác cần tóm các file ẩn của chương trình nén và xóa bỏ chúng đi. Có khi phải format lại ổ cứng.
Tóm lại, dù một số hạn chế, nén dữ liệu là cách thức kinh tế nhất để mở rộng dung lượng ổ cứng. Ngoài ra còn có thể tiết kiệm được khá nhiều thời gian và kinh phí khi nén dữ liệu trước khi truyền đi.