Programmers must know 89 operating system core concepts

  1. 操作系统(Operating System,OS): Management of computer hardware and software resources of the system 软件, but also the computer system 内核与基石. Operating system needs to process management and configuration memory, determining priority of demand and supply system, a control input and output devices, the basic operation of the network and management of the transaction file system . Operating system also provides a user interface to let users interact with the system.

  1. shell: It is a program that is available commands from the keyboard and provided to the operating system to perform. In the past, it is a Unix-like system is the only available user interface. Today, in addition to the command-line interface (CLI), we also have a graphical user interface (GUI).

  1. GUI (Graphical User Interface): A 用户界面, allow user interaction through graphical icons and audio indicators and electronic equipment.

  1. 内核模式(kernel mode): Also commonly referred to 超级模式(supervisor mode), in kernel mode, the executing code has a full, unrestricted access to the underlying hardware. It can execute any CPU instruction and reference any memory address. Kernel mode is generally reserved for the lowest level of the operating system, the most trusted functions. Crash in kernel mode is disastrous; they will stop the entire computer. Supervisor mode is selected when the computer is powered automatic mode.

  2. 用户模式(user node): When the operating system is running user applications (e.g., processing text editor), the system is in user mode. When an interrupt or system call requesting help application or operating system occurs, the conversion from user mode to kernel mode occurs. In user mode, the mode bit is set to 1. When switching from user mode to kernel mode, it changes from 1 to 0.

  3. 计算机架构(computer architecture): In computer engineering, computer architecture is a set of rules and methods for computer system functions, organization and implementation description. It includes a set of instructions, memory management, I / O and bus structures,

  1. SATA(Serial ATA): Serial ATA (Serial Advanced Technology Attachment), which is a computer bus, for data transmission between the motherboard and mass storage devices (e.g., hard disks and optical disk drives), primarily used in personal computers.

  2. 复用(multiplexing): Also called to share in the operating system indicates the main management time and space. When resources are multiplexed, different programs or users take turns using it. The first of them began to use the resource, then use another, and so on.

  3. 大型机(mainframes): Is a mainframe class computer, generally for its large amount of memory, processing capacity, and high reliability is known. They mainly by large organizations for mission-critical applications that require extensive data processing.

  1. 批处理(batch system): Batch operating system users do not interact directly with the computer. Each user preparatory work on the punch card equipment offline, and submit it to the computer operator. In order to speed up processing, the batch job with similar needs together and function as a group. Programmers will leave the program operator, then the operator will have similar procedures required batch.

  2. OS/360: OS / 360, officially known as the IBM System / 360 operating system, developed by IBM for the 1964 release of its then new System / 360 mainframe development has been discontinued batch operating system.

  3. 多处理系统(Computer multitasking): Refers to the ability of a computer to run multiple programs at the same time. General method of multi-tasking is a piece of code to run the first program, save the environment; another piece of code to run a second program, preservation of the environment; ...... recover the first program of work environment, the implementation of a program under a piece of code.

  4. 分时系统(Time-sharing): In computing, time is a system while sharing computing resources among many users through a multi-program and multi-tasking

  5. 相容分时系统(Compatible Time-Sharing System): The first time-sharing operating system, as the MIT computer center design and implementation.

  6. 云计算(cloud computing): Cloud computing is a computer system resources (especially data storage and computing power) on-demand availability, without the user directly active management. This term is often used to describe many data center users for use on the Internet. Now dominated by large-scale cloud usually has a distribution function from a central server in multiple locations. If relatively close connection with the user, it can be configured as an edge server.

  1. UNIX 操作系统: UNIX operating system, is a powerful multi-user, multi-tasking operating system, supports a variety of processor architectures, according to the classification of the operating system, are time-sharing operating system.

  2. UNIX System V: It is a branch of the UNIX operating system.

  3. BSD(Berkeley Software Distribution): UNIX-derived systems.

  4. POSIX: Portable Operating System Interface, IEEE is to run on a variety of UNIX operating system software, and API defines a series of interrelated criteria in general.

  5. MINIX: Minix, is a mini-version of the UNIX-like operating systems.

  6. Linux: Finally to the famous Linux operating system, too strong, do not be explained, we know everything.

  1. DOS (Disk Operating System): Disk Operating System (abbreviated DOS) is a disk storage device may be used (e.g., a floppy disk, a hard disk drive or optical disk) of the computer operating system.

  2. MS-DOS(MicroSoft Disk Operating System): A development by the US Microsoft operating system, running on Intel x86 personal computers. It is the DOS operating system family, the most famous one in Windows 95 before, DOS is an IBM PC and compatibles with the most basic, and MS-DOS is a DOS operating system PC is the most commonly used.

  1. MacOS X, How little of the Apple operating system? macOS is Apple's graphical user interface-based operating system, is the main operating system for Macintosh

  1. Windows NT(Windows New Technology): Microsoft Corporation in the United States in 1993 launched a pure 32-bit operating system kernel.

  2. Service Pack(SP): Yes, update, repair and (or) enhanced collection, issued in the form of a stand-alone installation package. Many companies, such as Microsoft or Autodesk, typically done when a program reaches a certain number of patches, on the release of a Service Pack.

  3. 数字版权管理(DRM): He is a tool or technical protection measures (TPM) is a set of access control technology for limiting the use of proprietary hardware and copyrighted works.

  4. x86: X86 instruction set architecture is a set, initially based on the Intel 8088 and Intel 8086 microprocessor developed variants thereof. With memory segments as a solution for handling more memory than conventional 16-bit address can be covered. 32-bit x86 default is the number of bits, in addition, there is a x86-64-bit, 64-bit x86 architecture to expand, backward compatible with 16-bit and 32-bit x86 architecture.

  5. FreeBSD: FreeBSD is a UNIX-like operating systems, FreeBSD project is the development results.

  6. X Window System: X Window System (X11, or simply X) is a window display system for a bitmap, common on UNIX-like operating system.

  1. Gnome: GNOME is an entirely free software components of the desktop environment. Its target operating system is Linux, but most BSD systems also support GNOME.

  1. 网络操作系统(network operating systems): Network operating system is a proprietary operating system for a network device (such as a router, switch, or firewall) a.

  1. 分布式网络系统(distributed operating systems): The operating system is distributed on a standalone, network, and communications software physically independent computing nodes on the set. They work by multiple CPU processing services. Each node has a separate part of the global set of operating system-specific software.

  1. 程序计数器(Program counter): Is a program counter in the CPU 寄存器for instructing the computer in its program sequence 位置.

  2. 堆栈寄存器(stack pointer): The stack register is a register in the computer CPU, the purpose 跟踪调用堆栈.

  3. 程序状态字(Program Status Word): It is maintained by the operating system 8 bytes (or 64-bit) data set length. It tracks the current state of the system.

  4. 流水线(Pipeline): In the computing world, the pipe is a set of data processing elements are connected in series, the output of one element is the input of the next element. Pipeline elements are usually performed in a parallel manner or a time-division. Buffer storage is typically inserted between a number of elements.

  1. 超标量(superscalar): Refers to a superscalar CPU architecture to implement a class of concurrent operation instruction level parallelism in a processor core. This technology enables a higher flow rate at the same CPU CPU frequency.
  2. 系统调用(system call): Refers to run in user space program to the operating system kernel service requests require higher privileges to run. System call provides an interface between the user program and the operating system. Most systems interactive operation needs to run in kernel mode. The IO device operation or inter-process communication.
  3. 多线程(multithreading): Technical means to achieve concurrent execution of multiple threads from the software or hardware. A computer with multi-threading capability because of hardware support and be able to execute multiple threads at the same time, thereby enhancing the overall processing performance.
  4. CPU 核心(core): It is the CPU's brain, which receives instructions and performs calculations or operations to satisfy these instructions. A CPU can have multiple cores.
  5. 图形处理器(Graphics Processing Unit): Also known as core, vision processor, graphics display chip or chips; it is a special running on a personal computer, a workstation, a game machine and a number of mobile devices (e.g., tablet PCs, smart phones, etc.) of the micro-processing work drawing operation device.

  1. Storage Architecture: the highest top speed of memory, but the minimum capacity, the cost is very high, the further down the hierarchy, the slower their access efficiency, greater capacity, but the cost is more expensive.

  1. 高速缓存行(cache lines): In fact, the cache partition block became a fixed size, its size is burst read or burst write cycle based on size.
  2. 缓存命中(cache hit): When an application requests data or software, cache hit will occur first. First, the central processing unit (CPU) in their recent memory location (usually the main cache) to find data. If the requested data is found in the cache, it is treated as a cache hit.

  1. L1 cache: CPU chip cache is built into the repository. Also known as the L1 cache 主缓存, in the computer 最快memory, and is closest to the processor.

  2. L2 cache: Secondary cache store, built in the CPU chip, packaged in the same module, or built on the motherboard. L2 cache to the L1 cache provided, which is provided to the processor. L1 L2 memory slower than memory.

  3. L3 cache: Three cache repository built on the motherboard or the CPU module. L3 cache to L2 cache to provide data, which memory is typically slower than the L2 memory, but faster than main memory. L3 cache supplied to the L2 cache, which is in turn supplied to the L1 cache, which in turn is provided to the processor.

  4. RAM((Random Access Memory): A random access memory, also known as main memory, the CPU is 直接交换数据an internal memory. It can be read at any time, and fast, usually as an operating system or other programs that are running in the 临时data storage medium. Can be written at any time from any of a specified address when the RAM work (stored) or read (extracted) information. It is the biggest difference with the ROM of data 易失性, that is, once off the stored data will be lost. RAM for temporarily storing programs, data and intermediate results, and a digital computer system.

  5. ROM (Read Only Memory): Read-only memory is a semiconductor memory, which is characterized by once storing the data can not be changed or deleted , and the content of the power will not be turned off 消失. In an electronic or computer system, typically do not need to store a program or data changes frequently.

  6. EEPROM (Electrically Erasable PROM): Electrically erasable programmable read-only memory, a semiconductor memory device can be electronically reproducible times.

  7. 闪存(flash memory): It is a form of electrically erasable programmable read-only memory, allowing memory to be repeatedly rubbed or write in operation. This technology is mainly used for general data storage, data transmission and exchange, such as memory card and U disk between computers and other digital products.

  8. SSD(Solid State Disks): Solid-state hard drive, a flash memory mainly as a permanent memory of a computer storage device.

  1. 虚拟地址(virtual memory): Virtual memory computer system is 内存管理a mechanism. It makes the application thinks it has a memory (a continuous full address space) continuously available, in fact, it is usually separated into a plurality of pieces of physical memory, and temporarily stored on an external part of the disk storage, when necessary for data exchange. Compared with the system does not use virtual memory technology, systems written using this technology allows large programs easier, use of real physical memory (such as RAM), and more efficient.

  2. MMU (Memory Management Unit): Memory management unit, sometimes referred to as paged memory management unit. It is a computer hardware handles the central processor (CPU) memory access request. Its features include a virtual address to physical address translation (i.e., virtual memory management), memory protection, cache control of the central processor and the like .

  1. context switch: Context switching, also known as a context switch. Is a memory and CPU state reconstruction mechanisms. When the CPU to process the exchange, it must first store the current state of the process, and then read back to the CPU in the process of state.

  2. 驱动程序(device driver): Device drivers, referred to as the driver (driver), is a high-level computer software interacts with the hardware program allows, this program creates a hardware with hardware, software or hardware to communicate with the interface on the motherboard via a bus or other communication subsystem hardware connection mechanism is formed such that the data exchange on the hardware becomes possible.

  1. 忙等(busy waiting): In software engineering, busy waiting 也称自旋is a process to repeatedly check whether a condition is true conditions, this mechanism may be a keyboard input or a lock is available for the examination.

  2. 中断(Interrupt): Typically, after receiving the signal from the asynchronous peripheral hardware (relative to the central processor and memory), or a synchronization signal from the software, the processor will perform the appropriate hardware / software processing. Such signals are referred to be sent 中断请求(interrupt request,IRQ). Via a hardware interrupt causes the processor 运行信息切换(context switch)to save the execution state (program counter to the program status word register and the main information); 软件中断则typically as a command from the CPU instruction set, a programmable operating information directly indicative of this switching, and process-oriented section of the interrupt handling code. Interruption in computer multitasking, especially in real-time system is particularly useful.

  3. 中断向量(interrupt vector): Interrupt vector is located in the interrupt vector table. 中断向量表(IVT)Is a list of interrupt processing program and associated data structures interrupt vector table of interrupt request list. Each entry interrupt vector table (called the interrupt vector) is the interrupt handler address.

  1. DMA (Direct Memory Access): Direct memory access, direct memory access is a memory access technology in computer science. It allows certain internal hardware subsystems of a computer (computer peripherals) can be independently read and write system memory directly, without a central processing unit (CPU) intervention process.

  2. 总线(Bus): Bus (Bus) refers to the system between computer components exchange data normalized, i.e. the components and control logic to provide data transmission in a general way.

  3. PCIe (Peripheral Component Interconnect Express): Official referred PCIe, is an important branch of computer bus, it uses existing standard PCI signals and programming concepts and constructs a more high-speed serial communication system standard.

  4. DMI (Direct Media Interface): Direct Media Interface, Intel dedicated bus for the connection between the south bridge chip and north bridge chip on a computer motherboard.

  5. USB(Universal Serial Bus): Is a computer system and external devices connected to the 串口总线standard, is also an input output interface specification, and is widely used in personal computers and mobile information communication device products, and extending to photographic equipment, digital television (STB), game consoles and other related fields.

  1. BIOS(Basic Input Output System): In the boot phase electricity to run the hardware initialization, and provides firmware runtime services for the operating system. It is the first software that runs at boot time.

  1. 硬实时系统(hard real-time system): Hard real-time means that you must be absolutely complete the task before each deadline. Few systems have this requirement. Such as nuclear systems, some medical applications (such as pacemakers), a large number of defense applications, avionics equipment.

  2. 软实时系统(soft real-time system): Soft real-time system may miss some deadline, but if you miss too many, the final performance will drop. A good example is the computer's sound system.

  3. 进程(Process): The program itself is only instruction, the real running instance of the data and their organizations in the form of description, the process is the program (those instructions and data). If the process is likely associated with the Department of the same program, and each process can be both synchronous (sequential) or asynchronous manner independently.

  4. 地址空间(address space): Address space is valid memory address range available to the program or process use. In other words, it is the memory program or process can access. The memory may be physical or virtual, and for executing instructions and storing data.

  5. 进程表(process table): Process table is maintained by the operating system 数据结构, each entry in the table (commonly known as a context block) contains the relevant 进程information, such as the process name and status, priority, registers, and it may be waiting lights.

  6. 命令行界面(command-line interpreter): Before using the graphical user interface to get the most popular wide range of user interfaces, it usually does not support a mouse, a user input through a keyboard command, after the computer receives the instruction to be executed.

  1. 进程间通信(interprocess communication): Refers to some of the techniques or methods transfer between at least two processes or threads or data signals.
  2. 超级用户(superuser): Also known as the administrator account, in the middle area of ​​the computer operating system for special user management system, which is the actual name of the system also varies on systems, such as root, administrator and supervisor.
  3. 目录(directory): Computer-related equipment or in a directory or folder is equipped with a digital virtual file system 容器. In which it holds a set of files and other directories.
  4. 路径(path name): The path is a generic form of the name of a computer file or directory that points to a unique location on the file system.
  5. 根目录(root directory): Root directory refers to the computer system of top-level directory, such as C drive and D drive in Windows, in Linux /.
  6. 工作目录(Working directory): It is a computer language. Directory user is within the operating system, the user may be under this directory, with relative file name to access the file.
  7. 文件描述符(file descriptor): File descriptor is a term in computer science, it is an abstract representation of the concept of a reference point for the file.
  8. inode: Abbreviation inode, the inode information included in the UNIX system, which contains detailed information about each file, such as node, owner, file, file location.
  9. 共享库(shared library): File is a shared library that contains the object code, the implementation process more a.out files may use the object code.
  10. DLLs (Dynamic-Link Libraries): The dynamic link library, which is implemented in Microsoft's operating system, 共享函数库the concept of an implementation. These extensions are library functions .DLL, .OCX (library comprising ActiveX control) or .DRV (legacy system drivers).
  11. 客户端(clients): Client Access service is provided by the server computer hardware or software.
  12. 服务端(servers): In computing, the server provides functionality for other devices or computer programs or program the device, known as服务端
  13. 主从架构(client-server): Master-slave architecture, also known as 客户端/服务器architecture, C/Sarchitecture is a network architecture, it is to separate client and server area. Each instance of a client software can issue a request to a server or application server. There are many different types of servers, such as file servers, gaming servers.

  1. 虚拟机(Virtual Machines): In the architecture of the computer science, the refers to a special kind of software, you can create an environment between the computer platform and end-users, and end-user environment is based on a virtual machine software created to operate other software .

  1. Java 虚拟机(Java virtual Machines): Java virtual machine has its own sound hardware architecture, such as processors, stacks, registers, etc., also has a corresponding instruction. JVM mask information associated with a particular operating system platform, so that only the Java program to generate object code (bytecode) running in the Java virtual machine can run without modification on multiple platforms.
  2. 目标文件(object file): The target file is a 目标代码file, which means that relocatable machine code format usually can not be directly executed. There are many object file format, the same object code can be packaged in a different target file. Target files can also work the same as a shared library.
  3. C preprocessor: C å pretreatment is C language preprocessor language C ++. A pre-scan prior to compiling the source code program to process complete file contains header, macro expansion, conditional compilation, row control and other operations.

Reference article:

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…

Guess you like

Origin juejin.im/post/5e832bdae51d4546ce27b42a