A Comprehensive Overview of Embedded and Computer-Related Concepts

Hello everyone, I am the Mixed Cuisine King.

The most basic aspect of learning about embedded systems and computers is to understand some concepts. There are many concepts related to embedded systems and computers, and this time I will summarize some:

1. Operating System (OS): A system software that manages computer hardware and software resources, it is also the kernel and foundation of the computer system. The operating system needs to handle management and configuration of memory, determine the priority of system resources, control input and output devices, operate networks, and manage file systems.

2. Shell: It is a program that takes commands from the keyboard and provides them to the operating system for execution. In the past, it was the only user interface available on Unix-like systems. Today, in addition to the command line interface (CLI), we also have graphical user interfaces (GUI).

A Comprehensive Overview of Embedded and Computer-Related Concepts

3. GUI (Graphical User Interface): A user interface that allows users to interact with electronic devices through graphical icons and audio indicators.
A Comprehensive Overview of Embedded and Computer-Related Concepts
4. Kernel Mode: Also known as supervisor mode, in kernel mode, the executing code has complete and unrestricted access to the underlying hardware. It can execute any CPU instruction and reference any memory address. Kernel mode is typically reserved for the lowest level, most trusted functions of the operating system. Crashes in kernel mode are catastrophic; they will stop the entire computer. Supervisor mode is the automatic mode selected when the computer boots up.
5. User Mode: When the operating system runs user applications (e.g., text editors), the system is in user mode. A transition from user mode to kernel mode occurs when an application requests help from the operating system or when an interrupt or system call happens. In user mode, the mode bit is set to 1. When switching from user mode to kernel mode, it changes from 1 to 0.
6. Computer Architecture: In computer engineering, computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems. It primarily includes instruction sets, memory management, I/O, and bus structures.
A Comprehensive Overview of Embedded and Computer-Related Concepts
7. SATA (Serial ATA): Serial Advanced Technology Attachment, a computer bus that is responsible for data transfer between the motherboard and large capacity storage devices (such as hard drives and optical drives), mainly used for personal computers.
8. Multiplexing: Also known as sharing, in operating systems, it primarily indicates the management of time and space. When resources are multiplexed, different programs or users take turns using them. The first one starts using the resource, then the next one, and so on.
9. Mainframes: Mainframes are a class of computers known for their large size, storage capacity, processing power, and high reliability. They are primarily used by large organizations for critical applications that require large data processing.
10. Batch System: In a batch processing operating system, users do not interact directly with the computer. Each user prepares work on offline devices like punch cards and submits it to the computer operator. To speed up processing, jobs with similar requirements are batched and run together. Programmers leave their programs for the operator, who then batches the programs with similar requirements.
11. OS/360: OS/360, officially known as the IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for its newly released System/360 mainframe in 1964.
12. Computer Multitasking: Refers to the ability of a computer to run multiple programs simultaneously. The general approach to multitasking is to run a segment of code from the first program, save the working environment; then run a segment of code from the second program, save the environment;… restore the working environment of the first program and execute the next segment of code of the first program.
13. Time-Sharing: In computing, time-sharing is a system that shares computing resources among many users through multiprogramming and multitasking.
14. Compatible Time-Sharing System: The earliest time-sharing operating system designed and implemented by the Computer Center at the Massachusetts Institute of Technology.
15. Cloud Computing: Cloud computing is the on-demand availability of computer system resources (especially data storage and computing power) without the direct active management by the user. This term is often used to describe data centers available to many users on the Internet. The dominant large clouds today typically have the capability to distribute from a central server across multiple locations. If the connection to the user is relatively close, it can be designated as an edge server.
A Comprehensive Overview of Embedded and Computer-Related Concepts
16. UNIX Operating System: The UNIX operating system is a powerful multi-user, multitasking operating system that supports multiple processor architectures and is classified as a time-sharing operating system.
17. UNIX System V: A branch of the UNIX operating system.
18. BSD (Berkeley Software Distribution): A derivative system of UNIX.
19. POSIX: Portable Operating System Interface, a set of interrelated standards defined by IEEE for running software on various UNIX operating systems.
20. MINIX: MINIX is a mini version of a UNIX-like operating system.
21. Linux: Finally, we come to the famous Linux operating system, which is so powerful that no explanation is needed; everyone understands.
22. DOS (Disk Operating System): Disk Operating System (abbreviated as DOS) is a computer operating system that can use disk storage devices (e.g., floppy disks, hard drives, or CDs).
23. MS-DOS (MicroSoft Disk Operating System): An operating system developed by Microsoft that runs on Intel x86 personal computers. It is the most famous of the DOS operating system family and was the basic configuration in IBM PCs and compatibles before Windows 95, with MS-DOS being the most commonly used DOS operating system on personal computers.
A Comprehensive Overview of Embedded and Computer-Related Concepts
24. macOS X: How can we forget Apple’s operating system? macOS is the operating system for Macintosh, introduced by Apple and based on graphical user interface.
A Comprehensive Overview of Embedded and Computer-Related Concepts
25. Windows NT (Windows New Technology): A pure 32-bit operating system kernel launched by Microsoft in 1993.
26. Service Pack (SP): A collection of updates, fixes, and/or enhancements to a program released as a standalone installation package. Many companies, such as Microsoft or Autodesk, typically release a Service Pack when the number of patches for a program reaches a certain threshold.
27. Digital Rights Management (DRM): Tools or techniques that protect measures (TPM) are a set of access control technologies used to restrict the use of proprietary hardware and copyrighted works.
28. x86: x86 is a complete instruction set architecture originally developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. It uses memory segmentation as a solution to handle more memory than a typical 16-bit address can cover. 32-bit is the default bitness of x86, and there is also an x86-64 bit, which is a 64-bit extension of the x86 architecture, backward compatible with the 16-bit and 32-bit x86 architecture.
29. FreeBSD: FreeBSD is a UNIX-like operating system and the result of the FreeBSD project.
30. X Window System: The X Window System (X11, or simply X) is a windowing system for bitmap displays that is common on UNIX-like operating systems.
A Comprehensive Overview of Embedded and Computer-Related Concepts
31. GNOME: GNOME is a desktop environment composed entirely of free software. Its target operating system is Linux, but most BSD systems also support GNOME.
A Comprehensive Overview of Embedded and Computer-Related Concepts
32. Network Operating Systems: Network operating systems are specialized operating systems for network devices (such as routers, switches, or firewalls).
A Comprehensive Overview of Embedded and Computer-Related Concepts
33. Distributed Operating Systems: Distributed operating systems are software on a collection of independent, networked, communicating, and physically independent computing nodes. They handle jobs served by multiple CPUs. Each individual node has a portion of the specific software of the global set of operating systems.
A Comprehensive Overview of Embedded and Computer-Related Concepts
34. Program Counter: The program counter is a register in the CPU that indicates the position in the program sequence.
35. Stack Pointer: The stack pointer is a register in the computer CPU that tracks the call stack.
36. Program Status Word: It is a collection of data maintained by the operating system, 8 bytes (or 64 bits) long, that tracks the current state of the system.
37. Pipeline: In the computing world, a pipeline is a set of data processing elements connected in series, where the output of one element is the input of the next. Pipeline elements are typically executed in parallel or in time-sliced fashion. A certain number of buffer storage is usually inserted between elements.
A Comprehensive Overview of Embedded and Computer-Related Concepts
38. Superscalar: Superscalar CPU architecture refers to a type of concurrent computation that implements instruction-level parallelism within a single processor core. This technology allows for higher CPU throughput at the same CPU clock frequency.
39. System Call: Refers to the request for services that require higher privileges from the operating system kernel by programs running in user space. System calls provide an interface between user programs and the operating system. Most system interactive operation requests run in kernel mode, such as device I/O operations or inter-process communication.
40. Multithreading: Refers to the technology of implementing multiple threads executing concurrently from software or hardware. Computers with multithreading capability can execute multiple threads simultaneously due to hardware support, thus improving overall processing performance.
41. Core: The core is the brain of the CPU; it receives instructions and performs calculations or operations to satisfy those instructions. A CPU can have multiple cores.
42. Graphics Processing Unit: Also known as display core, visual processor, display chip, or rendering chip; it is a microprocessor specialized in performing graphics calculations on personal computers, workstations, game consoles, and some mobile devices (such as tablets, smartphones, etc.).
43. Storage Architecture: The top-level memory has the fastest speed but the smallest capacity and highest cost; as you go down the hierarchy, its access efficiency decreases, capacity increases, but so does the cost.
A Comprehensive Overview of Embedded and Computer-Related Concepts
44. Cache Lines: It is essentially dividing the cache into fixed-size blocks, with the size based on the burst read or burst write cycle size.
45. Cache Hit: When an application or software requests data, a cache hit occurs first. Initially, the CPU looks for the data in its most recent memory location (usually the main cache). If the requested data is found in the cache, it is considered a cache hit.
A Comprehensive Overview of Embedded and Computer-Related Concepts
46. L1 Cache: Level 1 cache is a repository built into the CPU chip. L1 cache, also known as main cache, is the fastest memory in the computer and is closest to the processor.
47. L2 Cache: Level 2 cache repository, built into the CPU chip, wrapped in the same module, or built on the motherboard. L2 cache provides data to L1 cache, which in turn provides data to the processor. L2 memory is slower than L1 memory.
48. L3 Cache: Level 3 cache is a repository built on the motherboard or within the CPU module. L3 cache provides data to L2 cache, which is usually slower than L2 memory but faster than main memory. L3 cache provides data to L2 cache, which in turn provides data to L1 cache, which in turn provides data to the processor.
49. RAM (Random Access Memory): Random Access Memory, also known as main memory, is the internal memory that exchanges data directly with the CPU. It can be read and written at any time, and is very fast, typically serving as temporary data storage for the operating system or other running programs. RAM can read (retrieve) or write (store) information from any specified address at any time. Its main difference from ROM is data volatility; that is, the data stored will be lost once the power is turned off. RAM is used in computers and digital systems to temporarily store programs, data, and intermediate results.
50. ROM (Read Only Memory): Read-Only Memory is a type of semiconductor memory characterized by the fact that once data is stored, it cannot be changed or deleted, and the content does not disappear when the power is turned off. In electronic or computer systems, it is typically used to store programs or data that do not need to be changed frequently.
51. EEPROM (Electrically Erasable PROM): Electrically Erasable Programmable Read-Only Memory is a type of semiconductor storage device that can be rewritten multiple times electronically.
52. Flash Memory: A form of electronic erasable programmable read-only memory that allows for multiple erasing or writing during operation. This technology is mainly used for general data storage and for exchanging and transferring data between computers and other digital products, such as storage cards and USB drives.
53. SSD (Solid State Disks): Solid State Disks are computer storage devices primarily using flash memory as permanent storage.
54. Virtual Memory: Virtual memory is a memory management mechanism in a computer system. It allows applications to think they have contiguous available memory (a continuous address space), while in reality, it is often divided into multiple physical memory fragments, with some temporarily stored on external disk storage and swapped in when needed. Compared to systems that do not use virtual memory technology, systems that use this technology make it easier to write large programs and use real physical memory (such as RAM) more efficiently.
55. MMU (Memory Management Unit): The memory management unit, sometimes referred to as the paging memory management unit, is computer hardware responsible for handling memory access requests from the CPU. Its functions include the translation of virtual addresses to physical addresses (i.e., virtual memory management), memory protection, and control of the CPU cache.
A Comprehensive Overview of Embedded and Computer-Related Concepts
56. Context Switch: Context switching, also known as environment switching, is a mechanism for storing and rebuilding the CPU state. To switch processes on the CPU, the current process’s state must first be stored, and then the process state is read back into the CPU.
57. Device Driver: A device driver, or simply driver, is a program that allows high-level computer software to interact with hardware. This program creates an interface for communication between hardware and software, connecting with hardware through buses or other communication subsystems on the motherboard, enabling data exchange on hardware devices.
A Comprehensive Overview of Embedded and Computer-Related Concepts
58. Busy Waiting: In software engineering, busy waiting, also known as spinning, is a condition where a process repeatedly checks whether a condition is true, which may be for checking keyboard input or whether a lock is available.
59. Interrupt: Typically, upon receiving an asynchronous signal from peripheral hardware (relative to the CPU and memory) or a synchronous signal from software, the processor will perform the corresponding hardware/software processing. Sending such a signal is called an interrupt request (IRQ). Hardware interrupts cause the processor to save the execution state through a context switch (mainly using the program counter and program status word registers); software interrupts are typically a direct instruction in the CPU instruction set that indicates such a context switch and directs processing to a segment of interrupt handling code. Interrupts are particularly useful in computer multitasking, especially in real-time systems.
60. Interrupt Vector: The interrupt vector is located in the interrupt vector table. The interrupt vector table (IVT) is a data structure that associates a list of interrupt handlers with a list of interrupt requests in the interrupt vector table. Each entry in the interrupt vector table (called an interrupt vector) is the address of an interrupt handler.
A Comprehensive Overview of Embedded and Computer-Related Concepts
61. Direct Memory Access (DMA): Direct Memory Access is a memory access technique in computer science. It allows certain internal hardware subsystems (computer peripherals) to independently read and write system memory without CPU intervention.
62. Bus: A bus is a standardized way of exchanging data between computer components, providing a common way for components to transmit data and control logic.
63. PCIe (Peripheral Component Interconnect Express): Officially abbreviated as PCIe, it is an important branch of the computer bus that follows existing PCI programming concepts and signal standards and establishes a faster serial communication system standard.
64. Direct Media Interface (DMI): The Direct Media Interface is a bus dedicated to connecting the southbridge and northbridge chips on a computer motherboard.
65. Universal Serial Bus (USB): A serial bus standard that connects computer systems to external devices, also a technical specification for input/output interfaces, widely used in personal computers and mobile devices, and extended to photography equipment, digital televisions (set-top boxes), game consoles, and other related fields.
66. Basic Input Output System (BIOS): Firmware that runs during the power-on boot phase to initialize hardware and provide runtime services for the operating system. It is the first software to run when the computer starts.
A Comprehensive Overview of Embedded and Computer-Related Concepts
67. Hard Real-Time System: Hard real-time means that you must absolutely complete tasks before every deadline. Very few systems have such requirements, such as nuclear systems, some medical applications (e.g., pacemakers), many defense applications, and avionics.
68. Soft Real-Time System: A soft real-time system may miss some deadlines, but if too many are missed, overall performance will decline. A good example is the sound system in a computer.
69. Process: A program itself is just a description of instructions, data, and their organization; a process is the actual running instance of the program (those instructions and data). Processes can potentially relate to the same program, and each process can run independently in a synchronous (sequential) or asynchronous manner.
70. Address Space: The address space is the effective range of addresses available for programs or processes to use in memory. That is, it is the memory that a program or process can access. Memory can be physical or virtual, used for executing instructions and storing data.
71. Process Table: The process table is a data structure maintained by the operating system, where each entry (commonly called a context block) contains information about the process, such as process name and status, priority, registers, and the semaphore it may be waiting for.
72. Command-Line Interpreter: The user interface most widely used before the popularity of graphical user interfaces, which typically does not support a mouse; users input instructions via keyboard, and the computer executes the received instructions.

A Comprehensive Overview of Embedded and Computer-Related Concepts

73. Interprocess Communication: Refers to techniques or methods for transmitting data or signals between at least two processes or threads.
74. Superuser: Also known as the administrator account, in the field of computer operating systems, refers to a special user used for system administration, whose actual name in the system varies by system, such as root, administrator, and supervisor.
75. Directory: In a computer or related device, a directory or folder is a virtual container that holds a digital file system. It contains a set of files and other directories.
76. Path Name: A path is a generalized representation of the name of a computer file or directory, pointing to a unique location in the file system.
77. Root Directory: The root directory refers to the top-level directory in a computer system, such as the C and D drives in Windows and / in Linux.
78. Working Directory: It is a computer term. The directory in which the user is located within the operating system, allowing the user to access files using relative filenames under this directory.
79. File Descriptor: A file descriptor is a term in computer science, an abstract concept used to refer to a reference that points to a file.
80. Inode: Short for index node, an inode is information contained in UNIX systems that includes detailed information about each file, such as the node, owner, file, file location, etc.
81. Shared Library: A shared library is a file containing object code that may be used simultaneously by multiple a.out files during execution.
82. Dynamic-Link Libraries (DLLs): Dynamic Link Libraries are a way that Microsoft implements the concept of shared function libraries in operating systems. The extension for these library functions is .DLL, .OCX (which contains ActiveX control libraries), or .DRV (old system drivers).
83. Clients: Clients are computer hardware or software that access services provided by servers.
84. Servers: In computing, a server is a computer program or device that provides functionality for other programs or devices, referred to as the service side.
85. Client-Server Architecture: Also known as client/server architecture, C/S architecture, is a network architecture that distinguishes between clients and servers. Each instance of client software can send requests to a server or application server. There are many different types of servers, such as file servers, game servers, etc.
A Comprehensive Overview of Embedded and Computer-Related Concepts
86. Virtual Machines: In the architecture of computer science, refers to a special software that creates an environment between the computer platform and the end user, allowing the end user to operate other software based on the environment created by this software.
A Comprehensive Overview of Embedded and Computer-Related Concepts
87. Java Virtual Machines: Java Virtual Machines have their own complete hardware architecture, such as processors, stacks, registers, etc., and possess corresponding instruction systems. JVM abstracts away information related to specific operating system platforms, allowing Java programs to generate target code (bytecode) that can run on multiple platforms without modification.
88. Object File: An object file is a file containing object code, which means machine code in a relocatable format that typically cannot be executed directly. Object files come in various formats, and the same object code can be packaged in different object files. Object files can also function like shared libraries.
89. C Preprocessor: The C preprocessor is a preprocessor for the C and C++ languages, used to pre-scan source code before the compiler processes it, completing tasks like including header files, macro expansion, conditional compilation, and line control.
Source: CSDN

Compiled by:【Public Account:Last Bug】

Copyright belongs to the original author. Only for the dissemination and learning discussion of technology. If there are copyright issues, please contact me for deletion.

You may also like:

Check out some chip manufacturers’ code repositories for future reference!

Check out some practical Linux tips

Reply with1024 in the public account chat interface to get embedded resources; reply with m to view the article summary.

Leave a Comment

Your email address will not be published. Required fields are marked *