Skilled programming

From the VxWorks Kernel Programmer’s Guide:

Prior to VxWorks 6.0, the operating system provided a single memory space with no segregation of the operating system from user applications. All tasks ran in supervisor mode. Although this model afforded performance and flexibility when developing applications, only skilled programming could ensure that kernel facilities and applications coexisted in the same memory space without interfering with one another.

…whereas now, I guess, any idiot and his dog can write a well-behaved VxWorks application…

Haystack

This is actually old news; Haystack was shut down permanently about two weeks ago, shortly after I read about it. However, this has been nagging me ever since, so I’ll write it down anyway, just to get it out of my head.

The thing that struck me the most about the articles I read about Haystack is that, although some people have questioned the strength of its crypto, no-one pointed out what seems obvious to me:

Haystack cannot possibly work, for reasons which have little to do with cryptography. Continue reading “Haystack”

Off by one

I made a small modification to phybs to verify the function of jumpers 7-8 on the WD Advanced Format drives (see here and here). It is supposed to cause the disk to internally shift every write by one sector, so that a write to sector 63 (where the first partition on a PC normally starts) actually goes to sector 64, which coincides with the beginning of a physical 4,096-byte sector. These numbers confirm this:

   count    size  offset    step        msec     tps    kBps
   32768    4096       0   16384       78631      34    1666
   32768    4096     512   16384       79880      33    1640
   32768    4096    1024   16384       73164      36    1791
   32768    4096    1536   16384       77727      34    1686
   32768    4096    2048   16384       76975      35    1702
   32768    4096    2560   16384       74970      36    1748
   32768    4096    3072   16384       79379      34    1651
   32768    4096    3584   16384       28094      96    4665

The firmware on the disk shifts everything forward by 512 bytes, so all these passes are unaligned except the last one, because 3,584 + 512 = 4,096.

Disks and equipment

Here is a quick overview of the disks used in my tests:

Brand Model Capacity Speed Interface Notes
Western Digital WD4000AAKS 400 GB 7,200 rpm SATA 3 Gbps  
Western Digital WD10EARS 1 TB > 5,400 rpm SATA 3 Gbps 1
Western Digital WD20EARS 2 TB > 5,400 rpm SATA 3 Gbps 2
Western Digital WD20EADS 2 TB > 5,400 rpm SATA 3 Gbps 3
Hitachi HDS722020ALA330 2 TB 7,200 rpm SATA 3 Gbps 3

The computer runs FreeBSD 9 on an Intel E6600 with an ICH9 chipset and 4 GB RAM. For convenience, the disks were tested in an Akasa Duo Dock connected by eSATA cable to one of the ICH9 SATA ports.

1 Kindly provided by Alastair Hogge

2 Kindly provided by GetOnline Ltd.

3 Kindly provided by Dansk Scanning AS