Direct Memory Access (DMA)
In early computers, all data transfers required the processor to read and write single words from memory until the entire transfer is complete. With DMA, the DMA controller takes control of the system buses to move data between the device and main memory. 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 ...
Operating System Memory Management
Computers must keep several programs in memory, creating a need for memory management. Many different memory-management schemes are used. The operating system Keeps track of which parts of memory are currently being used, and moves data into out of memory, and allocates and deallocates memory as required. More ...
Simplified Windows Architecture Overview
A simplified overview of the Windows operating system architecture divides it into user-mode and kernel-mode components. More ...
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 ...
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 ...
Digital Logic Semiconductor Families
logic family refers to the way the semiconductors are designed to create gates. The first highly popular logic family, available in 1964, was TTL (Transistor-Transistor Logic). More ...
Introduction to Boolean Algebra
Boolean algebra is a system of mathematics in which the values of the variables can take on only one of two values, either 0 or 1. Similar to regular algebra, Boolean algebra can be used to simplify a mathematical expression. Since computer logic is also a system in which the values of the inputs and outputs can take on only one of two values, Boolean algebra can be used to simplify logic circuits. More ...
Processor Interrupts
An interrupt is a signal to the processor indicating an event has occurred that needs immediate attention. When an interrupt occurs, the processors normal path of execution is interrupted in order to run a routine to service the interrupt requester. More ...
Introduction to Microprocessor Programming
Assembly language involves using instructions that are mnemonics called opcodes, along with values and/or addresses in hexadecimal notation. To make learning as easy as possible, we'll first learn how to program a simple microprocessor, the 6502. More ...
Multilevel Queue CPU Scheduling Algorithm
With many CPU scheduling algorithms, all processes are placed in a single queue, and the scheduler selects the process to run. In practice, it is often easier to have separate queues for each priority, and the scheduler simply selects the process in the highest-priority queue. More ...
Pi-Top kit - Build Your Own Laptop
Computer hobbyists has been building their own desktop computers since the mid 1980's, but I know of no laptop kits, until now. The Pi-Top is a kit that lets you build your own laptop. More ...