Current Status The t64 transition is ongoing (end March 2024) in Debian Co-ordination is occurring on #debian-devel IRC A fairly complete analysis of ABI changes was done from May-Oct 2023. About 495 library packages change ABI, and between 5063 and 5975 packages which depend on those will need a no-change rebuild. Also 600-700 perl packages which make XS-modules (and depend on perl-abi-5.x.x or l
Yocto よもやま話 第 3 回「Linux の 2038 年問題」 2022 年 07 月 19 日 Yocto Project よもやま話 先月の予告とおり、今回は Linux の 2038 年問題について情報を提供していきます。 2038 年問題とは カーネルの対応 gibc musl ファイルシステム 次回予告 1. 2038 年問題とは? 1969 年に誕生した Unix では、時刻の表現に 1970 年 1 月 1 日 0 時 0 分 0 秒 (GMT)からの経過秒数を採用しています。Unix 類似 OS として開発されてきた Linux も同様に 1970 年 1 月 1 日 0 時 0 分 0 秒 (GMT) を 0 としています。 C 言語の標準仕様である ISO/IEC 9899:1999 では、時刻表現に使用する型として time_t を用いるという定義がありま
UNIX系OSが組込み機器にも数多く用いられている.現在の組込み機器は32ビットのシステムも多く,32ビット版のUNIX系OSが用いられる場合も多い.32ビットのUNIX系OSでは,時刻情報を32ビット符号付き整数型で管理しており,2038年に時刻情報のオーバーフローが起きることが分かっている.この問題への具体的な対策事例の報告はあまりされていない.本稿では,2038年以降も動作保証が必要な組込み機器において,2038年を超えて機器が利用できるよう,UNIX時刻の起点を変更することで問題を回避し,製品化に成功した事例を報告する. 1.はじめに 組込み機器の高機能化に伴い,そのOSとしてLinux,FreeBSDなどのUNIX系OSが一般的に用いられている[1].これらのOSは,ターゲットシステムの進化に伴い32ビットから64ビットに移行されることも多い[2]. しかし,組込み機器の開発では
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
結論から Linux-3.18くらいをベースに、一部だけLinux-4.6くらいを見ています。 よくわからない場合 オプションは何も足すな。何も削るな。 mtimeを見るアプリを動かしたくて... strictatimeを足す (atimeでは手元ではダメだった) 時刻とか互換性とかいいから最速を目指すぜ noatime lazytime くらい? (lazytimeはLinux-4.0から) はじめに Linux-2.6.30から登場してデフォルトになったrelatimeは、RedHatのマニュアルにもあるくらい日本語のサイトでも結構情報が出回っているので、今更概要とかは書かなくてもよいかと思う。 noatime vs relatime このへん(atime関連マウントオプション使用時のディスク性能比較)にテスト結果などあるとおり、パフォーマンス観点ではデフォルトのrelatimeをno
Show Your Support: Did you know that the hundreds of articles written on Phoronix each month are mostly authored by one individual? Phoronix.com doesn't have a whole news room with unlimited resources and relies upon people reading our content without blocking ads and alternatively by people subscribing to Phoronix Premium for our ad-free service with other extra features. The Linux Kernel Is Stil
Did you know...?LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net. Sometimes it seems that things have gone relatively quiet on the year-2038 front. But time keeps moving forward, and the point in early 2038 when 32-bit time_t values can no longer represent times correctly is
まず2038年問題というのをご存じでしょうか 2038年問題 - Wikipedia 2038年問題(にせんさんじゅうはちねんもんだい)は、2038年1月19日3時14分7秒(UTC、以下同様)を過ぎると、コンピュータが誤動作する可能性があるとされる年問題。 http://ja.wikipedia.org/wiki/2038%E5%B9%B4%E5%95%8F%E9%A1%8C C言語で epoch を扱う time_t が32bit OS上でオーバーフローし日本時間2038/01/19 12:14:07の次に1901/12/14 05:45:52が来てしまうという問題です。まぁそもそも2038年にもなって32bit OSを使っている側が悪いと言えばアレですが。 実際にどんな事が起きるかは、32bit OS上で以下を実行すれば分かる。 #include <stdio.h> #include
System call conversion for year 2038 [LWN.net] lwn.netでLinuxカーネルを2038年問題に対応させるにはという記事が公開されている。 32bit版Linuxカーネルのtime_tはsigned 32 bitなので、現行の32bit版Linuxカーネルをそのまま使い続けるシステムは、2038年問題の影響を受ける。 問題の日付が近づくにつれ、32bitシステムは様々な楽しげな理由により障害を起こすことが予測されるので、今日のLWN読者は、退職から呼び戻されて、紀南を救うために英雄的な活躍をするだろう。今対策をしなければの話だが。 さて、32bit Linuxカーネルでも、time_tなどの時間の表現に64bitの値を使えば2038年問題は解決できるか。実は、問題はそれほど単純ではない。 カーネル内部の時間表現を64bitに移行するだけでは
Linux 3.16 カーネルがリリースされたわずか2か月後に、Linux 3.17 も世に出た。 Linux 3.17 カーネルは、これまでのところ、2014年では5番目のメジャーカーネルリリースだが、今後24年間は実際には Linux に衝撃を与えない欠陥を修正するためのものだ。 UNIX 2038年バグは、概念的には幾分、1999年まで多くのシステムで修正されなかった Y2K(2000年問題)問題に似ている。しかし、Linux 開発者は2037年まで待つつもりはなく、2000年問題の修正体験を再現しようとは思っていないようだ。 Linux 3.17 があれば、少なくとも2038年問題を修正するパッチがひとつはあることになるが、将来のリリースでは、いくつかの追加作業もありそうだ。 「非スカラー ktime_t の実装は、基本的に、32ビットシステムで過去2038年の日付のサポートを変更
2012年12月21日03:00 カテゴリTipsLightweight Languages 人類よ、これが本当の人類滅亡だ Gene Mapper Fujii Taiyo めでたく人類かマヤ暦が終了したところで、本当の人類滅亡について考察してみました。 人類ではなくて、電脳ですが、人類が滅亡する頃には電脳なしに人類がやっていけるとは思えないので。 ふと思い立って 64bit な Perl で 'print scalar localtime 0x1_0000_0000' してみたら sizeof(time_t) == 4 な環境でも 'Sun Feb7 15:28:16 2106' って出てなう— Dan Kogai (@dankogai) December 20, 2012 GEEK以外の方のために解説すると、これ、いわゆる2038年問題です。 1970年から2038年までしか作らなかっ
628 名前:名無しが氏んでも代わりはいるもの 投稿日:2012/11/19(月) 02:17:11.02 ID:??? 668 名前:名無しが氏んでも代わりはいるもの 投稿日:2012/11/19(月) 02:20:10.49 ID:??? ある意味仕事早いわぁw 想定内すぎるけどw 670 名前:名無しが氏んでも代わりはいるもの 投稿日:2012/11/19(月) 02:20:18.73 ID:??? ワロタwwwwwwwwwwwwwwwwwww庵野wwwwwwwwwwwwwwwwwww 695 名前:名無しが氏んでも代わりはいるもの 投稿日:2012/11/19(月) 02:22:28.49 ID:??? ちょwwwww冗談だろwwwww 717 名前:名無しが氏んでも代わりはいるもの 投稿日:2012/11/19(月) 02:23:58.91 ID:??? クッソワロタwwwww
time_t は何を typedef したものか? 「time_t は何を typedef したもの?」と聞かれ, 答えることが出来なかったので調べることにした. time.h とりあえず time.h を覗いてみると, 77 行目に time_t の typedef を発見. typedef __time_t time_t; ということで, time_t は __time_t を typedef したものであることが分かった. めでたしめでたし. __time_t まあ, そんなことで終わってしまってはしょうがないので, __time_t の正体を探ることに. すると time.h の 117 行目に # include <bits/types.h> /* This defines __time_t for us. */ という記述を発見. 早速 bits/types.h を開く. する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く