ANOS 许可协议

The ANOS Licence

版权所有(C) 李峰,二○○五。保留所有权利。
Copyright(c) Larry Li, 2005. All rights reserved.

以下内容均以英文原本为准,中文翻译仅供参考。

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
在满足下列条件的前提下,允许重新分发修改过或未经修改的,以源代码或已编译形式存在的本软件:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    1、以源代码形式重新发布必须保留未经修改的上述版权声明、本许可条件以及其后的免责声明。

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    2、以已编译形式重新发布必须在发布版本的文档和/或其它同时发布的资料中重述上述版权声明、本许可条件以及其后的免责声明。

  3. Neither the name of the project nor the names of its contributors may be used to endorse or promote products derived From this software without specific prior written permission.
    3、除非事先签署书面同意书,本项目开发者以及其他志愿者的名字不能被用来表示对派生产品的认可或进行推广。

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
此软件由版权所有者及其志愿者以“即此”方式提供。在此明示不提供任何包括但不限于关于特定目的的适销性、实用性的明示或暗示的担保。在任何情况下,版权所有者或其他参与者皆不对由于使用此软件造成的直接、间接、连带、特别、惩戒的或因而造成的的损害(包括但不限定于获得替代物及服务、无法使用、数据丢失、损失盈利或商务中断)承担义务,无论任何在软件使用时产生损害是如何造成的、基于何种责任推断、是否属于合同范畴、严格赔偿责任或民事侵权行为(包括疏忽和其它原因),即使预先被告知此类损害发生的可能性。

i386 指令前缀

i386 可以寻址 8 位、16 位、32 位,工作在两种模式下 16 位实模式和 32 位保护模式。
16 位实模式是同 8086 80286 CPU 兼容的,而 80286/8086 并不支持 32 位寻址。
(更多…)

该死!才发现虎翼涨价了

我所用的 A 型 80M PHP/5M MySQL 空间价格翻了一倍。原先一年 100 现在 200。
不晓得是什么时候涨的,不然一次性充上几年的。
幸好当时交了两年。到明年再说吧,如果再涨,就换地方。
希望自己能够有自己的服务器。
当然,在这之前,我要有个新本本。
还有还有,如果行货 NDS 足够便宜,优先考虑入手。

启动 Boot

硬件系统加电 Reset 后,正常情况下 CPU 会执行物理内存地址 FFFFFFF0h 处的指令。根据 x86 的设计,这个地址位于 BIOS 程序中。FFFFFFF0h 处指令通常是 jump 跳转,跳到 BIOS 自检程序。BIOS 完成一系列系统自身的检查和初始化工作成功后,根据用户预设的启动映象进行操作。
(更多…)

软磁盘 Floppy Disk

软盘的类型有很多,但是目前仅剩的唯一一种类型是 1.44M 3.5 英寸软盘。所以本处也只是对此类型进行说明。(在不远的将来,1.44 也会离我们远去。至少现在 2005 年很多系统上已经没有了它。)
从本质上说,磁盘,无论硬盘和软盘都是一样的,属于 20 世纪 70 年代“温彻斯特”技术的产物。
磁盘被分成许多柱面,柱面拥有相同数目的磁道,并可以用几个磁头读写不同的数据。磁道也被分成相同数目的扇区。每个扇区存放同样大小的字节数据。这些数据对于一个磁盘来说都是一致的。
所以一个磁盘的大小=柱面数×磁道数×磁头数×扇区数×字节数。
对于 1.44M 3.5in 软盘,其柱面磁道总数(以下简称磁道数)为 80,磁头数为 2,每磁道扇区数为 18,所以总扇区数为 80 * 2 * 18 = 2880 个。每个扇区拥有 512 字节,磁盘总计 1474560 字节,即 1.44M 字节。
磁盘的读写操作是以扇区为单位的,无论是调用 BIOS 子程序还是直接 IO 操作,读写磁盘扇区必须指定扇区所在的磁道号,磁头号,和磁道内的扇区号。对于磁道内的扇区号是以 1 开始计数,其他号均以 0 开始。
一个磁盘的所有扇区按照逻辑位置编号为逻辑扇区。
逻辑扇区=((磁道号×磁头数)+磁头号)×磁道扇区数+扇区号-1)
第一个扇区也就是 0 号扇区(磁道 0 磁头 0 扇区 1)称之为启动扇区,因为系统 BIOS 会记载这个扇区的内容并执行其中的代码来引导操作系统。同时,该扇区也用于磁盘文件系统存放格式信息。

写了一个 boot

弄了一天,对着 MenuetOS 和 FreeLoader 的 boot 代码,按照自己的想法重写。
一直没有正式的写过汇编程序,除了 DOS 时代在学校机房的 DEBUG 大法。
还好,凭着纸笔画出寄存器值,凑合着的懂别人的程序,知道怎么去 COPY。
但是毕竟代码需要照自己的意图去修改,每次都是因为寄存器的分配使用犯错。
不管怎样,终于 Loading OK 了。
能够分析 FAT12 ROOT 项,根据 FAT 表查找文件簇,用 BIOS INT13h 载入。
明天开始做内核!

发布 fdmake 0.02

大致完成了基本功能,没有经过严格测试。
原因是我太累了,花了四天时间写了 1288 行程序。
原型程序用了周六一下午加一晚上。而重写则花了几天时间,头绪一度混乱。
发布的下载包里面有 FreeLdr 引导器和 QEMU 模拟器。
请先用 TODO.BAT 生成 QEMU.IMG 映象,然后用 RNU.BAT 运行模拟器测试。
QEMU.IMG 可以用 WinImage 等软件直接打开,或者用 hdcopy 写入实际软盘。
下载地址: http://gro.clinux.org/frs/download.php/954/fdmake_0.02.zip
发布页面: http://gro.clinux.org/frs/?group_id=241

签了一年的合同

但我连合同都没有机会看,只是在该自己签名的地方签上自己的名字而已。
上次签中止以前无期限合同的协议也一样,根本都没有让我看上一眼。
就把自己“卖了又卖”。
是好是坏,我不知道。总之是拿到了点钱,而且现在有份工作。
但那笔钱不在我手上,还得随时准备用出去。
这份工作的工资也低的可怜,并且没有任何期望值,升职、加薪,统统无缘。
加班都很可能是白忙活一场,得到的钱还没有自己贴出去的多。
哎,又是一年啊。到明年三月,我二十八岁。 (更多…)