1. 3

    Huh, I didn’t realize the 8086 only had a 20 pin address bus. Makes everything seem a bit more sane, although why make the segments overlap? I can’t see the benefit and it makes expanding the address space that much harder.

    1. 3

      I guess one (tiny) benefit of having segments overlap every 16 bytes is that a malloc() implementation could return pointers of XXXX:0000 format, i.e. only concern itself with segments? And then, if you want to index into such an array, you can put the array element’s index/offset in a register without having to add a base address offset, since the array always starts at 0000 (within the given segment).

      1. 3

        Overlapping has a lot of sense if you take into account that non-trivial amount of programs only ever needed one segment, so you could use “near” pointers and shorter jump instructions that only deal with offsets.

      2. 2

        More silly trivia: All wintel PCs boot with line 20 disabled, in order to default to 8086 mode. And if you turn it on, you talk to the keyboard controller. Some quick googling led me to an example here: https://github.com/Clann24/jos/blob/master/lab2/code/obj/boot/boot.asm#L29

        Of course these days all these devices exist on-die, but back in the day they would have been discrete ASICs.

      1. 4

        Objective-See has some nice free security tools too: https://objective-see.com/products.html

        Some useful ones are “OverSight” (gives notifications when the webcam or microphone is activated) and “BlockBlock” (prompts with an allow/deny whenever a piece of software tries to install a launchagent/launchdaemon/kext, as well as “KnockKnock” which generates a one-shot report of all kinds of startup items.

        1. 11

          Another bonus with mdadm-based software raid is that the SATA drives are still visible as normal SATA drives via /dev/sda etc, so you can run smartmontools/smartctl/smartd/hdparm to monitor S.M.A.R.T. status and tweak power management etc. Many fakeraid/hardware raid hide the ATA device layer and/or require proprietary tools, so you’ll be missing out on detection of bad blocks and other errors.

          1. 3

            The article keeps saying how they really wanted it to be on 4.4.4.4 but stops short of explaining why that didn’t happen. Anyone know? Are the owners of 4.4.4.4 not willing to make use of that address? Is there a technical reason why it can’t be used?

            1. 2

              Well, it seems that by the time they started their project somebody had already assigned 4.4.0.0/16 for DSL tests, and thus it was unavailable. As to what it can be done now with 4.4.4.4, I think this is left to Level3’s management. https://mailman.nanog.org/pipermail/nanog/2010-February/018291.html