89 core operating system concepts that programmers must know
Click on the blue " Linux " in the upper left corner and select " Set as Star "
From:Java Builder
1. 操作系统(Operating System,OS)
: It is a system that manages computer hardware and software resources
, and it is also a computer system
. The operating system needs to handle
basic tasks such as managing and configuring memory, determining the priority of system resource supply and demand, controlling input and output devices, operating the network, and managing the file system
.
The operating system also provides an operating interface for users to interact with the system.
软件
内核与基石
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 a graphical user interface (GUI).
3. GUI (Graphical User Interface)
: is a device
that allows users to interact with electronic devices through graphic icons and audio indicators.
用户界面
4. 内核模式(kernel mode)
: Also commonly known as
, in kernel mode, the code being executed has full 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. Kernel-mode crashes are catastrophic; they will halt the entire computer. Superuser mode is the automatic mode selected when the computer is turned on.
超级模式(supervisor mode)
5. 用户模式(user node)
: When the operating system is running user applications (such as working with a text editor), the system is in user mode. 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 switching from user mode to kernel mode.
6. 计算机架构(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
7. SATA(Serial ATA)
: Serial ATA (Serial Advanced Technology Attachment), which is a computer bus responsible for data transmission between the motherboard and large-capacity storage devices (such as hard drives and optical disk drives), and is mainly used in personal computers.
8. 复用(multiplexing)
: Also known as sharing, it mainly indicates the management of time and space in the operating system. When a resource is reused, different programs or users take turns using it. The first of them starts using the resource, then the other and so on.
9. 大型机(mainframes)
: Mainframe is a class of computers generally noted for their large size, amount of storage, processing power, and high degree of reliability. They are mainly used by large organizations for mission-critical applications that require large amounts of data processing.
10. 批处理(batch system)
: Users of batch operating systems do not interact directly with the computer. Each user prepares work on offline equipment such as punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run in groups. Programmers leave programs to operators, who then batch programs with similar requirements.
11. OS/360
: OS/360, officially known as the IBM System/360 Operating System, is a discontinued batch operating system developed by IBM for its then-new System/360 mainframe released in 1964.
12. 多处理系统(Computer multitasking)
: Refers to the computer's ability to run multiple programs at the same time. The general method of multitasking is to run a piece of code of the first program and save the working environment; then run a piece of code of the second program and save the environment;... restore the working environment of the first program and execute the next step of the first program. A piece of code.
13. 分时系统(Time-sharing)
: In computing, time sharing is a system of sharing computing resources among many users simultaneously through multiprogramming and multitasking
14. 相容分时系统(Compatible Time-Sharing System)
: The earliest time-sharing operating system, designed and implemented by the MIT Computer Center in the United States.
15. 云计算(cloud computing)
: Cloud computing is the on-demand availability of computer system resources (especially data storage and computing power) without direct active management by the user. 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 functionality distributed across multiple locations from a central server. If the connection to the user is relatively close, it can be designated as an edge server.
16. UNIX 操作系统
: The UNIX operating system is a powerful multi-user, multi-task operating system that supports multiple processor architectures. According to the classification of operating systems, it is a time-sharing operating system.
17. UNIX System V
: Is a branch of the UNIX operating system.
18. BSD(Berkeley Software Distribution)
: A derivative of UNIX.
19. POSIX
: Portable Operating System Interface is the general name of a series of interrelated standards defined by IEEE for running software on various UNIX operating systems.
20. MINIX
: Minix, a mini version of a UNIX-like operating system.
21. Linux
: Finally the famous Linux operating system has arrived. It is so powerful that I won’t explain it. Everyone understands it.
22. DOS (Disk Operating System)
: Disk operating system (abbreviated as DOS) is a computer operating system that can use disk storage devices such as floppy disks, hard drives, or optical disks.
23. MS-DOS(MicroSoft Disk Operating System)
: An operating system developed by Microsoft Corporation of the United States, running on Intel x86 personal computers. It is the most famous one in the DOS operating system family. Before Windows 95, DOS was the most basic equipment in IBM PCs and compatible machines, while MS-DOS was the most commonly used DOS operating system in personal computers.
24. MacOS X
, how can the Apple operating system be missing? macOS is a graphical user interface-based operating system launched by Apple and is the main operating system of the Macintosh
25. Windows NT(Windows New Technology)
: It is a pure 32-bit operating system core launched by Microsoft Corporation in the United States in 1993.
26. Service Pack(SP)
: It is a collection of program updates, fixes and/or enhancements, released in the form of an independent installation package. Many companies, such as Microsoft or Autodesk, usually release a service pack when a certain number of patches have been made for a certain program.
27. 数字版权管理(DRM)
: He is a tool or technology protection measure (TPM) is a set of access control techniques used to restrict the use of proprietary hardware and copyrighted works.
28. x86
: x86 is a set of instruction set architectures originally developed by Intel based on the Intel 8086 microprocessor and its 8088 variants. Memory segmentation is used as a solution to handle more memory than ordinary 16-bit addresses can cover. 32-bit is the default number of bits for x86. In addition, there is x86-64 bit, which is a 64-bit extension of the x86 architecture and is backward compatible with 16-bit and 32-bit x86 architectures.
29. FreeBSD
: FreeBSD is a UNIX-like operating system and the development result of the FreeBSD project.
30. X Window System
: The X Window System (X11, or X for short) is a window system for bitmap display and is common on UNIX-like operating systems.
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.
32. 网络操作系统(network operating systems)
: A network operating system is a specialized operating system for network devices such as routers, switches, or firewalls.
33. 分布式网络系统(distributed operating systems)
: A distributed operating system is software on a collection of independent, networked, communications and physically independent computing nodes. They handle jobs that are served by multiple CPUs. Each individual node owns a piece of software specific to the global collective operating system.
34. 程序计数器(Program counter)
: The program counter is a counter in a CPU
that indicates where the computer is in its program sequence
.
寄存器
位置
35. 堆栈寄存器(stack pointer)
: The stack register is a register in the computer CPU whose purpose is
.
跟踪调用堆栈
36. 程序状态字(Program Status Word)
: It is a collection of 8 bytes (or 64 bits) long data maintained by the operating system. It 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 element. Elements of a pipeline are typically executed in a parallel or time-split fashion. Usually a certain amount of buffer storage is inserted between elements.
38. 超标量(superscalar)
: Superscalar CPU architecture refers to a type of concurrent operation that implements instruction-level concurrency in a processor core. This technology enables higher CPU traffic at the same CPU frequency.
39. 系统调用(system call)
: Refers to a program running in user space requesting services from the operating system kernel that require higher privileges to run. System calls provide the interface between user programs and the operating system. Most system interactive operations require running in kernel mode. Such as device IO operations or inter-process communication.
40. 多线程(multithreading)
: Refers to the technology that enables concurrent execution of multiple threads from software or hardware. Computers with multi-threading capabilities are able to execute multiple threads at the same time due to hardware support, thus improving overall processing performance.
41. CPU 核心(core)
: It is the brain of the CPU, it receives instructions and performs calculations or operations to satisfy these instructions. A CPU can have multiple cores.
42. 图形处理器(Graphics Processing Unit)
: Also known as display core, visual processor, display chip or graphics chip; it is a microprocessor specially designed to run graphics operations on personal computers, workstations, game consoles and some mobile devices (such as tablets, smartphones, etc.) device.
-
Storage architecture: The top-level memory has the highest speed, but the smallest capacity, and the cost is very high. The further down the hierarchy, the slower the access efficiency, the larger the capacity, but the cheaper the cost.
44. 高速缓存行(cache lines)
: In fact, the cache is divided into fixed-size blocks, the size of which is based on the size of the burst read or burst write cycle.
45. 缓存命中(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 main cache). If the requested data is found in the cache, it is considered a cache hit.
46. L1 cache
: The L1 cache is a memory bank built into the CPU chip. The L1 cache, also known as
, is
the memory in your computer and is closest to the processor.
主缓存
最快
47. L2 cache
: A secondary cache repository built into the CPU chip, packaged in the same module, or built into the motherboard. The L2 cache feeds the L1 cache, which feeds the processor. L2 memory is slower than L1 memory.
48. L2 cache
: Level 3 cache is built into the memory bank on the motherboard or within the CPU module. The L3 cache feeds the L2 cache, and its memory is generally slower than L2 memory but faster than main memory. The L3 cache feeds the L2 cache, which feeds the L1 cache, which feeds the processor.
49. RAM((Random Access Memory)
: Random access memory, also called main memory, is
the internal memory of the CPU. It can be read and written at any time and is very fast. It is usually used as
a data storage medium for the operating system or other running programs
. When RAM is working, information can be written (stored) or read (retrieved) from any specified address at any time. The biggest difference between it and ROM is the data
, that is, the stored data 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 semiconductor memory whose characteristic is that
once the data is stored, it cannot be changed or deleted
, and the content will not be lost when the power is turned off
. In electronic or computer systems, it is usually 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 semiconductor storage device that can be electronically rewritten multiple times.
52. 闪存(flash memory)
: A form of electronically erasable programmable read-only memory that allows memory to be erased or written to multiple times during operation. This technology is mainly used for general data storage, as well as for exchanging data between computers and other digital products, such as memory cards and USB flash drives.
53. SSD(Solid State Disks)
: Solid state drive is a computer storage device that mainly uses flash memory as permanent memory.
54. 虚拟地址(virtual memory)
: Virtual memory is a mechanism of
computer systems
. It makes the application think that it has contiguously available memory (a contiguous complete address space), when in fact, it is usually divided into multiple physical memory fragments, and some are temporarily stored on external disk storage when needed. Perform data exchange. Systems that use virtual memory technology 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 technology.
内存管理
55. MMU (Memory Management Unit)
: Memory management unit, sometimes called paged memory management unit. It is a piece of computer hardware responsible for processing memory access requests from the central processing unit (CPU). Its functions include
virtual address to physical address conversion (ie, virtual memory management), memory protection, central processor cache control
,
etc.
56. context switch
: Context switching, also known as environment switching. Is a mechanism for storing and reconstructing CPU state. When you want 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.
57. 驱动程序(device driver)
: A device driver, referred to as driver, is a program that allows high-level computer software to interact with hardware. This program creates an interface for communication between hardware and hardware, or hardware and software, through the bus on the motherboard or other The communication subsystem forms a connection mechanism with the hardware, which makes data exchange on the hardware device possible.
58. 忙等(busy waiting)
: In software engineering, busy waiting
is a condition where a process repeatedly checks whether a condition is true. This mechanism may be to check keyboard input or whether a certain lock is available.
也称自旋
59. 中断(Interrupt)
: Usually, after receiving an asynchronous signal from peripheral hardware (relative to the central processor and memory), or a synchronous signal from software, the processor will perform corresponding hardware/software processing. Sending such a signal is called proceeding
. Hardware interrupts cause the processor to
save execution status (mainly register
information
such as program counter and program status word)
through a Processing leads to an interrupt handling code. Interrupts are particularly useful in computer multitasking, especially real-time systems.
中断请求(interrupt request,IRQ)
运行信息切换(context switch)
软件中断则
60. 中断向量(interrupt vector)
: The interrupt vector is located in the interrupt vector table.
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.
中断向量表(IVT)
61. DMA (Direct Memory Access)
: Direct memory access. Direct memory access is a memory access technology in computer science. It allows certain computer internal hardware subsystems (computer peripherals) to directly read and write system memory independently without the need for central processing unit (CPU) intervention.
62. 总线(Bus)
: Bus (Bus) refers to a standardized way of exchanging data between computer components, that is, it provides data transmission and control logic for each component in a common way.
63. PCIe (Peripheral Component Interconnect Express)
: Officially referred to as PCIe, it is an important branch of the computer bus. It follows the existing PCI programming concepts and signal standards, and builds a higher-speed serial communication system standard.
64. DMI (Direct Media Interface)
: Direct media interface is Intel's dedicated bus used for the connection between the south bridge chip and the north bridge chip on the computer motherboard.
65. USB(Universal Serial Bus)
: It is a standard for connecting computer systems and 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 has been extended to photographic equipment, digital TVs (set-top boxes), Game consoles and other related fields.
串口总线
66. BIOS(Basic Input Output System)
: It is the firmware that runs hardware initialization during the power-on boot phase and provides runtime services to the operating system. It is the first software that runs when you turn on your computer.
67. 硬实时系统(hard real-time system)
: Hard real-time means you absolutely have to meet every deadline. Very few systems have this requirement. Examples include nuclear systems, some medical applications (e.g. pacemakers), numerous defense applications, avionics, etc.
68. 软实时系统(soft real-time system)
: Soft real-time systems may miss some deadlines, but if they miss too many, eventually performance will degrade. A good example is the sound system in a computer.
69. 进程(Process)
: The program itself is just a description of the instructions, data and their organization, and the process is the real running instance of the program (those instructions and data). If processes may be related to the same program, and each process can run independently in a synchronous (sequential) or asynchronous manner.
70. 地址空间(address space)
: Address space is the range of valid addresses in memory available to a program or process. That is, it is the memory that a program or process can access. Memory can be physical or virtual and is used to execute instructions and store data.
71. 进程表(process table)
: The process table is maintained by the operating system
, and 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 it may be waiting on.
数据结构
进程
72. 命令行界面(command-line interpreter)
: It is the most widely used user interface before the graphical user interface became popular. It usually does not support the mouse. The user inputs instructions through the keyboard, and the computer executes the instructions after receiving them.
73. 进程间通信(interprocess communication)
: Refers to some technologies 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, it refers to a special user used for system management. Its actual name in the system also varies from system to system, such as root, administrator and supervisor.
75. 目录(directory)
: In a computer or related device, a directory or folder is a virtual virtual file system that houses a digital file system
. A set of files and other directories are stored in it.
容器
76. 路径(path name)
: A path is a universal representation of the name of a computer file or directory that points to a unique location on the file system.
77. 根目录(root directory)
: The root directory refers to the top-level directory in the computer system, such as the C drive and D drive in Windows and Linux
.
/
78. 工作目录(Working directory)
: It is a computer term. The directory where the user is located in the operating system. The user can access files under this directory using relative file names.
79. 文件描述符(file descriptor)
: A file descriptor is a term in computer science and an abstract concept used to express a reference to a file.
80. inode
: Abbreviation for inode, an inode is information contained in a UNIX system that contains detailed information about each file such as node, owner, file, file location, etc.
81. 共享库(shared library)
: A shared library is a file containing object code, which may be used by multiple a.out files at the same time during execution.
82. DLLs (Dynamic-Link Libraries)
: Dynamic link library, which is a way for
Microsoft to implement the concept in the operating system
. The extensions of these library functions are .DLL, .OCX (libraries containing ActiveX controls), or .DRV (old-style system drivers).
共享函数库
83. 客户端(clients)
: A client is the computer hardware or software that accesses the services provided by the server.
84. 服务端(servers)
: In computing, a server is a computer program or device that provides functionality for other programs or devices, called
服务端
85. 主从架构(client-server)
: Master-slave architecture, also known as
architecture,
architecture, is a network architecture that distinguishes the client from the server. Each instance of client software can make requests to a server or application server. There are many different types of servers such as file servers, game servers, etc.
客户端/服务器
C/S
86. 虚拟机(Virtual Machines)
: In the architecture of computer science, it refers to a special software that can create an environment between the computer platform and the end user, and the end user operates other software based on the environment created by the virtual machine software. .
87. Java 虚拟机(Jaav virtual Machines)
: The Java virtual machine has its own complete hardware architecture, such as processor, stack, registers, etc., and also has a corresponding instruction system. The JVM shields the information related to the specific operating system platform, so that the Java program only needs to generate the target code (bytecode) that runs on the Java virtual machine, and it can run on multiple platforms without modification.
88. 目标文件(object file)
: An object file is
a file containing , which means machine code in a relocatable format that is usually not directly executable. Object files come in many formats, and the same object code can be packaged in different object files. Object files can also work like shared libraries.
目标代码
89. C preprocessor
: The C preprocessor is a preprocessor for C language and C++ language. It is used to pre-scan the source code before the compiler processes the program, and complete operations such as header file inclusion, macro expansion, conditional compilation, and line control.
end
A mouthful of Linux
Follow and reply [ 1024 ] Massive Linux information will be given away
Collection of wonderful articles
Article recommendation