5 lỗi phần mềm máy tính khét tiếng trong lịch sử

Ngoc Huynh

Trong thời đại kĩ thuật số, các lỗi máy tính có thể gây ảnh hưởng tới đời sống, nền kinh tế quốc gia và thậm chí là chức năng xã hội nói chung. Khi Internet of Things ngày càng xâm lấn vào mọi khía cạnh môi trường chúng ta thì tầm quan trọng của việc phát hiện và ngăn ngừa lỗi máy tính cũng tăng theo cấp số nhân.

Trong khuôn khổ bài viết hôm nay, chúng tôi xin giới thiệu 5 lỗi phần mềm máy tính khét tiếng từng xảy ra trong lịch sử để các bạn hiểu rõ thêm:

1. “Trùm sản sinh” của mọi loại lỗi

Lối phần mềm đầu tiên

Chiều ngày 9/9/1947, Grace Murray Hopper đã phát hiện một con ngài vướng vào chiếc máy tính Harvard Mark II. Cô lấy nhật kí ra và ghi chú lại con bọ máy tính đầu tiên. Cô ấy đã viết như sau: 15:45 “First actual case of bug being found” (Tạm dịch “trường hợp con bọ thực sự đầu tiên được phát hiện”). Ngày nay, thuật ngữ “con bọ” trong ngành khoa học máy tính không mang nghĩa đen như trước mà để nói về lỗi máy tính hoặc hỏng hóc trong phần mềm máy tính, theo đó máy có thể bị hỏng hoặc kết quả không ngờ nào đó.

2. Lỗi Y2K

Ở thế kỉ trước, các nhà lập trình phần mềm chưa bao giờ nghĩ rằng lập trình và sự sáng tạo của mình sẽ tồn tại sang một thiên niên kỷ mới. Đối với lý do này, nhiều người đã nghĩ rằng con số “19” trước biến “năm” là dư thừa, làm hao bộ nhớ máy tính (bộ nhớ máy tính lúc đó cực kì hạn chế) nên hầu hết đều đồng ý bỏ đi 2 con số này.

Mọi thứ đều vận hành tốt cho tới khi dần tới ngày 31/12/1999, mọi người mới vỡ lẽ, lo sợ đồng hồ sẽ chạy thành ngày 1 tháng 1 năm 1900 thay vì năm 2000, và vì lí do đó kéo theo hàng loạt thảm họa lớn sẽ xảy ra và chấm dứt sự tồn tại của nhân loại. Đó là ngày tận thế của thế giới.

Tuy nhiên, mọi thứ vẫn ổn nhờ một vài cập nhật phút cuối, tên lửa hạt nhân vẫn nằm yên vị trị, máy bay không rơi từ trời cao và ngân hàng không mất thông tin tiền tiết kiệm của khách hàng.

Tuy nhiên, lỗi Y2K là có thật. Hàng tỷ đô la đã được chi ra cho việc nâng cấp hệ thống máy tính trên toàn thế giới. Ở Tây Ban Nha ghi nhận một vài cột đỗ xăng không hoạt động bình thường. Viện khí tượng Pháp đăng tin thời tiết cho ngày 1 tháng 1 năm 1900 và ở Úc, một vài máy xác thực vé xe buýt bị hỏng.

3. Tên lửa Dhahran

Vào tháng 2/1991 (thời điểm Chiến tranh vùng Vịnh lần nhất), một tên lửa của I-rắc bắn vào doanh trại Dhahran của Mỹ ở Ả Rập Xê Út, đã lấy đi sinh mạng của 28 binh lính Mỹ.

Cuộc điều tra được tiến hành sau đó cho biết hệ thống phòng thủ tên lửa đã không thể kích hoạt do một lỗi máy tính khiến pin của tên lửa Patriot đã chạy liên tục trong 100 giờ. Cứ sau mỗi giờ, đồng hồ bên trong tên lửa lại trật đi một vài mili giây, tổng cộng sau 100 giờ đồng hồ đã bị lệch đi 1/3 giây và nhiêu đó đủ gây nên hậu quả lớn lên toàn bộ hệ thống.

Đối với con người, 0,33 giây không mang ý nghĩa gì nhiều, nhưng đối với ra-đa muốn theo dõi tên lửa AI Hussein Scud – có thể chạm tới vận tốc Mach 4,2 (1,5km/giây) thì sự “trì hoãn siêu nhỏ” này tương đương với “600 mét”. Trong trường hợp sự cố Dhahran, ra-đa đã xác định được đối tượng trên bầu trời nhưng không thể dõi theo vì lỗi như nói ở trên, hậu quả là tên lửa đã không được phóng đi và kết cục đáng tiếc đã xảy ra.

4.Feet hay mét? Lỗi hướng dẫn đường đi của Tàu thăm dò khí hậu Sao Hỏa

Feet: một trong những đơn vị đo lường được sử dụng thời vua chúa trước đây ở Vương Quốc Anh và vẫn còn được dùng cho tới ngày nay. Feet (foot) được kí hiệu là ft, 1 ft = 30 cm.

Tàu thăm dò khí hậu Sao Hỏa được phóng đi năm 1998 với mục tiêu nghiên cứu khí hậu trên Sao Hỏa dù rằng nó đã đã không thể hoàn thành nhiệm vụ.

Sau chuyến hành trình vài tháng trời trong không gian, tàu thăm dò bị phá hủy bởi một lỗi điều hướng: nhóm người điều khiển tàu thăm dò nơi Trái Đất sử dụng đơn vị đo lường là feet trong khi những tính toán phần mềm lại sử dụng hệ mét. Sự tính nhầm tương đương khoảng 100km dẫn đến tàu thăm dò bị sai phương hướng và bị xé thành nhiều mảnh vụn khi tiến vào bầu khí quyển Sao Hỏa.

5. Quá nhiều số cho Ariane 5

Khi lập trình phần mềm, người lập trình viên phải định nghĩa trước các biến mà chương trình sẽ sử dụng đồng thời họ cũng xác định luôn kích thước những biến này sẽ chiếm dụng trong bộ nhớ máy tính. Lượng bộ nhớ được các biến sử dụng được tính bằng đơn vị bit.

Một biến 16 bits có thể có giá trị từ -32.768 cho tới 32.767, trong khi đó một biến 64 bits có thể có giá trị từ −9.223.372.036.854.775.808 to 9.223.372.036.854.775.807.

Vào ngày 4/6/1996, tên lửa Ariane 5 đã phát nổ chỉ sau 30 giây được phóng đi. Mô phỏng với hệ thống bay và điều kiện tương tự tiết lộ phần mềm trong tên lửa (có từ thời Ariane 4) dùng biến mang giá trị 64 bit hệ thập phân được dịch thành biến 16 bit không phải hệ thập phân.

Biến 16 bit và biến 64 bit khác nhau hoàn toàn, chúng chiếm kích thước bộ nhớ khác nhau, do đó đã gây ra một loạt lỗi ảnh hưởng toàn bộ phần cứng và máy tính trên tên lửa, làm tê cứng toàn bộ hệ thống trước khi tên lửa bị phá hủy hoàn toàn.

Bonus – Màn hình xanh chết chóc BSOD trên Windows 98

Bill Gates và hàng ngàn người chứng kiến BSOD – Blue Screen of Death hay ở Việt Nam còn gọi là màn hinh xanh chết chóc nổi tiếng ngay trong buổi trình diễn Windows 98.

Chia sẻ bài viết ngay

Nguồn bài viết : https://www.bbvaopenmind.com