config

Selasa, 01 September 2020

Pemformatan waktu dan bug penyimpanan

Dalam ilmu komputer , bug pemformatan waktu dan penyimpanan adalah kelas bug perangkat lunak yang dapat menyebabkan penghitungan atau tampilan waktu dan tanggal tidak ditangani dengan benar. Ini adalah manifestasi yang paling umum dari luapan aritmatika , tetapi juga dapat disebabkan oleh masalah lain. Konsekuensi paling terkenal dari bug jenis ini adalahmasalah Y2K , tetapi banyak tanggal atau waktu pencapaian lain yang telah menyebabkan atau akan menyebabkan masalah tergantung pada berbagai kekurangan pemrograman.

Tahun 1970

Selama tahun 1960-an, beberapa program komputer ditulis dengan hanya menggunakan satu digit untuk tahun tersebut, sehingga 0–9 mewakili tahun 1960–1969. Sangat mudah untuk menulis program dalam bahasa COBOLdengan batasan ini. Sementara banyak perusahaan mengidentifikasi masalah ini sebelumnya, beberapa tidak dan pemadaman terjadi ketika dekade bergulir. Perbaikan umumnya adalah memperluas tahun menjadi hanya dua digit, karena keterbatasan media penyimpanan yang umum di era itu, kartu tab dan pita magnetik. butuh rujukan ]

Tahun 1975

Pada tanggal 4 Januari 1975, bidang 12-bit yang telah digunakan untuk tanggal di sistem operasi Decsystem 10 meluap. Ada banyak masalah dan kerusakan terkait dengan bug ini saat format alternatif dikembangkan. [1]

Tahun 1977

Sistem operasi PDP-8 OS / 8 digunakan

4 bit untuk bulan ini5 bit untuk tanggal didalamnya3 bit untuk tahun ini. [2] [3]

Ini dikenali ketika COS-310 dikembangkan, dan tanggal dicatat secara berbeda. [4] [5]

Tahun 1989

Beberapa program mainframe ditulis untuk menyandikan tanggal sebagai jumlah hari sejak 'tanggal nol' pada 1 Januari 1900, menyimpannya sebagai bilangan bulat biner 16-bit bertanda. Pada tanggal 18 September 1989, program-program ini mulai gagal, tepatnya tanggal 32.768 (2 15 ) hari sejak tanggal nol. Nilai pada dan setelah hari ini tidak cocok dengan bilangan bulat 16-bit yang ditandatangani, tetapi melimpah dan mengembalikan nilai negatif.

Tahun 1997

Jam Domain / OS , yang didasarkan pada jumlah unit 4-mikrodetik yang telah terjadi sejak 1 Januari 1980, melewati 47 bit pada 2 November 1997, membuat sistem yang belum ditambal tidak dapat digunakan. [6]

Tahun 1999

Dalam beberapa bulan terakhir sebelum tahun 2000, dua peristiwa penting terkait tanggal lainnya terjadi yang kurang mendapat publisitas daripada masalah Y2K yang akan datang.

rollover GPS pertama

Artikel utama: Perputaran Angka Minggu GPS

Lihat juga: GPS § Pencatatan waktu

Tanggal GPS dinyatakan sebagai nomor minggu dan nomor hari dalam seminggu, dengan nomor minggu dikirim sebagai nilai sepuluh- bit . Ini berarti bahwa setiap 1024 minggu (sekitar 19,6 tahun) setelah Minggu 6 Januari 1980 (masa GPS), tanggal disetel ulang ke tanggal tersebut; ini terjadi untuk pertama kalinya pada pukul 23:59:47 pada hari Sabtu 21 Agustus 1999, [7] kedua kalinya pada pukul 23:59:42 UTC pada tanggal 6 April 2019, dan akan terjadi lagi pada tanggal 20 November 2038. [8] Untuk mengatasi Kekhawatiran ini, pesan navigasi GPS yang dimodernisasi menggunakan bidang 13-bit, yang hanya berulang setiap 8.192 minggu (157 tahun), dan tidak akan kembali ke nol hingga mendekati tahun 2137.

9/9/99

Lihat juga: Nomor ajaib (pemrograman) dan String ajaib

Dalam banyak program atau kumpulan data, "9/9/99" digunakan sebagai nilai nakal untuk menunjukkan tanggal yang belum terselesaikan atau sebagai terminator untuk menunjukkan tidak ada data lebih lanjut dalam kumpulan tersebut. Ini mengangkat masalah setelah kedatangan tanggal sebenarnya yang diwakilinya, 9 September 1999. [7] tautan mati ]

Tahun 2000

Representasi tahun dua digit

Artikel utama: Masalah tahun 2000

Lihat juga: Soal tahun 1900

Masalah lanjutan yang disebabkan oleh perbaikan sementara tertentu untuk masalah Y2K akan muncul di berbagai titik di abad ke-21. Beberapa program dibuat sesuai dengan Y2K dengan terus menggunakan tahun dua digit, tetapi memilih tahun sewenang-wenang sebelum tahun-tahun tersebut diinterpretasikan sebagai 20 xx , dan setelah itu diinterpretasikan sebagai 19 xx . [9]

Misalnya, program mungkin telah diubah sehingga memperlakukan nilai tahun dua digit 00–68 sebagai mengacu pada 2000 hingga 2068, dan nilai 69–99 mengacu pada 1969 hingga 1999. [10] Program semacam itu tidak akan dapat untuk menangani tahun-tahun setelah 2068 dengan benar.

Untuk aplikasi yang diperlukan untuk menghitung tahun kelahiran (atau tahun lalu lainnya), algoritme semacam itu telah lama digunakan untuk mengatasi masalah Tahun 1900 , tetapi gagal mengenali orang yang berusia di atas 100 tahun .

Tahun 2010

Beberapa sistem mengalami masalah sekali dalam setahun hingga tahun 2010. Hal ini dijuluki oleh beberapa media sebagai masalah "Y2K + 10" atau "Y2.01k". [11]

Sumber utama masalah adalah kebingungan antara pengkodean angka heksadesimal dan pengkodean angka BCD . Angka 0 hingga 9 dikodekan dalam heksadesimal dan BCDsebagai 00 16 hingga 09 16 . Tetapi angka desimal 10 dikodekan dalam heksadesimal sebagai 0A 16 dan dalam BCD sebagai 10 16 .Jadi BCD 10 16 yang ditafsirkan sebagai pengkodean heksadesimal secara keliru mewakili angka desimal 16.

Misalnya, protokol SMS menggunakan penyandian BCD untuk tanggal, jadi beberapa perangkat lunak ponsel salah melaporkan tanggal pesan sebagai 2016, bukan 2010. Windows Mobile adalah perangkat lunak pertama yang dilaporkan terpengaruh oleh kesalahan ini; dalam beberapa kasus WM6 mengubah tanggal setiap pesan SMS masuk yang dikirim setelah 1 Januari 2010 dari tahun 2010 ke 2016. [12] [13]

Sistem lain yang terpengaruh termasuk terminal EFTPOS , [14] dan PlayStation 3(kecuali model Slim). [15]

Kesalahan yang paling penting terjadi di Jerman, di mana lebih dari 20 juta kartu bank menjadi tidak dapat digunakan, dan dengan Citibank Belgia, yang chip identifikasi pelanggan digipassnya berhenti berfungsi. [16]

Tahun 2011

Artikel utama: Masalah Y1C

Taiwan secara resmi menggunakan kalender Minguo , yang menganggap tahun Gregorian1912 sebagai tahunnya 1. Dengan demikian, tahun Gregorian 2011 adalah tahun ROC 100, tahun 3 digit pertamanya. [17]

Tahun 2013

Pesawat luar angkasa Deep Impact tak berawak kehilangan komunikasi dengan Bumi pada 11 Agustus 2013, setelah jam menghitung 2 32 desidetik (sepersepuluh detik) sejak 1 Januari 2000.

Tahun 2019

gerakan GPS kedua

Artikel utama: Perputaran Angka Minggu GPS

Lihat juga: GPS § Pencatatan waktu

Tanggal GPS dinyatakan sebagai nomor minggu dan nomor hari dalam seminggu, dengan nomor minggu dikirim sebagai nilai sepuluh- bit . Ini berarti bahwa setiap 1024 minggu (sekitar 19,6 tahun) setelah Minggu 6 Januari 1980 (masa GPS), tanggal disetel ulang ke tanggal tersebut; ini terjadi pertama kali pada pukul 23:59:47 pada hari Sabtu 21 Agustus 1999, [7] kedua kalinya pada pukul 23:59:42 pada tanggal 6 April 2019, dan akan terjadi lagi pada tanggal 20 November 2038. [8] Untuk mengatasi Kekhawatiran ini, pesan navigasi GPS yang dimodernisasi menggunakan bidang 13-bit, yang hanya berulang setiap 8.192 minggu (157 tahun), dan tidak akan kembali ke nol hingga mendekati tahun 2137.

Transisi kalender Jepang

Artikel utama: Bug era kalender Jepang

Pada 30 April 2019, Kaisar Akihito dari Jepang turun tahta dan memilih putranya Naruhito .Karena tahun-tahun di Jepang secara tradisional disebut dengan nama - nama erayang sesuai dengan masa pemerintahan masing-masing kaisar, ini menghasilkan nama era baru, Reiwa (令 和), setelah naik takhta Naruhito keesokan harinya. Karena kaisar sebelumnya, Hirohito , meninggal pada tahun 1989 dan pemerintahan Akihito sebagian besar berkaitan dengan peningkatan penggunaan komputer, sebagian besar perangkat lunak belum diuji untuk memastikan perilaku yang benar pada perubahan era. Selain itu, pengujian diperumit oleh fakta bahwa nama era baru tidak terungkap hingga 1 April 2019. Oleh karena itu, kesalahan perangkat lunak diharapkan dari perangkat lunak yang tidak mengantisipasi era baru.

Mac OS Klasik

Panel kontrol di Mac OS Klasik versi 6, 7, dan 8 hanya memungkinkan tanggal ditetapkan setinggi 31 Desember 2019, meskipun sistem dapat terus memajukan waktu setelah tanggal tersebut. [18] [19]

Tahun 2020

WWE 2K20 dan Star Wars Jedi: Fallen Orderkeduanya akan crash pada 1 Januari 2020, ketika tahun bergulir. Gangguan hanya dapat dielakkan dengan menyetel ulang tahun kembali ke 2019 hingga tambalan dirilis. [20][21] Selain itu, Crystal Reports 8.5 akan gagal menghasilkan laporan spesifik mulai tahun 2020. [22]

Pengukur parkir Parkeon di New York City dan lokasi lain tidak dapat menerima kartu kredit sebagai bentuk pembayaran mulai tahun 2020. Solusi telah diterapkan, tetapi setiap pengukur harus diperbarui satu per satu. Di New York, meteran diperkirakan tidak akan diperbaiki hingga 9 Januari. [23] [24]

Di Polandia, 5.000 mesin kasir berhenti mencetak tanggal dengan benar. [25]

Jam tangan pintar olahraga SUUNTO menunjukkan kesalahan dalam menghitung hari-hari kerja, yang disajikan dengan langkah +2 (alias: JUMLAH RABU, SAT daripada KAM).Untuk jam tangan model SUUNTO Spartan, bug telah diperbaiki dengan rilis firmware 2.8.32 [26]

Tahun 2028

Selama akhir 1970-an, pada sistem Data General Nova dan Eclipse, World Computer Corporation (melakukan aplikasi credit union) membuat format tanggal ini;

Bidang tanggal 16-bit:

128 tahun = 7 bit (1900 + 128 = 2028)12 bulan = 4 bit31 hari = 5 bit

Tanggal secara langsung dapat dibandingkan menggunakan fungsi unsigned.

Tidak ada contoh yang diketahui dari format ini yang digunakan saat ini.

Tahun 2031

Palm OS menggunakan kedua integer yang ditandatangani dengan epoch 1970, serta integer unsigned dengan epoch 1904, untuk fungsi sistem yang berbeda, [27] seperti untuk jam sistem, dan tanggal file (lihat format PDB). Meskipun hal ini menyebabkan Palm OS rentan terhadap masalah 2038 , Palm OS juga menggunakan field 7-bit untuk menyimpan nilai tahun, dengan penghitungan epoch yang berbeda dari tahun 1904, menghasilkan tahun maksimum (1904 + 127) 2031. [28]

Tahun 2036

Lihat juga: Protokol Waktu Jaringan § Stempel waktu

Network Time Protocol memiliki masalah overflow terkait dengan masalah Tahun 2038 , yang memanifestasikan dirinya pada 06:28:16 UTC pada 7 Februari 2036, bukan 2038. Stempel waktu 64-bit yang digunakan oleh NTP terdiri dari bagian 32-bit untuk detik dan bagian 32-bit untuk detik pecahan, memberi NTP skala waktu yang bergulir setiap 2 32detik (136 tahun) dan resolusi teoretis 2 −32detik (233 pikodetik). NTP menggunakan periode 1 Januari 1900. Perputaran pertama terjadi pada tahun 2036, sebelum masalah tahun UNIX 2038. [29] [30]

Tahun 2038

Rollover waktu unix

Artikel utama: Masalah tahun 2038

Implementasi asli dari sistem operasi Unixmenyimpan waktu sistem sebagai bilangan bulat bertanda 32-bit yang mewakili jumlah detik setelah periode Unix : tengah malam UTC, 1 Januari 1970. Nilai ini akan bergulir pada 19 Januari 2038. Masalah ini telah diatasi di sebagian besar sistem operasi Unix dan mirip Unix modern dengan menyimpan waktu sistem sebagai integer 64-bit yang ditandatangani, meskipun aplikasi individu, protokol, dan format file masih perlu diubah juga.

rollover DVB

Sistem Siaran Video Digital mengalami masalah pada 22 April 2038, ketika 16 bit yang digunakan untuk mengirimkan Julian Days Modifikasi yang digunakan untuk penjadwalan panduan elektronik akan dimulai ulang dari nol. Spesifikasi ETSI EN 300 368 menyebutkan dalam Lampiran C bahwa formula MJD yang disediakan berlaku sampai 28 Februari 2100, tetapi tidak menyebutkan batasan yang diberlakukan oleh 16 bit yang digunakan untuk mengirimkan nilai yang dihasilkan. butuh rujukan ]

rollover GPS ketiga

Artikel utama: Perputaran Angka Minggu GPS

Lihat juga: GPS § Pencatatan waktu

Tanggal GPS dinyatakan sebagai nomor minggu dan nomor hari dalam seminggu, dengan nomor minggu dikirim sebagai nilai sepuluh- bit . Ini berarti bahwa setiap 1024 minggu (sekitar 19,6 tahun) setelah Minggu 6 Januari 1980 (masa GPS), tanggal disetel ulang ke tanggal tersebut; ini terjadi pertama kali pada 23:59:47 pada Sabtu 21 Agustus 1999, [7] kedua kalinya pada 23:59:42 UTCpada 6 April 2019, dan akan terjadi lagi pada 20 November 2038. [8] Untuk mengatasi Kekhawatiran ini, pesan navigasi GPS yang dimodernisasi menggunakan bidang 13-bit, yang hanya berulang setiap 8.192 minggu (157 tahun), dan tidak akan kembali ke nol hingga mendekati tahun 2137.

Tahun 2040

Komputer Apple Macintosh awal menyimpan waktu dalam jam waktu-nyata (RTC) dan sistem file HFS sebagai jumlah detik 32-bit yang tidak bertanda tangan sejak 00:00:00 pada 1 Januari 1904. Setelah 06:28:15 pada 6 Februari 2040, ini akan membungkus hingga 1904. [31] HFS + , format default untuk semua komputer Macintosh terbaru Apple, juga terpengaruh. Sistem File Apple pengganti menyelesaikan masalah ini.

ProDOS untuk komputer Apple II hanya mendukung nomor tahun dua digit. Untuk menghindari masalah Y2K, Apple mengeluarkan catatan teknis yang menyatakan bahwa nomor tahun mewakili 1940-2039. [32] Perangkat lunak untuk platform mungkin salah menampilkan tanggal mulai tahun 2040. Upaya pihak ketiga sedang dilakukan untuk memperbarui ProDOS dan perangkat lunak aplikasi untuk mendukung tahun hingga 2924. [33]

Tahun 2042

Pada 18 September 2042, Time of Day Clock (TODC) pada mainframe IBM S / 370 dan penerusnya, termasuk zSeries saat ini, akan diperpanjang. [34] Waktu UTC akan menjadi beberapa detik lebih awal, karena detik kabisat .

TODC yang lebih lama diimplementasikan sebagai hitungan 64-bit unit 2 -12 mikrodetik (0,244 ns), dan basis standarnya adalah 1 Januari 1900 UT . Pada bulan Juli 1999, perpanjangan jam TODC diumumkan, yang memperpanjang jam ke kanan (yaitu, bit yang diperpanjang kurang signifikan dibandingkan bit asli). Resolusi sebenarnya bergantung pada modelnya, tetapi formatnya konsisten, dan karena itu, akan bergulir setelah 2 52mikrodetik. [34]

Nilai TODC dapat diakses oleh program mode pengguna dan sering digunakan untuk pengaturan waktu dan untuk menghasilkan ID unik untuk acara.

Sementara IBM telah menentukan dan mengimplementasikan format perangkat keras yang lebih panjang (128-bit) pada mesin-mesin terbaru, yang memperpanjang pengatur waktu di kedua ujungnya dengan setidaknya 8 bit tambahan, banyak program terus mengandalkan format 64-bit yang tetap sebagai bagian yang dapat diakses. dari timer yang lebih lama.

Tahun 2048

Sistem ATSC akan mengalami masalah yang mirip dengan masalah DVB yang dijelaskan di atas setelah 2048 karena penggunaan detik GPS 32-bit bertanda tangan yang dimulai dari 6 Januari 1980.

Logika perencanaan kapasitas dalam sistem ERP SAP S / 4HANA hanya mendukung tanggal selesai hingga 19 Januari 2048 (24855 hari mulai 1 Januari 1980). Masalah ini misalnya perencanaan produksi, pemeliharaan dan inspeksi. [35]

Tahun 2050

Berbagai kalkulator Texas Instruments dari keluarga TI BA II Plus , TI BA II Plus Professional , TI-83 , TI-84 dan NSpiremendukung fungsi bernama dbd untuk menghitung jumlah hari di antara tanggal.Fungsi ini hanya menerima tanggal antara 1950-01-01 dan 2049-12-31. Salah satu area potensial di mana hal ini akan mulai menimbulkan masalah pada tahun 2020 adalah dalam penghitungan hipotek 30 tahun.[36] [37]

Tahun 2079

Hari 32.768 dan 65.536

Program yang menyimpan tanggal sebagai jumlah hari sejak tanggal arbitrer (atau epoch) rentan terhadap efek roll-over atau wrap-around jika nilainya tidak cukup lebar untuk memungkinkan nilai tanggal menjangkau rentang waktu yang cukup besar yang diharapkan untuk aplikasi. Nilai biner 16-bit yang ditandatangani bergulir setelah 32.768 (2 15 ) hari sejak tanggal periode, menghasilkan nilai negatif. Beberapa sistem mainframe mengalami kegagalan perangkat lunak karena mereka telah menyandikan tanggal sebagai jumlah hari sejak 1 Januari 1900, yang menghasilkan angka hari negatif tak terduga pada tanggal roll-over 18 September 1989. Demikian pula, jumlah hari biner 16-bit yang tidak bertanda meluapsetelah 65.536 (2 16 ) hari, yang dipotong menjadi nilai nol. Untuk perangkat lunak yang menggunakan periode 1 Januari 1900, ini akan terjadi pada 6 Juni 2079. [38]

Tahun 2080

Beberapa (jika tidak semua) ponsel Nokia yang menjalankan Seri 40 (seperti Nokia X2-00 ) hanya mendukung tanggal hingga 2079-12-31 dan akan menolak untuk mengubah tanggal setelah 2079-12-31. Solusinya adalah dengan menggunakan tahun 1996 sebagai pengganti tahun 2080 sebagai tahun kabisat yang kompatibel untuk menampilkan hari, tanggal, dan bulan yang benar di layar utama.

Sistem yang menyimpan tahun sebagai nilai dua digit 00..99 hanya secara internal (seperti banyak RTC) dapat berputar dari 2079-12-31 ke IBM PC dan periode DOS 1980-01-01 .

Tahun 2100

Lihat juga: Bug tahun kabisat

API tanggal file DOS dan Windows dan fungsi konversi (seperti INT 21h / AH = 2Ah) secara resmi mendukung tanggal hingga 2099-12-31 saja (meskipun sistem file FAT yangmendasarinya secara teoritis mendukung tanggal hingga 2107). Oleh karena itu, sistem operasi berbasis DOS serta aplikasi yang mengonversi format lain ke format FAT / DOS, mungkin menunjukkan perilaku yang tidak terduga mulai 2100-01-01.

Masalah lain akan muncul pada akhir 2100-02-28, karena 2100 bukanlah tahun kabisat , sedangkan banyak implementasi umum algoritma tahun kabisat tidak lengkap atau disederhanakan, dan dengan demikian akan secara keliru menganggapnya sebagai tahun kabisat. Ini akan menyebabkan tanggal salah bergulir dari 2100-02-28 ke 2100-02-29, bukan langsung ke 2100-03-01.

Tahun 2106

Banyak format file, protokol komunikasi, dan antarmuka aplikasi yang ada menggunakan varian format tanggal time_t Unix , menyimpan jumlah detik sejak Unix Epoch (tengah malam UTC, 1 Januari 1970) sebagai bilangan bulat biner 32-bit yang tidak bertanda tangan . Nilai ini akan bergulir pada 7 Februari 2106 pukul 06:28:15. Artinya, saat ini jumlah detik sejak 01 Januari 1970 adalah FFFF FFFF dalam hex.

(Masalah representasi penyimpanan ini tidak tergantung pada program yang secara internal menyimpan dan beroperasi pada waktu sistem sebagai nilai integer bertanda 64-bit.)

Tahun 2108

Stempel waktu tanggal yang disimpan dalam sistem file FAT , awalnya diperkenalkan dengan 86-DOS 0,42 pada tahun 1981 dan dibawa ke MS-DOS , PC DOS , DR-DOS dll., Akan meluap pada akhir 2107-12-31. Stempel tanggal modifikasi terakhir (dan dengan DELWATCH 2.0+ juga stempel tanggal penghapusan file , dan karena DOS 7.0 + secara opsional juga stempel tanggal akses terakhir dan stempel tanggal pembuatan ), disimpan dalam entri direktori dengan tahun yang direpresentasikan sebagai tujuh unsigned nomor bit (0–127), relatif terhadap 1980, dan karenanya tidak dapat menunjukkan tanggal apa pun di tahun 2108 dan seterusnya. Fungsi API yang ditentukan untuk mengambil tanggal ini secara resmi hanya mendukung tanggal hingga 2099-12-31. Ini juga akan mempengaruhi format file arsip Zip , karena menggunakan stempel waktu modifikasi file FAT secara internal.

Tahun 2137

Artikel utama: Perputaran Angka Minggu GPS

Lihat juga: GPS § Pencatatan waktu

Tanggal GPS dinyatakan sebagai nomor minggu dan nomor hari dalam seminggu, dengan nomor minggu awalnya menggunakan nilai sepuluh- bit dan pesan navigasi GPS yang dimodernisasi menggunakan bidang 13-bit. Sepuluh sistem bit akan berputar setiap 1024 minggu (sekitar 19,6 tahun) setelah Minggu 6 Januari 1980 (masa GPS), dan sistem 13 bit rollover setiap 8192 minggu. Sistem 13 bit akan berputar ke nol pada tahun 2137. [7] [8]

Tahun 2262

Bahasa pemrograman Go memiliki API UnixNano yang menghitung nanodetik sejak 1970 sebagai integer bertanda 64-bit.[39] Nilai ini akan meluap pada 2262-04-11. Ini adalah batasan dari sistem penunjuk waktu nanodetik serupa, seperti objek Timestamp di Python pandas [40] , C ++ chrono :: system_clock [41] atau pengatur waktu QEMU[42] .

Tahun 4501

Microsoft Outlook menggunakan tanggal 1 Januari 4501 sebagai placeholder untuk "tidak ada" atau "kosong". [43] [44]

Tahun 10.000

Artikel utama: Soal 10.000 tahun

Tahun 10.000 akan menjadi tahun Gregorian pertama dengan lima digit. Meskipun banyak orang pada awalnya menganggap tahun ini sangat jauh sehingga masalah jenis ini tidak akan pernah benar-benar terjadi, kelas perhitungan tertentu dalam disiplin ilmu seperti astronomi dan fisika sudah perlu bekerja dengan tahun-tahun sebesar ini dan yang lebih besar. Aplikasi ini juga harus berurusan dengan masalah tahun nol . Semua kekuatan masa depan 10 tahun memiliki potensi masalah serupa.

Tahun 30.828

Mulai 14 September 30.828, Windows tidak akan menerima tanggal setelah hari ini dan saat startup, Windows akan mengeluh tentang "waktu sistem tidak valid". Ini karena nilai FILETIME di Windows, yang merupakan nilai 64-bit sesuai dengan jumlah interval 100-nanodetik sejak 1 Januari 1601, 00: 00: 00.0000000 UTC, akan meluap nilai maksimum yang mungkin pada hari itu pada 02:48 : 05.4775808 UTC. [45]

Tahun 32.768 dan 65.536

Program yang memproses tahun sebagai nilai 16-bit mungkin mengalami masalah yang berhubungan dengan tahun 32.768 atau 65.536, tergantung pada apakah nilai tersebut diperlakukan sebagai integer bertanda atau tidak.

Untuk masalah tahun 32.768 , tahun setelah 32.767 dapat diartikan sebagai angka negatif, dimulai dengan −32.768. [46] Masalah tahun 65.536 lebih mungkin terwujud dengan merepresentasikan tahun 65.536 sebagai tahun 0. [47]

Kelebihan waktu relatif

Microsoft

Di Microsoft Windows 7, Windows Server 2003, Windows Server 2008 dan Windows Vista, informasi awal koneksi TCP disimpan dalam 1/100 detik, menggunakan integer 32-bit unsigned, menyebabkan overflow dan koneksi TCP gagal setelah 497 hari. [48]

Boeing

Pesawat Boeing 787 memiliki setidaknya dua masalah perangkat lunak yang terkait dengan penyimpanan waktu. Pada 2015, kesalahan dilaporkan di mana waktu disimpan dalam 1/100 detik, menggunakan integer 32-bit yang ditandatangani, dan sistem akan mogok setelah 248 hari. [49] Pada tahun 2020, FAAmengeluarkan arahan kelaikan udara untuk masalah di mana, jika pesawat tidak dimatikan sepenuhnya sebelum mencapai waktu aktif 51 hari, sistem akan mulai menampilkan data yang menyesatkan. [50]

Masalah yang mengada-ada

Tahun-tahun bermasalah tertentu terjadi jauh di masa depan, jauh melampaui umur kemungkinan Bumi , Matahari , umat manusia, dan bahkan beberapa prediksi masa lalu dari masa alam semesta , bahwa mereka terutama dirujuk sebagai masalah kepentingan teoritis, lelucon, atau indikasi bahwa masalah terkait tidak benar-benar diselesaikan untuk definisi yang masuk akal tentang "terselesaikan".

Tahun 292.277.026.596 ( 2,9 × 10 11 ) dan 584.554.051.223 ( Masalah 5,8 × 10 11 ): tahun-tahun di mana waktu 64-bit Unixmenjadi negatif (dengan asumsi nomor yang ditandatangani) atau diatur ulang ke nol (untuk representasi yang tidak bertanda). [51]Tahun 5.391.559.471.918.239.497.011.222.876.596 ( 5,4 × 10 30 ) dan 10.783.118.943.836.478.994.022.445.751.223 ( 1.1 × 10 31 ) masalah : tahun-tahun di mana waktu Unix 128-bit menjadi negatif (dengan asumsi nomor yang ditandatangani) atau diatur ulang ke nol (untuk representasi yang tidak bertanda tangan).

Catatan: nilai tahun ini didasarkan pada tahun rata-rata tepat 365,2425 hari, yang cocok dengan aturan 4/100/400 tahun kabisat dari kalender Gregorian yang umum digunakan.Penyesuaian tambahan pada kalender selama interval sepanjang ini tidak dapat dihindari, karena tahun sebenarnya saat ini sedikit lebih pendek (sekitar 365,242374 hari) daripada yang diasumsikan, panjang orbit Bumi di sekitar Matahari berubah seiring waktu (tahun tropis saat ini menjadi lebih pendek sekitar 0,53 detik per abad), dan bagaimanapun juga, semua waktu ini jauh melebihi kemungkinan keberadaan Bumi . Jadi angka tahun harus dianggap perkiraan.

Zona waktu dan waktu musim panas

Zona waktu dan waktu musim panas dapat menyebabkan masalah dalam aplikasi komputer ketika:

Berkomunikasi antar tempat dengan zona waktu berbeda atau menggunakan perangkat yang sama di zona waktu berbedaWaktu musim panas dimulai dan diakhiri, terutama pada musim gugur ketika waktu yang sama terjadi dua kali
-Zona waktu di area tertentu berubah atau waktu musim panas disesuaikan, terutama ketika tidak ada cukup waktu untuk perangkat lunak dan firmware untuk diperbarui dengan semestinya.
-Waktu bergeser kurang atau lebih dari 1 jam ke depan di musim semi
Tanggal mulai / akhir waktu musim panas bergantung pada peristiwa astronomi lainnya
-Waktu musim panas tidak diterapkan oleh semua orang di tempat yang sama

Tidak ada komentar:

Posting Komentar