• Linux基础知识


    Linux基础知识

    计算机硬件的5大单元

    分为输入单元,CPU,内存,输出单元,外部存储设备。
    软件运行时输入单元输入内容,进入内存,CPU由控制单元和算术逻辑单元组成,控制单元控制算术逻辑单元从内存中读取数据,内存和外部存储设备进行交互,运算完毕以后输出到输出单元,完成软件的运行。

    CPU的种类

    CPU内部含有一些小的指令集,使用的所有软件需要经过CPU内部的微指令集进行运算。

    精简指令集

    较为熟悉的为ARM的CPU
    用于手机,导航系统,等微型设备,或者一些工作站,或者是某些较少的服务器。
    特点,指令执行时间很短,指令集精简,完成操作简单。

    嵌入式用这些

    复杂指令集

    特点,执行较为低阶的硬件操作,指令数目多且复杂。
    有X86的Inter 包括 AMD等

    不同的X86架构的CPU区别,微指令,二级缓存,可操作的指令数不同等。

    个人计算机架构与接口设备

    主板上拥有芯片组,芯片组有两个桥接器控制组件的通信。

    北桥

    北桥负责连接速度较快的CPU,内存,显卡

    南桥

    速度较慢的USB,硬盘。

    AMD和Inter的不同

    内存与CPU通信不通过北桥。
    由于CPU的数据来自于内存,所以AMD将年利率控制集成到CPU中。

    操作系统

    操作系统内核

    操作系统也是一组程序,用于管理计算机的所有活动以及驱动系统。驱动系统判断逻辑,运算数值,让内存可以加载读取数据与程序代码。硬盘可以被访问,网络传输数据。
    内核程序所放置的内存区块受保护。开机后常驻内存中。

    系统调用

    层级关系为硬件 -> 内核 -> 系统调用 -> 应用程序
    操作系统为系统调用和内核两个部分。
    操作系统的内核层直接参考硬件规则写成。
    操作系统管理硬件资源
    应用程序开发是参考操作系统提供的开发接口。

    内核功能

    系统调用接口 与内核通信,内核再与硬件管理
    程序管理 多任务环境,即CPU调度机制
    内存管理 控制整个系统的内存
    文件系统管理 对文件的管理 数据的I/O 识别文件系统
    设备驱动 对设备的管理

    linux是什么

    Linux为一套操作系统,处于系统调用和内核两个层。
    github上有linux内核的最早作者Linus Torvalds开源的linux内核项目
    https://github.com/torvalds/linux
    推特 https://twitter.com/linus__torvalds

    历史

    最开始为多道批处理操作系统后来为,分时操作系统。
    1969年Multics系统 接着 1969年 File Server System
    1973年UNIX诞生,用C语言写出来第一个正式的UNIX内核
    1984年x86架构的Minix操作系统诞生,此时GNU和FSF基金会成立。并编写编译器Emacs,并编写FSF

    GNU项目

    版权为GPL版权,用户可以自由执行,复制,再发行,学习,修改,强化自由软件。
    使用GPL版权可以拥有如下的特性

    1. 取得软件与源码
    2. 复制
    3. 修改
    4. 再发行
    5. 回馈

    linux的内核版本

    2.6.18 - 92.e15
    主版本.次版本.释放版本-修改版本
    

    主次版本为奇书为开发中版本。
    主次版本为偶数为稳定版本。

    类Linux操作系统

    Linux + 各种软件即可为一个完整的操作系统。
    内核归档 https://www.kernel.org/
    需要使用LSB规则来规范开发者。
    以及使用FHS规范来进行规范。

    RPM

    使用这种方式安装软件的系统
    例如 centos

    dpkg

    使用dpkg的方式安装的软件系统
    例如ubuntu

    linux特色

    配备需求低廉
    内核功能强大稳定
    独立作业
    稳定系统
    免费少许费用
    安全性,漏洞快速修补
    多任务多用户
    用户与用用户组的管理
    相对比较不耗费资源的系统
    适合小内核系统的嵌入式系统
    拥有众多的GUI

    linux磁盘分区

    磁盘连接方式和设备文件名的关系

    磁盘接口有两种为IDE和SATA接口
    此时设备的文件名为

    主机上皆有一块IDE接口的磁盘,这一块磁盘接在IDE2上主接口上(一个IDE上有三个接口),查表可知文件名为
    /dev/hdc
    

    SATA/USB/SCSI接口使用的是SCSI(小型计算机系统接口)模块来驱动的
    如果机器上有两个SATA磁盘以及一个USB磁盘,而主板上有六个SATA的插槽,分别安装在1和5上。

    与检测顺序决定设备文件名,与实际插槽代号无关

    SATA1插槽上的文件名 /dev/sda
    SATA5插槽上的文件名 /dev/sdb
    USB磁盘(由于开机后才可以被识别)/dev/sdc

    磁盘组成

    磁盘由盘片,机械手臂,磁头,主轴马达
    数据在盘面上,盘片上可以分为扇区,柱面,
    整块磁盘的第一块扇区重要,因为其记录了整块磁盘的主要信息。
    磁盘第一个扇区记录的信息为

    1. 主引导分区 可以安装引导加载程序的地方
    2. 分区表,记录整块硬盘分区的状态
      主引导分区在系统开机的时候会主动读取这个区块的内容。这样系统才会知道你的程序放在哪里且该如何进行开机。

    磁盘分区表

    利用柱面号码进行分区,共有四组记录区,每组记录区记录了起始与结束的柱面号码。假设硬盘设备文件名为/dev/hda 并且有四个分区,柱面为1~100 101~~200 201~300 301~400
    那么将会对应于以下分区

    /dev/hda1
    /dev/hda2
    /dev/hda3
    /dev/hda4
    

    磁盘默认分区表能写入四组分区信息。
    这四组分区称为主或扩展分区。
    分区最小的单位为柱面
    系统写入磁盘的时候会参考分区表,会对某个分区进行数据处理。

    扩展分区

    由于只能有四个分区,所以为了更多的分区,即拥有扩展分区。
    扩展分区的目的是使用额外的扇区来记录分区信息。扩展分区本身不能被拿来格式化
    由扩展分区切出来的分区称为 逻辑分区。逻辑分区是由扩展分区继续切出来的。

    由3和4的扩展分区,切出逻辑分区,

    /dev/hda1
    /dev/hda2
    /dev/hda5
    /dev/hda6
    /dev/hda7
    /dev/hda8
    /dev/hda9
    

    主分区和逻辑分区最多有四个,扩展分区最多只能有一个,逻辑分区由扩展分区持续切出来的分区,能被格式化后作为数据访问的分区为主分区于逻辑分区,扩展分区无法格式化。
    逻辑分区数量与操作系统有不同,在Linux中IDE硬盘最多有59个逻辑分区,sata硬盘有11个逻辑分区。

    开机引导和主引导分区(MBR)

    有BIOS和CMOS两个内容,CMOS为记录各项硬件参数且嵌在主板上的存储器。BIOS为一个写入到主板上的一个软件程序。

    BIOS为计算机主动执行的第一个程序。

    BIOS会依据用户设置去取得能够开机的硬盘,并且将该硬盘放到第一个读取扇区的的MBR中(即扇区的主引导程序)此时BIOS圆满。接下来执行MBR内的引导加载程序进行工作。
    引导加载程序的目的是加载内核文件,即识别系统内的内核文件,加载引导程序,进行启动操作系统。
    1.BIOS 识别第一个开机的设备
    2.MBR 第一个可开机设备的第一个扇区内的主引导分区,将会加载引导程序。
    3.引导加载程序 Boot loader读取内核文件进行执行的文件
    4.内核文件
    上方为四步,即加载的4步

    Boot loader

    引导程序提供以下项目
    提供菜单
    载入内核文件
    转交给其余的内核文件(装有两个操作系统的时候,即windows和linux的时候)

    多系统

    此时在一个硬盘的全部柱面区装有两个系统为linux和windows
    windows拥有转交给其他引导分区的loader

    总结

    每个扇区拥有自己的启动扇区
    实际开机的文件是放置到各自分区内的
    如果多系统会有两个分区为分区1和分区2
    loader只能识别自己内核文件,并且只能进行转交

    linux安装

    目录树结构

    Linux一切皆文件。
    Linux的目录以/为主
    所有的文件由/目录进行衍生

    文件系统和目录树的关系

    挂载,这个用过

    挂载,利用目录当成进入点,将硬盘分区数据放置在该目录下。即进入该目录可以读取该分区。
    进入目录读取该分区的操作为挂载,进入的目录称为挂载点
    例如硬盘分有两区,其中分区1挂载/分区2挂载home,然后在home树下的将会储存进入分区2中,根目录将会储存在分区1中

    外部硬件

    一般会挂载到mnt,此时如果挂载成功将会成为/mnt/我的文件

    安装Linux前的规划

    选择centos啦。
    个人喜好~还算熟悉吧

    网络

    使用NAT这个最常用的也是比较熟悉的。
    使用Windows和Linux下共生存的环境。

    交换分区

    当内存不够使用的时候会启用交换分区

    事实上不一定,有一套算法的。是用来弥补的分区不足的。

    下面安装centos7,使用的是VirtualBox虚拟机,vm要钱啊。。买不起。。╮(╯▽╰)╭,,

    安装centos
    不过嘛,找到密钥使用VMware Workstation Pro
    因为这个可以用的地方不少
    centos经典版本6.7
    不过嘛自己用了一个最新的版本centos7

    选择新建虚拟机

    设置映象文件

    设置处理器

    设置内存

    网络类型设置NAT

    选择SCSI控制器

    即选择I/O接口

    选择磁盘类型

    选择磁盘类型为SCSI
    纠结了一会,选择SATA

    硬件配置如下

    选择安装选项

    安装选项

    暂时选择全部安装

    分区配置


    目前只有一块硬盘
    设置boot,启动linux的核心文件,用于内核引导和启动的文件。其挂载点为/boot
    设置根目录和交换分区

    设置root用户,创建密码

    等待安装

    登陆,完成

    在无知的道路上缓步前行
  • 相关阅读:
    vue-cli 3.0 路由懒加载
    vue 路由拦截、axios请求拦截
    vue-cli 3.0 图片路径问题(何时使用 public 文件夹)
    vue 监听页面宽度变化 和 键盘事件
    WGS84、GCJ-02(火星坐标)、百度坐标,Web墨卡托坐标
    Java学习之道:Java项目打包发布
    ora-14550问题解决
    费氏搜寻法之算法分析与实现
    [置顶] woff格式字体怎么打开和编辑?
    C++小知识之Vector排序
  • 原文地址:https://www.cnblogs.com/melovemingming/p/9790148.html
Copyright © 2020-2023  润新知