Analog to Digital Convertion with a Microcontroller
Analog-to-digital conversion (or A/D conversion), is an electronic process that converts a continuously variable signal into a digital signal (expressed as a string of 1s and 0s). More ...
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 ...
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 ...
Operating System Memory Protection in a Paged Environment
Memory protection in a paged environment is accomplished by protection bits associated with each frame. For example read-write, read-only or execute-only bit, and valid-invalid bit. Normally, these bits are kept in the page table. More ...
Operating System Process Scheduling Queues
The objective of multiprogramming is to have some process running at all times, to maximize CPU utilization. To meet these objectives, the process scheduler selects a process from a queue for execution on the CPU. More ...
Load Balancing Multiple CPUs in Symmetric Multiprocessing
On Symmetric Multiprocessing (SMP) systems it is important to keep the workload balanced among all processors. There are two approaches to accomplish this, push migration and pull migration. More ...
Monolithic Kernel vs Microkernel vs Hybrid Kernel
An operating system consists of two parts, the kernel space which operates in privileged mode, and the user space which operates in unprivileged mode. 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 ...
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 ...
Data Structures - Linked List, Stack, Queue, and Tree
An array is a simple data structure in which each element can be accessed directly. But what about storing an item whose size may vary? And what about removing an item if the relative positions of the remaining items must be preserved? In such situations other data structures may be needed. 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 ...
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 ...