注:本文档主要整理了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)实现的。

IO系统-基本知识的更多相关文章

  1. L012-linux系统文件属性知识深入详解小结

    L012-linux系统文件属性知识深入详解小结 最近的学习重点不在这上面,所以更新的比较慢,再加上母亲住院,感情问题,一系列吧,愿快点度过这黑色的4月份,希望我能在5月份阳光起来,加油! 回归正题 ...

  2. 从零开始山寨Caffe·拾贰:IO系统(四)

    消费者 回忆:生产者提供产品的接口 在第捌章,IO系统(二)中,生产者DataReader提供了外部消费接口: class DataReader { public: ......... Blockin ...

  3. 从零开始山寨Caffe·陆:IO系统(一)

    你说你学过操作系统这门课?写个无Bug的生产者和消费者模型试试! ——你真的学好了操作系统这门课嘛? 在第壹章,展示过这样图: 其中,左半部分构成了新版Caffe最恼人.最庞大的IO系统. 也是历来最 ...

  4. java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET

    java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了!      社区福利快来领取免费参加MDCC大会机会哦    Tag功能介绍—我们 ...

  5. io系统

    一.浅谈io系统 io系统的结构化思想是:输入-转换流-装饰器-输出. 对于字节流来说,常见的结构类为: package com.handchina.yunmart.middleware.servic ...

  6. 彻底明白Java的IO系统

    java学习:彻底明白Java的IO系统 文章来源:互联网 一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有 ...

  7. 什么是PROFINET IO系统的实时性

    实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行. PROFINET IO系统的实时性就是指当有一个外部事件发生时,从输入信号到传输.到控制 ...

  8. Java的IO系统

     Java IO系统     "对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务."     由于存在大量不同的设计方案,所以该任务的困难性是很容易证明的.其中最大的 ...

  9. 如何系统学习知识图谱-15年+IT老兵的经验分享

    一.前言 就IT而言,胖子哥算是老兵,可以去猝死的年纪,按照IT江湖猿龄的规矩,也算是到了耳顺之年:而就人工智能而言,胖子哥还是新人,很老的新人,深度学习.语音识别.人脸识别,知识图谱,逐个的学习了一 ...

随机推荐

  1. 微信小程序 image图片组件实现宽度固定 高度自适应

    给img的mode设置值 注1:image组件默认宽度300px.高度225px 注2:image组件中二维码/小程序码图片不支持长按识别.仅在wx.previewImage中支持长按识别. mode ...

  2. vue-learning:13 - js - vue作用域概念:全局和局部

    目录 全局作用域:Vue对象 全局api 局部作用域: 实例对象vm 实例api 组件component 组件配置选项 在引入Vue文件时,就相当于拥有了一个全局Vue对象. 在var vm = ne ...

  3. 红米K20 Pro 传感器失效解决方案

    最近把Redmi K20 Pro升级到了安卓Q,用了几天,不好用,总是提示屏幕前方有遮挡,于是刷回了安卓9,但是发现重力感应传感器失效了,屏幕不会随这方向转,导航的时候看起来很难受. 网上查了一下,要 ...

  4. 学习Java第七周

    重要知识点 1.“super”的用法 构造器和方法,都用关键字super指向超类,但是用的方法不一样.方法用这个关键字去执行被重载的超类中的方法 2.接口和抽象类的异同 相同: 1.接口和抽象类都有抽 ...

  5. ssh 简写

    << remotessh remotessh 这一对之间,可以写多个命令,换行即可. 否者就简单的 双引号,里面每个命令用分号隔开. 注意: 在远程服务器上的执行权限. 注意:login密 ...

  6. python类方法、类属性和静态方法

    class Game(object): #类属性 num = 0 #实例方法 def __init__(self): #实例属性 self.name = "laowang" #类方 ...

  7. 【题解】AcWing 110. 防晒(普及题)

    [题解]AcWing 110. 防晒(普及题) AcWing 110. 防晒 你没有用过的全新OJ 嘿嘿水水题. 题目就是一维坐标轴上给定多个线段,给定多个点,点在线段上造成贡献,点可以重复,问最大贡 ...

  8. $CF912E\ Prime\ Gift$ 二分+搜索

    正解:二分+搜索 解题报告: 传送门$QwQ$ 因为翻译真的很$umm$所以还是写下题目大意$QwQ$,就说给定一个大小为$n$的素数集合,求出分解后只含这些质数因子的第$K$小整数 考虑先把质数分两 ...

  9. JVM之GC回收信息详解

    一.-XX:+PrintGCDetails 打印GC日志 参数配置:-Xms10M -Xmx10M -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+Pr ...

  10. 「USACO11NOV」牛的障碍Cow Steeplechase 解题报告

    题面 横的,竖的线短段,求最多能取几条没有相交的线段? 思路 学过网络流的童鞋在哪里? 是时候重整网络流雄风了! 好吧,废话不多说 这是一道最小割的题目 怎么想呢? 要取最多,那反过来不就是不能取的要 ...