Operating System Processes
An Operating System Process is a program in execution. It includes the value in the program counter and in the processors registers. A process also includes a stack, data section, and a heap. More ...
Binary Number Representation and Binary Math
Computers perform all of their amazing work with only two voltage levels, one representing binary 0, the other representing binary 1. This article describes how to perform binary addition and subtraction. More ...
Priority CPU Scheduling Algorithm
CPU Scheduling deals with the problem of deciding which of the processes in the ready queue is to be alocated the CPU. There are many different CPU scheduling algorithms. In this article we describe priority CPU scheduling. More ...
Arduino Microcontroller Development Platform
The benefit of the open source Arduino Microcontroller Development Platform is that the software is free and the hardware is cheap. This makes it one of the cheapest platforms on which to develop prototypes. More ...
How Computer Chips are Made
The oxygen is removed from silica by heating it with carbon. A tiny seed of silicon is then dipped into molten silicon. As the tiny crystal is slowly lifted out of the crucible silicon crystallizes around it. More ...
Virtual Memory and Memory Paging
In the early days of computers, memory chips were small capacity, scarce, and expensive. Because of this a memory management scheme called paging was invented. More ...
Dynamic Loading of Program Routines and Dynamically linked libraries (DLLs)
In order to execute, it is not necessary for an entire program to be in physical memory. With dynamic loading, a routine is not loaded until it is called. More ...
Round-Robin CPU Scheduling Algorithm
CPU Scheduling deals with the problem of deciding which of the processes in the ready queue is to be alocated the CPU. There are many different CPU scheduling algorithms. In this article we describe round-robin CPU scheduling. More ...
Introduction to the Raspberry Pi
The Raspberry Pi is a tiny bare-bones computer motherboard. You can easily make it into a Linux PC by connecting your own keyboard, mouse, and display. More ...
Multicore Programming
A recent trend in system design is to place multiple computing cores on a single chip. Each core appears as a separate processor to the operating system. We call these multicore or multiprocessor systems. More ...
Computer Buses
A 16-bit bus can transfer 16 binary bits simultainiously. This requires 16 separate metal traces on a PC board. We also need traces for control signals. The whole group of traces is referred to as a bus. More ...
Oscilloscope Required for Serious Digital Electronics Work
The oscilloscope is an instrument that displays digital signals on a line graph with time on the horizontal axis and voltage on the vertical axis. It will be difficult to do digital logic design without the use of an oscilloscope. More ...