zoukankan      html  css  js  c++  java
  • IO系统-基本知识

    注:本文档主要整理了Linux下IO系统的基本知识,是整理的网易云课堂的学习笔记,老师讲得很不错,链接如下:Linux IO系统

    1.Linux操作系统的基本构成

    内核:操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统;控制系统和硬件之间的相互通信;决定着系统的性能和稳定性。

    shell:提供给用户界面的软件。

    文件系统、应用程序

    1.1 基本术语

    1.文件和文件系统

    文件:数据或设备的一种逻辑组织;

    文件系统:文件间关系管理的一种逻辑组织。

    2.程序和进程

    程序:计算机执行的指令集合;

    进程:程序的一个运行实例,操作系统资源分配的最小单位。

    3.线程(轻量级进程)

    程序运行的基本单位,一个进程内部可以有一个或若干线程同时运行。

    4.信号

    Linux系统中进程通信的一种技术,异步程序设计的基础。

    5.客户端和服务器

    2 启动流程

    1. 芯片和部分外围电路的初始化
    2. 加载内核
    3. 加载最小文件系统
    4. 加载硬盘上的根文件系统
    5. 启动1号进程/sbin/init

    bootloader:就是在操作系统内核运行之前运行的一段小程序,主要功能有:初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。它是严重依赖于硬件,在嵌入式开发中建立一个通用的bootloader几乎是不可能的。在Linux中称为grub。

    init进程:Linux系统启动的第一个进程(1号进程),0号进程为内核进程(swapper进程)。功能:执行/etc/init.d目录中的所有脚本文件,启动某些系统的服务;执行sbin/getty初始化0、1和2(标准输入、标准输出和标准错误);执行/bin/login启动用户登录程序;管理孤儿进程。

    3内存管理

    3.1 功能

    1.进程隔离

    保护独立的进程,防止互相的干涉数据和存储空间。

    2.自动分配和管理

    动态的分配,分配对管理员是透明的。

    3.支持模块化的程序设计

    能够定义程序模块,并且动态的创建、销毁模块,改变模块大小。

    4.保护和访问控制

    允许一部分内存可以由各种用户以各种方式进行访问。

    5.长期存储

    关电后长时间保护信息

    虚拟寻址:

    3.2 内存管理

    3.2.1段页式内存管理

    1. 进程在虚拟内存中分为代码段、数据段和堆栈段
    2. 进程在段中有许多固定大小的块组成,这些块称为页
    3. 虚拟地址由段号、页号和页中偏移量构成
    4. 虚地址和存储中实地址(物理地址)的动态映射(以页为单位)
    5. 缺页:消除了进程全部载入内存中、按需调页

    4.系统调用

    系统调用是指操作系统提供给用户程序的一组"特殊"接口,用户程序可以通过这组接口来获得操作系统内核提供的特殊服务。

    5. Linux进程的运行状态

    内核态:进程运行在内核空间;

    运行态:进程运行在用户空间。

    6. UNIX标准

    (1)ISO C(标准C)

    (2)IEEE POSIX:在Linux中用户编程接口(API)遵循了UNIX最流行的应用编程界面标准POSIX标准,这些系统调用编程接口主要通过C库(libc)实现的。

  • 相关阅读:
    正则表达式
    javascript if(条件)------------条件中可以使用的值
    maven配置
    获取中文日期
    Oracle无安装客户端安装方法
    Eclipse org.eclipse.compare plug-in
    Differences or similarities between Java and C++
    Java Programming Guidelines
    Native Method
    Object in Java same as pointer
  • 原文地址:https://www.cnblogs.com/mrlayfolk/p/12019598.html
Copyright © 2011-2022 走看看