Operating System (OS)
: is a system that manages computer hardware and software resourcessoftware
, but also the computer systemCore and cornerstone
. The operating system needs to be handledBasic tasks include managing and configuring memory, prioritizing the supply and demand of system resources, controlling input and output devices, operating networks, and managing file systems. The operating system also provides an interface for users to interact with the system.
shell
: a program that takes commands from the keyboard and provides them to the operating system to execute. In the past, it was the only user interface available on Unix-like systems. Today, we have a graphical user interface (GUI) in addition to a command line interface (CLI).
GUI (Graphical User Interface)
: aThe user interface
, allowing users to interact with electronic devices through graphical ICONS and audio indicators.
-
Kernel mode: Commonly known as Supervisor mode, in kernel mode, the code being executed has complete and unrestricted access to the underlying hardware. It can execute any CPU instruction and reference any memory address. Kernel mode is usually reserved for the lowest level, most trusted functions of the operating system. Crashes in kernel mode are catastrophic; They will stop the whole computer. Superuser mode is the automatic mode selected when the computer is turned on.
-
User node mode: The system is in user mode when the operating system is running user applications, such as processing text editors. 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 occurs. In user mode, the mode bit is set to 1. It changes from 1 to 0 when you switch from user mode to kernel mode.
-
Computer Architecture: In computer engineering, computer architecture is a set of rules and methods that describe the function, organization, and implementation of a computer system. It mainly includes instruction set, memory management, I/O, and bus structure
-
Serial ATA(SATA) : Serial Advanced Technology Attachment (ATA) is a computer bus that transfers data between the mainboard and large-capacity storage devices such as hard disks and OPTICAL disk drives. It is mainly used in personal computers.
-
Multiplexing: also known as sharing, in the operating system primarily indicates the management of time and space. When a resource is reused, different programs or users take turns using it. The first one of them starts using the resource, then another one, and so on.
-
Mainframes: A mainframe is a type of computer usually noted for its large size, storage capacity, processing power, and high degree of reliability. They are primarily used by large organizations for mission-critical applications that require a lot of data processing.
-
Batch system: Users of batch operating systems do not directly interact with computers. Each user prepares work on an offline device such as a punch card and submits it to the computer operator. To speed up processing, jobs with similar requirements are batched together and run as a group. Programmers leave programs to operators, who then batch programs with similar requirements.
-
OS/360: OS/360, formally known as the IBM System/360 operating System, is a discontinued batch operating System developed by IBM for its then-new System/360 mainframes released in 1964.
-
Computer multitasking: Refers to the ability of a Computer to execute more than one program simultaneously. The common way to multitask is to run a piece of code from the first program and save the working environment. Run a piece of code from the second program to save the environment; … Restore the working environment of the first program and execute the next code of the first program.
-
Time-sharing: In computing, time-sharing is a system in which computing resources are shared among many users simultaneously through multiple programs and tasks
-
Compatible time-sharing System (Compatible Time-sharing System) : the earliest time-sharing operating System, designed and implemented by MIT Computer Center in the United States.
-
Cloud Computing: Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by users. This term is commonly used to describe data centers on the Internet that are available to many users. The large clouds that dominate today often have the ability to be distributed across multiple locations from a central server. If the connection to the user is relatively close, you can designate it as an edge server.
-
UNIX operating system: The UNIX operating system is a powerful multi-user and multi-task operating system. It supports multiple processor architectures and belongs to a time-sharing operating system according to the classification of operating systems.
-
UNIX System V: a branch of the UNIX operating System.
-
Berkeley Software Distribution (BSD) : a derivative of UNIX.
-
POSIX: Portable operating system interface. It is a set of related standards defined by IEEE for apis for running software on various UNIX operating systems.
-
MINIX: MINIX, a mini version of the Unix-like operating system.
-
Linux: Finally the famous Linux operating system, too powerful to explain, everyone gets it.
-
Disk Operating System (DOS) is a computer Operating System that can use Disk storage devices, such as floppy disks, hard Disk drives, or optical disks.
-
Ms-dos (MicroSoft Disk Operating System) : an Operating System developed by MicroSoft. It runs on Intel x86 PCS. It is the best known of the FAMILY of DOS operating systems, which were the most basic on IBM PCS and compatibles before Windows 95, and MS-DOS, the most popular DOS operating system for personal computers.
MacOS X
How can you miss the Apple operating system? MacOS is a graphical user interface (GUI) -based operating system from Apple inc. It is the main operating system for the Macintosh
-
Windows NT(Windows New Technology) : is a pure 32-bit operating system core launched by Microsoft in 1993.
-
Service Pack(SP) : A collection of updates, fixes, and/or enhancements to a program that is released as a separate installation package. Many companies, such as Microsoft or Autodesk, usually release a Service Pack when a certain number of fixes have been made for a program.
-
Digital Rights Management (DRM) : It is a tool or Technology Protection measure (TPM) is a set of access control technologies used to limit the use of proprietary hardware and copyrighted works.
-
X86: X86 is a complete instruction set architecture originally developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. Memory segmentation is used as a solution to handle more memory than normal 16-bit addresses can cover. 32-bit is the default number of bits for x86. In addition, there is an x86-64-bit extension of the x86 architecture that is backward compatible with both 16-bit and 32-bit x86 architectures.
-
FreeBSD: FreeBSD is a Unix-like operating system and a development of the FreeBSD project.
-
X Window System (X11, or simply X) is a Window System for bitmap display, common on Unix-like operating systems.
Gnome
: GNOME is a desktop environment consisting entirely of free software. The target operating system is Linux, but most BSD systems also support GNOME.
Network Operating Systems
A network operating system is a dedicated operating system for network devices such as routers, switches, or firewalls.
Distributed Operating Systems
A distributed operating system is software on a collection of independent, network, communication, and physically independent compute nodes. They handle jobs serviced by multiple cpus. Each individual node owns a specific piece of software for the global ensemble operating system.
-
Program counter: A Program counter is a register in the CPU that indicates the computer’s position in its Program sequence.
-
Stack pointer: A stack register is a register in a computer’s CPU whose purpose is to trace the call stack.
-
Program Status Word: A collection of 8 bytes (or 64 bits) of data maintained by the operating system. It tracks the current state of the system.
-
Pipeline: In computing, a Pipeline is a set of data processing elements connected in series, with the output of one element being the input of the next. Elements of a pipeline are usually executed in parallel or in a time-split fashion. A certain amount of buffer storage is usually inserted between elements.
Superscalar (superscalar)
Superscalar CPU architecture refers to a class of concurrent operations that implement instruction-level concurrency in a processor core. This technique can achieve higher CPU flow at the same CPU frequency.System Call
: A program running in user space requests services from the operating system kernel that require higher permissions to run. System calls provide an interface between user programs and the operating system. Most system interactive operations require running in kernel mode. For example, device IO operations or interprocess communication.Multithreading (multithreading)
: refers to the concurrent execution of multiple threads from software or hardware. Multithreaded computers have hardware that allows them to execute multiple threads at the same time, improving overall processing performance.CPU core (core)
It is the brain of the CPU. It receives instructions and performs calculations or operations to satisfy those instructions. A CPU can have multiple cores.Graphics Processing Unit
: also known as display core, vision processor, display chip or graphics chip; It is a microprocessor designed to run graphics operations on personal computers, workstations, game consoles and some mobile devices (such as tablets, smartphones, etc.).
- Storage architecture: The top layer has the highest memory speed, but the smallest capacity, and the cost is very high. The lower the hierarchy, the slower the access efficiency, the larger the capacity, but the cheaper the cost.
Cache lines
: Divides the cache into fixed-size chunks based on the burst read or write period.Cache hit
: A cache hit occurs first when an application or software requests data. First, the central processing unit (CPU) looks for data in its nearest memory location, usually the primary cache. If the requested data is found in the cache, it is considered a cache hit.
-
L1 Cache: Level 1 cache is a built-in repository in the CPU chip. The L1 cache, also known as the primary cache, is the fastest memory on the computer and closest to the processor.
-
L2 Cache: Secondary cache repository, built into the CPU chip, packaged in the same module, or built on the motherboard. The L2 cache feeds into the L1 cache, which feeds into the processor. L2 memory is slower than L1 memory.
-
L3 Cache: Level-3 cache A repository built into the mainboard or CPU module. The L3 cache feeds the L2 cache, and its memory is typically slower than L2 memory, but faster than main memory. The L3 cache feeds into L2 cache, which feeds into L1 cache, which feeds into the processor.
-
RAM(Random Access Memory) : Random Access Memory, also known as main Memory, is an internal Memory that exchanges data directly with the CPU. It can be read and written all the time and is fast, often serving as a temporary data storage medium for operating systems or other running programs. RAM can write (store) or read (retrieve) information from any specified address at any time. The biggest difference between it and ROM is the data volatility, that is, once the power is off the stored data will be lost. RAM is used in computers and digital systems to temporarily store programs, data, and intermediate results.
-
ROM (Read Only Memory) : A type of semiconductor Memory characterized by the fact that once stored data cannot be changed or deleted, and that the contents do not disappear when the power is turned off. In an electronic or computer system, usually used to store programs or data that do not require constant change.
-
Electrically Erasable PROM (Electrically Erasable PROM) : Electrically Erasable programmable read-only memory, a type of semiconductor storage device that can be Electrically rewritten multiple times.
-
Flash memory: A form of electronically erasable programmed read-only memory that can be erased or written more than once during operation. The technology is used for general data storage and for exchanging data between computers and other digital products, such as memory cards and USB sticks.
-
Solid State Disks (SSDS) are computer storage devices that use flash memory as permanent storage.
-
Virtual memory: Virtual memory is a mechanism for memory management in computer systems. It makes an application think it has contiguously available memory (a contiguous complete address space), when in reality it is usually split into physical memory fragments, with some temporarily stored on external disk storage for data exchange as needed. Systems that use virtual memory make it easier to write large programs and use real physical memory, such as RAM, more efficiently than systems that do not use virtual memory.
-
Memory Management Unit (MMU) : Memory Management Unit, sometimes called paging Memory Management Unit. It is computer hardware responsible for processing memory access requests from the central processing unit (CPU). Its functions include virtual address to physical address translation (virtual memory management), memory protection, CPU cache control and so on.
-
Context switch: Context switch. Is a mechanism for storing and reconstructing CPU state. To swap processes on the CPU, you must first store the state of the current process and then read the process state back to the CPU.
-
Device driver: Device drivers, driver (driver) for short, is an interactive program allows high level of computer software and hardware, the program creates a hardware and the hardware, or communication interface, the hardware and software via the motherboard bus or other communication subsystem and the mechanism of connection hardware, so that makes it possible to hardware devices, data exchange.
-
Busy waiting: In software engineering, busy waiting, also known as spin, is a condition in which the process double-checks whether a condition is true. This mechanism may be to check whether keyboard input or a lock is available.
-
Interrupt: Typically, after receiving an asynchronous signal from peripheral hardware (as opposed to the CPU and memory), or a synchronous signal from software, the processor will perform hardware/software processing accordingly. Sending such a signal is called making an interrupt Request (IRQ). Hardware interrupts cause the processor to save execution state through a context switch (mainly register information such as program counters and program status words); Software interrupts, typically as an instruction in the CPU instruction set, directly indicate this operational information switch in a programmatic manner and direct processing to an interrupt handling code. Interrupts are especially useful in computer multitasking, especially in real-time systems.
-
Interrupt Vector: An interrupt vector is located in the interrupt vector table. The Interrupt Direction table (IVT) is a data structure that associates the list of interrupt handlers with the list of interrupt requests in the interrupt Direction table. Each entry in the interrupt vector table (called an interrupt vector) is the address of the interrupt handler.
-
DMA (Direct Memory Access) : Direct Memory Access is a Memory Access technique in computer science. It allows some internal hardware subsystems (peripherals) to read and write directly to system memory independently, without the intervention of the central processing unit (CPU).
-
Bus: A Bus is a standardized way of exchanging data between computer components, that is, it provides data transmission and control logic for each component in a common manner.
-
Peripheral Component Interconnect Express (PCIe) : officially referred to as PCIe, is an important branch of computer bus. It follows the existing PCI programming concepts and signal standards, and constructs a more high-speed serial communication system standard.
-
Direct Media Interface (DMI) : A dedicated Intel bus used to connect the Northbridge and Southbridge chips on the motherboard of a PC.
-
Universal Serial Bus (USB) is a Serial Bus standard that connects a computer system to external devices. It is also a technical specification for input and output interfaces. It is widely used in information and communication products such as personal computers and mobile devices, and extended to photography equipment, digital TELEVISION (set-top box), game consoles, and other related fields.
BIOS(Basic Input Output System)
: is the firmware that runs hardware initialization during power-on boot and provides runtime services for the operating system. It is the first piece of software that runs at startup.
-
Hard real-time systems: Hard real-time means you have to meet absolutely every deadline. Few systems have this requirement. Examples include nuclear systems, some medical applications (such as pacemakers), a number of defense applications, avionics, etc.
-
Soft real-time System: A soft real-time system may miss certain deadlines, but if it misses too many, performance will eventually deteriorate. A good example is the sound system in a computer.
-
Process: The program itself is only a description of instructions, data, and their organization. The Process is the actual running instance of the program (those instructions and data). If a process may be associated with the same program, and each process may run independently, either synchronously (sequentially) or asynchronously.
-
Address space: Address space is the range of valid addresses in memory available to a program or process. That is, it is memory that can be accessed by a program or process. Memory can be physical or virtual and is used to execute instructions and store data.
-
Process Table: A process table is a data structure maintained by the operating system. Each entry in the table (often called a context block) contains information about the process, such as the process name and status, priority, registers, and semaphores for which it may be waiting.
-
The Command-line interface is the most widely used user interface before graphical user interfaces were common. It usually did not support a mouse. The user typed commands through the keyboard, which were then received by the computer and executed.
Interprocess Communication
: Techniques or methods of transmitting data or signals between at least two processes or threads.Superuser
: Is also called administrator account. It is a special user for system management in the field of computer operating systems. Its actual name varies from system to system, for example, root, Administrator, and Supervisor.Directory (the directory)
In a computer or related device, a directory or folder is a virtual representation of a digital file systemThe container
. It holds a set of files and other directories.Path (path name)
Path is a generic representation of the name of a computer file or directory that points to a unique location on the file system.Root directory
The root directory refers to the top-level directory in a computer system, such as drive C and DRIVE D in Windows and drive D in Linux/
.Working Directory
It’s a computer expression. The directory where the user resides in the operating system. Under this directory, the user can access the file using the relative file name.File descriptor
A file descriptor is a computer science term, an abstract concept used to describe a reference to a file.inode
: short for index node, an index node is information contained in UNIX systems that contains detailed information about each file, such as node, owner, file, file location, etc.A shared library
A shared library is a file containing object code that may be used simultaneously by multiple A.out files during execution.DLLs (Dynamic-Link Libraries)
: dynamic link library, which is implemented by Microsoft in the operating systemShared function library
An implementation of a concept. These library functions have extensions of.dll,.ocx (libraries that contain ActiveX controls), or. DRV (old system driver).The client (clients)
: Client is computer hardware or software that accesses services provided by a server.The server (servers)
In computing, a server is a computer program or device that provides a function for another program or device, calledThe service side
Master-slave Architecture (client-server)
: Master-slave architecture is also calledClient/server
Architecture,C/S
Architecture is a network architecture that distinguishes clients from servers. Each instance of client software can make a request to a server or application server. There are many different types of servers, such as file servers, game servers, etc.
Virtual Machines
In computer science architecture, a piece of special software that creates an environment between the computer platform and the end user, who operates other software based on the environment created by the virtual machine.
Java Virtual Machines
: Java virtual machine has its own complete hardware architecture, such as processor, stack, register, and corresponding instruction system. The JVM shields platform-specific information, allowing Java programs to run unmodified on multiple platforms by generating object code (bytecode) that runs on the Java VIRTUAL machine.Object file
: The target file is containedThe target code
File, which means machine code usually cannot be executed directly in a relocatable format. Object files come in multiple formats, and the same object code can be packaged in different object files. Object files can also work like shared libraries.C preprocessor
: C preprocessor A is C language, C++ language preprocessor. Used to pre-scan source code before compiler processing, complete header inclusion, macro extension, conditional compilation, line control, etc.
Article Reference:
Blog.csdn.net/zhangjg_blo…
www.techopedia.com/definition/…
En.wikipedia.org/wiki/Direct…
En.wikipedia.org/wiki/Bus_ (c…
En.wikipedia.org/wiki/Interr…
En.wikipedia.org/wiki/Busy_w…
En.wikipedia.org/wiki/Contex…
En.wikipedia.org/wiki/Read-o…
www.techopedia.com/definition/…
zhuanlan.zhihu.com/p/37749443
En.wikipedia.org/wiki/Pipeli…
En.wikipedia.org/wiki/Stack_…
En.wikipedia.org/wiki/Distri…
En.wikipedia.org/wiki/Time-s…
zh.wikipedia.org/wiki/UNIX
Zh.wikipedia.org/wiki/UNIX_S…
En.wikipedia.org/wiki/Networ…
zh.wikipedia.org/zh/X86-64
zh.wikipedia.org/zh/X86
En.wikipedia.org/wiki/Cloud_…
www.techopedia.com/definition/…
zh.wikipedia.org/wiki/SATA
Blog.codinghorror.com/understandi…
En.wikipedia.org/wiki/Protec…