*Nix and Win32 Kernel
将 Windows 10 的系统时钟时间设置为UTC
许多操作系统会默认系统时钟(主板通过电池驱动的)是UTC,Windows上并不是这样。多系统并存时这会带来一些困扰。
阅读全文…clang优化器的一个问题
📜 历史文件已不具备现实意义
今天的一个偶然的发现。FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525
。clang 3.8 2015/07/20
的版本同样有此问题。
之前, FreeBSD 上 strndup(3) 的实现是这样的:
|
|
而 OpenBSD 上的实现,则是这样的:
|
|
关于闰秒
phk 老大如此 吐槽:
One week until the leap-second. If you haven’t tested your IT-system already, it is too late now. Good luck if you’re in California or Japan.
背景
关于时间,A core 几年前写过一个 时间是什么? 的系列: 序言 续一 续二 续三。
为了兼顾天文观测获得的时间 UT1(更符合普通人的需要)和由铯-133原子震荡获得的时间 TAI (更稳定),将两者综合一下就获得了协调世界时 UTC。UTC 和 UT1 之间的差距永远保持在 1 秒以内。UTC 中的一秒和 TAI 相同,但 UTC 和 UT1 保持最多一秒的差距,这是通过 IERS 在 UTC 事件中人为插入或减少闰秒这样的人为调整来实现的。从1972年这套系统投入运营到今天为止,总共插入了35个闰秒(2015年6月30日还将再插入一个闰秒)。
闰秒只在每年的6月30日和12月31日的UTC时间 23:59:59
之后插入,表示为当天的 23:59:60
。
FreeBSD -CURRENT随机数发生器问题
今天 John-Mark Gurney 修正了一个影响过去4个月左右的 FreeBSD -CURRENT 的随机数发生器问题,具体受影响的版本是 r273872(引入问题)到 r278907 (修正)。
由于问题只影响 -CURRENT,因此我们不会就此发表安全公告。
阅读全文…FreeBSD 10.0-RELEASE
这是我加入 FreeBSD Release Engineering Team (re@) 之后,我们发布的第一个主要(X.0)版本。
这个版本对整个系统进行了大量的改进。其中的重要变化包括在基本系统中用 clang 取代了 gcc(所有 Tier-1平台)、新增了 unbound(用于取代BIND的部分功能,后者十分复杂,且支持计划经常与 FreeBSD 的发生冲突)、基本系统中提供了转码API iconv(3) (我在2010年指导的 Summer of Code项目)、使用了 PkgNG 包管理工具、BHyVe虚拟机、对于虚拟化支持的大幅改进(virtio(4)以及 Hyper-V支持)、ZFS新增了TRIM支持、ZFS的LZ4完整支持(我在去年新增的功能),等等。
阅读全文…OpenZFS Developer Summit
今天去 San Francisco 的 Delphix 参加了 OpenZFS Developer Summit,今天这会太充实了,先记一笔。
ZFS Channel Program:目前的 ZFS 应用程序需要以多次系统调用来完成一项功能。为了实现原子性,用户态部分实现起来比较复杂,而且最终内核中的 sync task 可能会导致长时间的延迟。提出的解决方案是在 ZFS 内核部分引入一个 Lua 字节码解释器,用户态一次灌一个脚本进去,通过脚本逻辑实现原子性,从而减少上下文切换开销并极大地简化用户态部分。
阅读全文…dd的一种用法
这个方法我最早是在 佐藤 広生 在 第13回 FreeBSD勉強会 上做的 《ZFSの活用とチューニング》 演示幻灯片上看到的,当时没想太明白,而后来想明白了也没记下来。今天想起来了就先记上一笔,备忘。
阅读全文…如何:远程刷 Seagate 硬盘固件
🚨 警告
刷写硬盘固件时的不当操作可能会导致硬盘无法使用。本人不承担由于使用本文中介绍的内容所导致的任何后果的责任。
📜 历史文件已不具备现实意义
本文章提到的硬件已过时。
上回 说到 谷奥 的一块硬盘坏了,但是忘记说实际上两块硬盘的固件都有已知问题(ST1000DM003-9YN162 固件版本 CC4D,目前的最新版本是 CC4H)。虽然在 ticket 里提到了这件事,但是 remote hand 没做升级,想想之后决定还是自己把它远程刷掉好了。
由于刷写不当会导致硬盘无法使用(实际上还是有办法恢复的,但是比较麻烦而且没法在远程做),因此为了以防万一,在执行任何操作之前应备份硬盘上全部数据。由于使用的是 graid 的镜像模式,因此事实上我们有一份完整备份,故跳过这一步。
接下来要从 Seagate 网站下载固件。考虑到刷新固件操作的危险性,不知道怎么找这个固件的人可以看到这为止了。
阅读全文…从 gmirror 迁移到 graid
谷奥 的服务器硬盘坏了,而且托管商很奇怪地用了 gmirror 而不是 BIOS 直接支持的 graid(我厂 Alexander Motin 实现的与 BIOS 兼容的软件 RAID,支持 Intel、Adaptec、JMicron、nVidia、Promise和SiL等多家厂商的软RAID格式),所以趁这个机会给它换掉。记一下迁移的过程。
阅读全文…FreeBSD基金会2012年终募捐
截止到目前为止, FreeBSD 基金会共募得本年度捐款 $461,119,距本年度的预定目标 $500,000 还差 $38,881 美元。今年 FreeBSD 基金会资助了相当多的项目,包括 Pawel Jakub Dawidek (pjd@) 的 Capsicum 框架、分布式审计服务 auditstd、与我厂一起资助了 Bjoern Zeeb (bz@) 对 FreeBSD IPv6 协议栈的性能剖析、Edward Tomasz Napierala (trasz@) 的在线 UFS 扩容,作为中介机构接受了 Semihalf 的 NAND 闪存文件系统和存储棧,并资助了与此相关的移植工作。此外,FreeBSD 基金会也资助了全球范围内与 FreeBSD 开发有关的一系列会议,包括欧洲的 EuroBSDCon、亚洲的 AsiaBSDCon、加州 MeetBSD、加拿大 BSDCan、澳大利亚的 BSDDay 等,并在硅谷和剑桥大学分别举行了 Vendor Summit 和 Developer Summit。
阅读全文…