ictnews Sự cố năm 2038, hay còn được gọi là Y2038, là lỗi được dự báo trong các hệ thống phần mềm hiện nay liên quan đến dữ liệu thời gian tương tự như sự cố Y2K hay Y2020 vừa qua.
Sự cố năm 2038 là gì?Thời điểm chuyển
sang thế kỷ 21 cũng là lúc cả thế giới hoang mang về sự cố m?
?y tính mang tên Y2K, để rồi cách khắc
phục tạm thời lúc đó đã dẫn đến một sự cố m?
?y tính khác mang tên Y2020 vào thời điểm bước
sang năm mới 2020 vừa qua. Và sắp tới người ta tiên liệu sẽ còn có sự cố m?
?y tính Y2038.Sự cố năm 2038, hay còn được gọi là Y2038 hoặc Unix Y2K, là lỗi được dự báo trong các hệ thống phần mềm hiện nay liên quan đến dữ liệu thời gian tương tự như sự cố Y2K. Rất nhiều hệ thống đang đếm thời gian theo số giây trôi qua kể từ mốc là 0h00 ngày 1/1/1970 (theo giờ chuẩn quốc tế UTC) bằng dữ liệu số nguyên 32 bit có dấu.Sự cố năm 2038, hay còn được gọi là Y2038, là lỗi được dự báo trong các hệ thống phần mềm hiện nay liên quan đến dữ liệu thời gian tương tự như sự cố Y2K hay Y2020 vừa qua.Dung lượng dữ liệu của số nguyên 32 bit có dấu chỉ đủ duy trì đến 3h14’7’’ ngày 19/1/2038, vì nếu tính cụ thể ra thì số nguyên 32 bit có dấu chỉ đếm được 231 - 1 = 2.147.483.647 giây (khoảng gần 2,15 tỷ giây) sau mốc 0 năm 1970. Thời gian tràn bộ đếm của hệ thống sẽ gây ra nhữn
g hệ quả khó lường cho hệ thống m?
?y tính.Đây là lỗi hệ thống được phát hiện tron
g hệ điều hành Unix. Trong đó các hệ thống nhúng nhiều khả năng sẽ bị ảnh hưởng bởi sự cố 2038. Khá nhiều phương tiện giao thông hiện nay dùn
g hệ thống nhúng, như xe hơi sử dụn
g hệ thống phanh chống bó cứng ABS, hệ thống cân bằng điện tử ESC/ESP, hay như máy bay sử dụng định vị GPS, dù tất nhiên nhữn
g hệ thống nhúng này không liên quan mấy đến hệ thống thời gian.Sự cố 2038 nhiều khả năng sẽ ảnh hưởng nhiều hơn đến hệ thống nhúng trong các thiết bị thông tin liên lạc như điện thoại, router hay thiết bị phát sóng WiFi. Đó là những thiết bị dựa vào dữ liệu ngày tháng thời gian chính xác trên những nền tảng tương đồng Unix.Ngoài ra các cơ sở dữ liệu MySQL cũng dựa trên hàm thời gian bị ảnh hưởng bởi sự cố 2038. Một số phiên bản Mac OS X đời đầu cũng được cho rằng sẽ dính sự cố 2038.Hiện nay chưa có giải pháp tổng thể cho sự cố 2038. Người ta có thể đổi
sang số nguyên 32 bit không dấu để đếm thời gian, như vậy sẽ gia hạn được đến tận 6h28’15’’ ngày 7/2/2106, nhưng ngược lại sẽ làm ảnh hưởng đến nhữn
g hệ thống lưu trữ dữ liệu thời gian trước năm 1970 vốn trước đây được biểu thị bằng số âm.Trong khi đó tăng dung lượng lưu trữ thời gian lên 64 bit như các máy đời mới thì có thể tạo ra sự không tương thích với cấu trúc cũ.Trên hình là minh họa khi số đếm nhị phân dần đến giới hạn tràn, và đến thời điểm 3h14’7’’ ngày 19/1/2038 thì bộ đếm thời gian của m?
?y tính quay về năm 1901.Sự cố Y2020 vừa qua diễn ra như thế nào?Nếu tìm hiểu lại các sự cố m?
?y tính trước đây, hơn 20 năm trước cả thế giới đồn thổi về sự cố Y2K như "ngày tận thế năm 2000" có thể khiến toàn bộ hệ thống m?
?y tính sụp đổ, kéo theo nhiều hệ lụy như hệ thống giao thông đình trệ, các doanh nghiệp, ngân hàng, tổ chức chính phủ phải đóng cửa. Nguyên nhân của Y2K đến từ cách lưu thời gian của m?
?y tính. Cách đây hàng chục năm khi bộ nhớ còn đắt đỏ, các m?
?y tính, vi mạch đồng hồ điện tử chỉ dùng 2 số cuối của năm thay vì 4 số ?
?ể tiết kiệm dung lượng lưu trữ. Chẳng hạn như thay vì lưu 1998, m?
?y tính ở thời điểm đó chỉ lưu đơn giản là 98.Mọi thứ diễn ra bình thường trong thập kỷ 1960, 1970 nhưng đến cuối những năm 1990, các lập trình viên nhận ra m?
?y tính không thể phân biệt năm 1900 với 2000 vì chúng đều có 2 số cuối là 00. Khi chuyển giao
sang thế kỷ mới, mọi hoạt động sử dụng m?
?y tính và vi mạch đồng hồ điện tử sẽ bị đảo lộn.Hàng triệu người đã tham gia vào chiến dịch chạy đua để sửa lỗi hệ thống m?
?y tính. Các lập trình viên có 2 lựa chọn ?
?ể tránh sự cố Y2K: viết lại toàn bộ phần mềm, hoặc sử dụng phương pháp nhanh chóng hơn có tên "windowing" - dịch chuyển "cửa sổ" thời gian lên phía trước một chút.Theo NewScientist, cách này khiến m?
?y tính hiểu giá trị từ 00 đến 19 là năm 2000 đến 2019, còn lại là của thế kỷ trước. Vào năm 1999, có đến 80% m?
?y tính sử dụng phương pháp này vì nhanh chóng, chi phí thấp. Lúc đó các lập trình viên cho rằng tất cả m?
?y tính sẽ hỏng hoặc được nâng cấp sau 20 năm.Một nguyên nhân nữa để dịch chuyển 20 năm là các lập trình viên chọn điểm mốc chính giữa tính từ năm 1970. Nhiều ngôn ngữ lập trình và m?
?y tính đều chọn mốc thời gian khởi thủy ?
?ể tính ngày giờ là 1/1/1970, còn gọi là "mốc thời gian Unix".Nhưng thực tế đến nay vẫn còn nhữn
g hệ thống m?
?y tính cũ tồn tại và phát sinh sự cố có thể gọi là Y2020, hệ quả từ Y2K. Thời khắc bước
sang năm 2020, các m?
?y tính sử dụng "windowing" để khắc
phục Y2K đã bị lỗi vì không thể phân biệt số 20 là năm 1920 hay 2020."Khắc
phục lỗi trên nhữn
g hệ thống cũ là cơn ác mộng bởi không phải ai viết ra mã còn ở đây. Các lập trình viên không nghĩ rằn
g hệ thống của họ vẫn được sử dụng đến năm 2020", Paul Lomax - kỹ sư từng khắc
phục sự cố Y2K cho Vodafone, chia sẻ.Theo ghi nhận, một số hóa đơn tiền điện trên thế giới đầu năm nay ghi ngày xuất là 1/1/1920, trong khi hàng chục nghìn máy bán vé đỗ xe tại Mỹ đã từ chối thanh toán bằng thẻ tín dụng vì sai ngày.Tại Ba Lan, hàng nghìn m?
?y tính tiền của công ty Novitus không thể in hóa đơn do sự cố tương tự. WWE 2K20, tựa game đấu vật cũng ngừng hoạt động trong ngày đầu năm mới, rất may khi nhà phát hành 2K Sports đã tung ra bản sửa lỗi sau đó.Nhà phát triển phần mềm thu thập lỗi m?
?y tính Splunk cũng đã nhận ra lỗi này từ tháng 11/2019 và khắc
phục sau đó một tuần nên người dùng không bị ảnh hưởng.Nhiều phần mềm và hệ thống m?
?y tính tại các cơ sở y tế cũng được cho là bị ảnh hưởng bởi sự cố "hậu" Y2K, dù trả lời phỏng vấn thì hãng phát triển phần mềm y tế McKesson khẳng định không bị liên quan đến sự cố.Đến nay chưa có thống kê cụ thể về mức độ ảnh hưởng của Y2020, cũng như cách khắc
phục của nhữn
g hệ thống bị ảnh hưởng (liệu có phải là dịch "cửa sổ" lên trước chút nữa?), dù có thể rằng phần lớn hệ thống m?
?y tính cũ từ năm 2000 đã được thay thế mới.Và nếu nhìn cảm quan thì có khả năng sự cố Y2038 sẽ có mức ảnh hưởng sâu rộng hơn Y2020.
Nguồn bài viết : Table games