Binary Trees

A binary tree is often the easiest type of tree structure to build because it has at most two child nodes. We usually call these child nodes left and right. We add a top node, our first value. The first value is always at the top – and is a special case when creating the…

The Hardware-Software Interface

General purpose computers need to be able to access a variety of IO devices, from long term storage, mouse, keyboard, networking, and more. A device controller/adapter is an electronic circuit capable of operating a specific I/O device. The interface may be set by and/or examined by device drivers. A device driver is a device-specific program that implements I/O…

Disk Block Allocation

The file system sees a file as a series of blocks where the file physically exists on the disk. That disk block can only be accessed as a single unit using low-level read-block and write-block operations.  In a contiguous block allocation scheme, every file is mapped into a contiguous sequence of disk blocks. The FCB points to the…