专栏首页mySoulLinux基础知识
原创

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用户,创建密码

等待安装

登陆,完成

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • web开发模式

    客户端发送request 到 jsp jsp 执行javabean javabean读取databases

    mySoul
  • css的2D转换

    下面通过css实现动画效果,可以使用脚本化的css实现滑入,轮廓伸缩的列表,即动态的HTML,一个过时的说法DHTML

    mySoul
  • css3过渡

    transition 为一个简写属性,是一个transition-property (定义过渡的属性的名称)以及 transition-duration (定义...

    mySoul
  • oracle表空间表分区详解及oracle表分区查询使用方法(转+整理)

    此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5...

    用户1221057
  • 盘点 Kafka 不能保证严格消费顺序的各种情况

    上一篇文章「保证严格的消息顺序消费究竟有多难?」简单描述了对消息顺序消费的一些理解,上一篇文章中的第二个故障问题,感觉没描述清楚,现在我以 Kafka 为例子,...

    张乘辉
  • 最小化约束下的杂质分区

    原文标题:Minimizing Impurity Partition Under Constraints

    李欣颖6837176
  • MySQL分区分库分表(2) --- 实操篇

    上一篇主要讲到了分区分库分表的概念,其实在不影响性能的情况下,我们完全可以使用单分区单库单表。但是业务量大的情况下,受到性能限制我们不得不选择使用分区分库分表。...

    逆月翎
  • 001.企业级CentOS7.6操作系统的安装

    在选择好系统镜像之后,如果选择安装程序光盘映像文件,会自动安装系统,虽然方便,但是会安装太多的服务和程序,并且会自动分区,所有我们选择稍后安装系统来手动的安装系...

    CoderJed
  • Linux-fdisk磁盘分区命令(16)

    名称: fdisk 使用: fdisk [块设备磁盘] 说明: 将一个块设备(磁盘)分成若干个块设备(磁盘),并将分区的信息写进分区表。  fdisk命令菜单常...

    张诺谦
  • Mysql分区表 介绍和使用(转)

    分区表可以用一张表存储大量数据,达到和物理分表同样的效果,但操作起来更简单,对于使用者来说和普通表无差别

    wuweixiang

扫码关注云+社区

领取腾讯云代金券