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 ...
Operating System Services
An operating system provides an environment for the execution of programs. It provides certain services to programs and to the users of those programs. These operating system services are provided for the convenience of the programmer, to make the programming task easier. More ...
AMD's Phenom Processor
Since 2005 AMD has used the Athlon name for their processors. This changed in 2007 when they released their new processor called Phenom. So we must ask the question; what is the difference between the Athlon and the Phenom? More ...
Intoduction to Digital Electronics
The entire field of computer technology relies on transistors. This article describes how transistors are constructed and how modern MOSFETs are combined to make digital logic circuits. 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 ...
Microcontroller Registers
Registers are special small memory locations where the microcontroller can write data to or read data from. Special function registers help point to main memory locations, indicate the result of a mathematical operation, hold parts of an instruction or indicate the status of some operation or hardware feature. Some registers are general purpose and may be used by the programmer at their own discretion. More ...
Digital Logic Levels and Transfer Characteristics
A digital system uses discrete logic levels, 0 and 1, while the real world is a continuous range such as a voltage from 0 to 5. To make design easier, engineers view the system in the abstract. 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 ...
Challenges of Programming Multicore Systems
Operating system designers must write scheduling algorithms that use multiple processing cores and application programmers, mustmodify existing programs and design new programs that are multithreaded. More ...
Difference between Stack, Heap, and Queue
Stack, heap, and queue are ways that elements are stored in memory. Stack elements are added to the top of the stack, and removed from the top of the stack. The mnemonic LIFO is used to describe a stack (Last-In-First-Out). With a queue, the first one in is the first one out. The mnemonic FIFO is used to describe a queue. A heap is an area of memory where elements can be stored and removed in any order. 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 ...
CPU Process Memory Address Binding
For a program to run on a CPU it must be brought from files in long-term, non-volatile storage to main memory. Addresses in the source program must be mapped to addresses in main memory. More ...