Trên thực tế sự cố Y2038 có thể còn tồi tệ hơn vụ Y2K dự đoán diễn ra vào năm 2000 trước đây. Cũng giống như Y2K, nếu không được kiểm soát, sự cố Y2038 có thể gây ra những vấn đề nghiêm trọng đối với mọi hệ thống máy tính hiện nay.
Nhưng giống như Y2K, bất kỳ dự đoán nào đều được tìm hiểu và hệ thống ngân hàng có thời gian để chuẩn bị mọi tình huống có thể xảy ra. Vì vậy, liệu có nên lo lắng thái quá về vụ việc này?
Những gì được gọi là Y2038
Vấn đề của năm 2038 gây ra do các bộ xử lý 32 bit và những hạn chế của hệ thống trang bị chip 32 bit.
Về cơ bản, vào lúc 03:14:07 giờ UTC ngày 19/3/2038, các máy tính vẫn sử dụng hệ thống 32 bit để lưu trữ và xử lý sẽ không thể đối phó với những thay đổi về ngày giờ. Giống như lỗ hổng Y2K trước đây, các máy tính sẽ không thể phân biệt giữa năm 2038 và 1970.
Vấn đề sẽ xảy ra vào năm 2038 ảnh hưởng đến các phần mềm sử dụng hệ số nguyên 32-bit để lưu trữ các thông tin thời gian. Theo đó, khi nhóm các lập trình viên phát triển hệ điều hành máy tính UNIX đầu tiên vào những năm 1970, họ quyết định rằng thời gian sẽ được dùng ở dạng số nguyên 32-bit và sẽ bắt đầu từ thời điểm 1/1/1970. Cách lập trình thời gian này sau đó được tích hợp vào nhiều phần mềm và phần cứng.
Tuy nhiên, giá trị lớn nhất mà hệ 32-bit có thể lưu trữ là 2.147.483.647. Do đó, vào ngày 19/01/2038 – 2.147.483.647 giây sau thời điểm 1/1/1970 – giới hạn lưu trữ nêu trên sẽ bị vượt qua và nếu không kịp sửa chữa, tất cả các hệ thống 32-bit sẽ quay trở lại từ con số 0, mặc định thời gian hiện tại lúc đó là... năm 1970.
32 bit có nghĩa gì?
Bộ xử lý có nhiều kích cỡ khác nhau và khả năng được thiết kế dành cho các ứng dụng khác nhau nhưng hầu hết trong số chúng hoạt động và xử lý các con số một cách tương tự nhau.
Các bộ xử lý máy tính để bàn đầu tiên là phần mềm 16 bit, tức là có thể lưu trữ và truy cập các giá trị lên tới 216 hoặc 65.536 giá trị riêng biệt trong bộ nhớ 64K. Các hệ thống 16 bit đáng chú ý khác gồm bộ điều khiển game cầm tay của năm 1990- Super Nintendo và Sega MegaDrive – tiếp nối các hệ thống 8 bit của năm 1980.
Sau đó, các bộ xử lý 32 bit được phát triển để chạy các phần mềm 32 bit và tăng giá trị sử dụng khi hệ thống có thể xử lý 232 giá trị khác nhau hay hơn 4 tỷ con số khác nhau trong bộ nhớ 4GB. Các hệ thống lưu trữ ngày giờ trong các cặp 32 bit.
Vấn đề gì với các hệ thống 32 bit?
Vấn đề cơ bản là khả năng của máy tính để tính toán thời gian trong vài giây trước một ngày nhất định. Khi máy tính đo thời gian trong vài giây từ 1/1/1970 đến 03:14:07 UTC ngày 19/1/2038 tương đương với 2.147.483.647 giây. Các hệ thống ngày giờ 32 bit chỉ có thể đếm đến 2.147.483.647 và không thể tiếp tục đếm qua thời điểm đó.
Để tiếp tục đếm giây, các giá trị sẽ bắt đầu lưu âm từ - 2.147.483.647 đến 0. Nhưng hầu hết các hệ thống không thể đối phó được với sự thay đổi này và nhiều khả năng có thể sẽ thất bại.
Vấn đề tương tự cũng đã xảy ra với YouTube khi số lượng người xem video Gangnam Style vượt quá con số 2 tỷ và phá vỡ giới bạn 2.147.483.647 của bộ đếm 32 bit mà Google sử dụng.
Làm thế nào để các hệ thống máy tính biết rõ điều đó. Một số máy tính vẫn tiếp tục hoạt động tốt chỉ trừ việc hiển thị sai ngày. Tuy nhiên, nhiều máy tính khác hoạt động dựa vào ngày giờ chính xác có thể chỉ đơn giản là ngừng hoạt động.
Vấn đề lớn nhất, như lỗi Y2K, là hệ thống máy tính kiểm soát cơ sở hạ tầng ngừng hoạt động cùng một lúc. Máy bay sẽ rơi khỏi bầu trời là những đồn đoán gây sốc nhất từ sự cố Y2K trước đây. Đơn giản thảm họa đó sẽ không xảy ra nếu hệ thống máy tính được nâng cấp.
Hiện nay, hầu như tất cả các bộ vi xử lý hiện đại trong máy tính để bàn đã được bán ra như các hệ thống 64-bit chạy phần mềm 64-bit. Windows của Microsoft đã cung cấp thêm một phiên bản 64-bit kể từ Windows XP Professional 64-bit phát hành từ năm 2005.
Phần mềm OS X của Apple đã phát hành phiên bản 64 bít kể từ khi phiên bản Mac OS X 10.7 “Lion” ra đời năm 2011. Nhiều hệ thống Unix được sử dụng cho các máy chủ web và phần cứng phụ trợ khác có thể vẫn sử dụng hệ thống tính ngày 32-bit, nhưng dần dần sẽ được thay thế.
Tuy nhiên, vấn đề lớn nhất có thể xảy ra đối với những hệ thống nhúng không thể nâng cấp. Chúng được sử dụng trong nhiều hệ thống giao thông vận tải và các trang thiết bị lâu đời khác như hệ thống kiểm soát ổn định trong xe hơi hoặc các hệ thống dựa trên máy tính bị cô lập khác.
Tuy không phải tất cả các hệ thống nhúng dựa trên công thức tính ngày chính xác, và như vậy sẽ không bị ảnh hưởng thường chỉ theo dõi sự khác biệt giữa thời gian, ngày tháng không phải tuyệt đối. Các hệ thống nhúng này bị ảnh hưởng sẽ phải thay thế hoàn toàn vì đơn giản phần mềm không thể nâng cấp.
Cơ sở hạ tầng có thể gặp vấn đề lớn nhất để sửa chữa - chẳng hạn như các thiết bị trong nhà máy phát điện nhưng thời gian đủ lâu để khắc phục vấn đề đó trước khi có thể bị ảnh hưởng bởi sự cố này.