Khái niệm, định nghĩa Y2K là gì?

 Y2K là tên gọi của một “thảm họa” liên quan đến hệ thống máy tính của nhân loại.

Sự cố máy tính năm 2000 (còn được gọi là sự cố Y2Klỗi thiên niên kỷ, hay đơn giản là Y2K) là sự cố máy tính diễn ra vào thời khắc đầu tiên bước sang năm 2000. Nguyên nhân là do các máy tính thế hệ cũ, các vi mạch đồng hồ điện tử cũ không thể nhận biết được sự khác biệt giữa các năm 2000 và 1900, bởi vì chúng được lập trình với 2 chữ số cuối cùng của năm nhằm tiết kiệm dung lượng lưu trữ khi mà giá cả sản xuất phần cứng máy tính trong giai đoạn đầu còn đắt đỏ. Khi những máy này cộng thêm một con số vào sau 99 (Ví dụ 1), BIOS sẽ đặt lại số đếm thành 00. Vấn đề này là do máy tính nhận dạng ngày 01/01/00 (ngày 1 tháng 1 năm 2000) như là ngày 1 tháng 1 năm 1900.

Trong việc thiết kế lập trình chương trình máy tính, hai chữ số của năm bị phát sinh lỗi khi chuyển từ x99 đến x00. Điều này đã gây ra một số mặt hạn chế liên quan đến hoạt động không chính xác của ngày và thời gian sau ngày và giờ và sau ngày 1 tháng 1 năm 2000 gọi là ngày giới hạn hay với cái tên “chân trời sự kiện”. Nếu như không được sửa chữa kịp thời thì hệ thống làm việc lâu dài sẽ bị phá vỡ khi “…97, 98, 99, 00…” tăng dần theo thứ tự trở nên không còn hợp lệ trong thứ tự năm ví dụ như năm 19100.

Vì sự cố này, công ty và các tổ chức trên toàn thế giới đã kiểm tra, sửa chữa, và nâng cấp hệ thống máy tính của họ.

Mặc dù đã có các nỗ lực khắc phục hậu quả, số lượng các lỗi máy tính đã xảy ra khi đồng hồ của chúng chuyển sang năm 2000 vẫn là một ẩn số; một trong các lý do là do sự ngần ngại của các tổ chức khi báo cáo về vấn đề này.

Ngày nay, các máy tính đời mới đã khắc phục được sự cố Y2K có thể xảy ra trong khi hết thế kỉ.

Bối cảnh

Trước thời điểm năm 2000 đã có nhiều dự đoán về những “thảm họa” do sự cố Y2K gây ra, chẳng hạn như tàu hỏa đi chệch đường ray, máy bay bị rơi do hệ thống máy tính bị nhiễu loạn. Thậm chí có người còn dự đoán rằng số liệu nhiễu loạn sẽ gây nên tình trạng khan hiếm thực phẩm và các tên lửa hạt nhân sẽ tự khởi động. Nhưng may mắn thay, các chuyên gia trên toàn thế giới đã kịp sửa chữa các hệ thống máy tính nên đã không có thảm họa đáng kể nào xảy ra khi thế giới bước vào năm 2000.

Nhưng 24 năm nữa con người lại phải khắc phục một rắc rối tương tự, tạm gọi là sự cố 2038. Sự cố này ảnh hưởng đến các phần mềm sử dụng hệ số nguyên 32 bit để lưu trữ thông tin. Vào năm 1970, một nhóm kỹ sư phát triển hệ điều hành máy tính UNIX đầu tiên đã quyết định biểu thị thời gian ở dạng số nguyên 32 bit, và bắt đầu tính thời gian từ mùng 1 tháng Giêng năm 1970. Việc mã hóa thời gian trên hệ thống UNIX sau đó đã được triển khai rộng rãi tới tất cả các hệ thống phần mềm và phần cứng cần đo đếm thời gian.

Tuy nhiên, hệ số nguyên 32 bit chỉ biểu thị tối đa đến con số 2.147.483.647. Đến ngày 19/1/2038 thì 2.147.483.647 giây sẽ trôi qua tính từ 1/1/1970. Lúc đó, tất cả các hệ thống máy tính 32 bit sẽ khởi động trở lại mốc năm 1970.

Để hiểu về con số 2.147.483.647, chúng ta hãy hình dung: số lớn nhất có thể biểu thị bằng 1 chữ số là 9. Số lớn nhất có thể biểu thị bằng 2 chữ số là 99. Chúng ta đang biểu thị các con số trên hệ thập phân (10), vì thế 2 chữ số có thể biểu thị tất cả các con số từ 1 cho tới (10×10) -1, tức là 99. Và 3 chữ số có thể biểu thị từ 1 đến (10x10x10) -1 bằng 999.

Hệ nhị phân mà máy tính sử dụng cũng có cách biểu thị giống như vậy, nhưng thay vì dựa trên 10 con số thì nó dựa trên 2 con số (gốc 2), tức là 0 và 1. Vì thế, với một hệ nhị phân 32 bit gốc 2, số lớn nhất nó có thể biểu thị được là (2x2x2…x tới 31 lần số 2) -1 bằng 2.147.483.647.

Theo giáo sư Jonathan Smith thuộc khoa Điện toán và Thông tin Khoa học – Đại học Pennsylvania, thì đây là một rắc rối thật sự: “Phần lớn các hệ thống dựa trên nền tảng UNIX sử dụng đồng hồ 32 bit bắt đầu tính thời gian từ 1/1/1970. Vì vậy, 68 năm sau tức là năm 2038 thì bộ nhớ thời gian sẽ tràn. Lúc đó đồng hồ có thể dừng hoạt động, các ứng dụng thời gian biểu, lịch hẹn có thể không hoạt động. Các giao dịch thanh toán có thể hoạt động không chính xác”.

Tuy nhiên, việc khắc phục sự cố này về mặt kỹ thuật không phải quá khó khăn. Chúng ta chỉ cần chuyển các hệ thống phần mềm và phần cứng lên nền tảng cao hơn, chẳng hạn như 64 bit thì sẽ kéo dài được thời gian kết thúc. Trong vài năm qua, nhiều máy tính cá nhân đã chuyển sang nền tảng 64 bit. Nhiều công ty phần mềm cũng đã chuyển đổi vì đặc thù công việc. Chẳng hạn như các ngân hàng cần làm việc với các hợp đồng cho vay thế chấp có thời hạn hơn 30 năm.

Trên thực tế, hệ thống 64 bit không chỉ giúp chúng ta khắc phục sự cố 2038 mà thời gian tối đa nó có thể lưu trữ lên đến 292 tỷ năm – một con số quá ấn tượng để chúng ta yên tâm. Hơn nữa, các chuyên gia máy tính còn có 24 năm để khắc phục sự cố tiềm tàng này.