Linux操作系统学习(一)、Linux是什么与如何学习

news2024/9/20 8:45:11

Linux

软件移植

如果一个操作系统适应了一套硬件,但是当新的硬件产品出现之后,这个操作系统就不适用了,所以我们又得去修改操作系统,这种概念就叫做软件移植。

可移植性

由于Linux是开源的操作系统,所有他的程序码可以被修改成适合在各种机器上面运行的,也就是Linux是具有“可移植性”。

Linux文件系统的重要概念

  1. 所有程序或系统设备都是文件
  2. 不管构建编辑器还是附属文件,所写的程序只有一个目的,且要有效的完成目标

linux distribution = kernel + softwares + Tools + 可完整安装的程序

distribution主要分为两大系统套件管理系统:

1.RPM方式安装软件的系统

2.Debian的dpkg方式安装软件的系统

RPM 软件管理DPKG 软件管理其他未分类
商业公司RHEL (Red Hat 公司) SuSE (Micro Focus)Ubuntu (Canonical Ltd.)
社群单位Fedora CentOS OpenSuSEDebian B2DGentoo

我们知道操作系统的主要目的是用来控制硬件的,那么主要控制硬件哪些功能呢:

  1. 输入输出控制
  2. 设备控制
  3. 进程管理
  4. 文件管理

所谓的多用户多任务是什么意思:

多用户:多个用户共同连接到同一个服务器,他们所处的环境不同但是可以共用服务器中的资源

多任务:在Linux环境下多个任务时,cpu可以同时进行多项工作,

主机规划与磁盘分区

Linux系统中所有的硬件设备文件都在 /dev 这个目录内

设备设备在Linux内的文件名
SCSI/SATA/USB硬盘机/dev/sd[a-p]
USB闪存盘/dev/sd[a-p] (与SATA相同)
VirtI/O界面/dev/vd[a-p] (用于虚拟机内)
软盘机/dev/fd[0-7]
打印机/dev/lp[0-2] (25针打印机) /dev/usb/lp[0-15] (USB 接口)
鼠标/dev/input/mouse[0-15] (通用) /dev/psaux (PS/2界面) /dev/mouse (当前鼠标)
CDROM/DVDROM/dev/scd[0-1] (通用) /dev/sr[0-1] (通用,CentOS 较常见) /dev/cdrom (当前 CDROM)
磁带机/dev/ht0 (IDE 界面) /dev/st0 (SATA/SCSI界面) /dev/tape (当前磁带)
IDE硬盘机/dev/hd[a-d] (旧式系统才有)

其中[]是指括号里的任意一个

windows是以磁盘进行分区,而Linux设备都是以文件的形式存在,

那分区的文件名是什么?

不同的设备有着不同的文件名,这是由于Linux内部所决定的,但是当两个相同设备同时接入时,是如何做到区分的呢,答案就是根据Linux内部扫描到的顺序然后按照顺序排列即可。

如何进行磁盘分区?

早期的分区格式时MBR格式,也就是第一个扇区保留着重要的信息

后面的GPT(磁盘分区表)格式,是新版的硬盘存储格式,为了解决硬盘内存扩大数据量多的问题

磁盘分区有哪些限制? MSDOS(分区表格式与限制)与GPT(磁盘分区表)又是什么?

MSDOS

过去:由于磁道加上Z轴组成的柱面,作为磁盘分区的最小单位,也是文件系统的最小单位。

现在:可以使用一个扇区作为分区单位,通过扇区的号码来区分,达到最小64bit。

MSDOS:第一个扇区共有512bytes大小,其中包含着446bytes的MBR(主要开机记录区 main boot record)和64bytes的分区表(partition table)。

其中分区表又记录着每个区域该区域段的起始和结束地址,通过分区表可以快速定位柱面位置,一共有4个区域段也就是有4个记录区(记录区就相当于柱面)

在windows系统中通常将这种分区分为C盘 D盘 F盘等

在Linux中通常使用文件名后面加一个数字:/dev/sda1、/dev/sda2…/dev/sda4

利用分区,可以让数据更加安全,例如第一个区域的数据不会影响第二数据
数据的快速查找和利用,磁盘只会搜索该区域中的内容

请添加图片描述

主要分区和延申分区最多只能分为4份

开机管理程序存放位置:MBR

延伸分区:

延申分区的含义就是用其他扇区(不在使用第一扇区)去记录硬盘分区的起始和结束地址。

例如,我用第二扇区分区表记录其余分区

L1:101~160
L2:161~220
L3:221~400

请添加图片描述

  • P1:/dev/sda1

  • L1:/dev/sda5

  • L2:/dev/sda6

  • L3:/dev/sda7

    为什么延申分区的设备号从5开始呢,因为前面的设备都被保留给主分区和延申分区

拓展下:主分区1~100

​ 延申分区101~400

而L1、L2、L3属于逻辑分区但占用的还是延申分区空间大小,是将延申分区切割之后的分区,就被称为逻辑分区

所以如果某个单一延申分区被破坏之后,所有的逻辑分区都将会破坏。

提问

假如我的PC有两颗SATA硬盘,我想在第二颗硬盘分区出6个可用的分区(可以被格式化来存取数据之用), 那每个分区在Linux系统下的设备文件名为何?且分区类型各为何?至少写出两种不同的分区方式。

P + E 最多为 4

E 最多为1

6个可用的分区,所以P 6个或者E 6个就会被 P+E所排除

6个可用的分区,所以P2,E2就会被 E 最多为1排除

只剩下P1,E3

P1:/dev/sda1
L1:/dev/sda5
L2:/dev/sda6
L3:/dev/sda7
L4:/dev/sda8
L5:/dev/sda9

或者P3,E1

P1:/dev/sda1
P2:/dev/sda2
P3:/dev/sda3
L1:/dev/sda5
L2:/dev/sda6
L3:/dev/sda7

GUID

请添加图片描述

  1. 每个LBA具有512bytes大小
  2. 下面的LBA34-1相当于上面LBA0-33的备份
  3. LBA0 和MBR格式类似,都含有446bytes大小的开机管理程序,但是剩下的空间装有特殊标识,用来区别硬盘分区格式是GUID
  4. LBA1存放着分区表的大小和地址,同时记录着最后34个LBA块的地址
  5. 从LBA2开始每个空间被分为218bytes大小,也就是和分区表一样分为4个空间
  6. 每个被分的空间都可以被格式化,都被视为主区

开机检测程序

目前的BIOS与UEFI分别是啥?

BIOS

请添加图片描述

CMOS中存储着基本的硬件信息并且嵌入到主板上的存储器,可以给BIOS程序提供数据,

而BIOS是一段写在主板上的一个固件中的程序

此时BIOS程序就会寻找能够开机进入的硬盘,发现硬盘之后,就会在硬盘的第一个扇区的MBR处找到大小为446bytes大小的开机启动程序

此时BIOS不工作,开机启动程序工作,就会识别硬盘中的核心文件并读取,最后由核心文件启动操作系统完成开机。

如果硬盘格式为GPT的话,也可以从LBA0的MBR处读取到开机启动程序

所以通过上述:我们知道BIOS和MBR都会仅有硬件去提供,而真正的程序Boot loader是由开机启动程序完成

boot loader的功能:
1.可以由操作者选用不同的开机项目
2.载入核心文件开始操作系统
3.移交给其他的loader:将开机管理功能移交给其他的loader负责(??)
***
移交给其他的loader就表示你的系统中含有多个开机管理程序,有可能不只在第一扇区的MBR中存在开机管理程序,每个分区都含有一个叫做boot sector的分区,其中也可以存放开机管理程序。所以我们只需要在MBR中设置一个菜单,让用户去选择启动那个操作系统。

UEFI

没见过,只了解一下即可

比较项目传统 BIOSUEFI
使用程序语言组合语言C 语言
硬件资源控制使用中断 (IRQ) 管理 不可变的内存存取 不可变得输入/输出存取使用驱动程序与协定
处理器运行环境16 位CPU 保护模式
扩充方式通过 IRQ 链接直接载入驱动程序
第三方厂商支持较差较佳且可支持多平台
图形化能力较差较佳
内置简化操作系统前环境不支持支持

一般来说,使用 UEFI 接口的主机,在开机的速度上要比 BIOS 来的快上许多

UEFI硬件资源的管理使用轮询 (polling) 的方式来管理,与 BIOS 直接了解 CPU 以中断的方式来管理比较, 这种 polling 的效率是稍微慢一些的

Linux下的磁盘分区选择

请添加图片描述

方框代表文件夹,波浪代表文件

Linux的所有数据都是以文件的形式存在,所以Linux最重要的机制就是目录树(directory tree)机制,要寻找mydata这个地址,我们需要从根目录开始(/),层层递进:

/home/dmtsai/mydata

文件系统与目录树

将文件放在目录之下,这一操作我们称之为挂载
而被操作的目录我们称为挂载点
请添加图片描述

当我想要知道/home/vbird/test这个文件在哪个partition时,倒着推导发现是在/home这个进入点,而不是/。

windows中的光驱有着单独的代号(例如E盘)
Linux下的光驱的中的文件在 /media/cdrom下

撰写不易,留下您的关注和点赞,我们一起进步!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1308658.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BetterDisplay Pro for Mac:精准校准显示器的专业选择

在数字化时代,显示器校准软件成为了摄影师、设计师和影像爱好者等领域中必不可少的工具。而在众多的校准软件中,BetterDisplay Pro for Mac(显示器校准软件)以其强大的功能和专业的精准度脱颖而出,成为了众多专业人士的…

《PySpark大数据分析实战》-06.安装环境准备

📋 博主简介 💖 作者简介:大家好,我是wux_labs。😜 热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP…

Vue运用之input本地上传文件,实现传参file:(binary)

前言 功能场景是,实现列表的【批量导入】的效果,在Excel里维护好信息,本地上传好文件,再点击【确认】触动接口,将flie信息传值后端接口。 html代码 input的type设置为file,支持格式设置为仅支持Excel类型 <div class="btn-box"><div class=&quo…

基于OHTPPS实现网站HTTPS访问

前言 笔者近期为网站配置HTTPS的域名&#xff0c;查找了大量方案&#xff0c;最近寻得一个不错的解决方式&#xff0c;通过OHTTPS获取免费的证书并部署到阿里云服务器上。 步骤 到OHTTPS官网注册账号 官方地址如下&#xff0c;读者可以先行到官网注册一下账号&#xff0c;笔…

设计模式(2)--对象创建(4)--原型

1. 意图 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象。 2. 两种角色 抽象原型(Prototype)、具体原型(Concrete Prototype) 3. 优点 3.1 对客户隐藏了具体的产品类 3.2 可以在运行时刻增加和删除产品 3.3 可以极大地减少系统所需要的类的数目 …

钉钉 × E签宝,打通系统屏障,实现钉钉审批通过后自动同步到E签宝发起签署并返回拖章链接全流程自动化

1 场景描述 成熟的业务体系需要用户的优质体验和高效的交易效率来支撑。而合同作为双方业务往来的法律保证&#xff0c;签合同已成为目前企业必不可少的重要一环。但传统的签署场景中&#xff0c;传统纸质合同的签署往往采用线下见面或邮寄的方式进行&#xff0c;不仅流程复杂&…

YashanDB携手深智城集团联合发布智慧城市解决方案

近日&#xff0c;在YashanDB 2023年度发布会上&#xff0c;深圳计算科学研究院携手深圳市智慧城市科技发展集团有限公司&#xff08;简称“深智城集团”&#xff09;重磅推出基于崖山数据库YashanDB的智慧城市解决方案&#xff0c;该联合解决方案高效支撑了深圳市CIM平台的建设…

车联网助力自动驾驶发展

单车智能决策难点 芯片&#xff0c;成为自动驾驶的最大瓶颈 自动驾驶对芯片算力要求极高。要求自动驾驶处理器在每秒能够处理数百万亿次的计算&#xff1b; 自动驾驶对计算的实时性要求极高。任何一点时延&#xff0c;都有可能造成车毁人亡&#xff1b; 对低能耗有极大的…

认识loader和plugin

在 webpack 中&#xff0c;专注于处理 webpack 在编译过程中的某个特定的任务的功能模块&#xff0c;可以称为插件。它和 loader 有以下区别&#xff1a; 1loader 是一个转换器&#xff0c;将 A 文件进行编译成 B 文件&#xff0c;比如&#xff1a;将 A.less 转换为 A.css&…

静态HTTP应用的性能优化技巧

在Web开发中&#xff0c;静态HTTP应用以其简单、快速和安全的特点受到了广泛欢迎。然而&#xff0c;随着Web应用的规模不断扩大&#xff0c;性能问题也日益突出。本文将为你介绍一些静态HTTP应用的性能优化技巧&#xff0c;让你的应用飞得更快、更稳定。 一、压缩文件 文件压…

报名众筹小程序系统源码:在线投票+众筹模式+完整的安装部署教程

随着互联网的普及和发展&#xff0c;众筹作为一种新型的融资方式&#xff0c;逐渐受到越来越多人的关注和认可。众筹不仅可以帮助个人或企业筹集资金&#xff0c;还可以促进创意的传播和实现。因此&#xff0c;开发一款具有在线投票和众筹功能的微信小程序&#xff0c;对于满足…

Java 多线程之线程安全集合

文章目录 一、概述二、List 接口线程安全实现类2.1 普通 List 变线程安全 List2.2 Vector2.3 CopyOnWriteArrayList 三、Map 接口线程安全实现类3.1 普通 Map 变线程安全 Map3.2 Hashtable3.3 ConcurrentHashMap3.4 ConcurrentSkipListMap 有序/跳表 四、Set 接口线程安全实现类…

【Jenkins】Centos环境安装Jenkins(通过rpm安装)

在Centos操作系统中通过rpm安装Jenkins 参考官网 https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos 1、下载安装Jdk17 下载安装 # 更新您的系统&#xff0c;不一定需要 # sudo yum -y update # 安装将用于下载 Java 17 二进制文件的 wget 命令行工具。 s…

Paper Reading: (ACRST) 基于自适应类再平衡自训练的半监督目标检测

目录 简介工作重点方法CropBankFBRAFFRTwo-stage Pseudo-label Filtering 实验与SOTA比较消融实验 简介 题目&#xff1a;《Semi-Supervised Object Detection with Adaptive Class-Rebalancing Self-Training》&#xff0c;AAAI’22&#xff0c; 基于自适应类再平衡自训练的半…

光栅化渲染:可见性问题和深度缓冲区算法

在前面第二章中&#xff0c;我们了解到&#xff0c;在投影点&#xff08;屏幕空间中的点&#xff09;的第三个坐标中&#xff0c;我们存储原始顶点 z 坐标&#xff08;相机空间中点的 z 坐标&#xff09;&#xff1a; 当一个像素与多个三角形重叠时&#xff0c;查找三角形表面上…

几本学习中整理和面试的PDF,以及精选面试资料

今天和大家分享我在学习过程中整理的笔记&#xff0c;以及我在准备面试中&#xff0c;阅读的PDF&#xff0c;包括Spring Cloud学习手册、Docker学习手册、RabbitMQ学习手册、Spring 6手册、Maven手册、22w字面试手册等等&#xff0c;包括了大部分后端技术以及大部分高频面试题&…

【Maven】加载 Maven 项目报错 status code: 501, reason phrase: HTTPS Required (501)

问题描述 加载 Maven 项目报错&#xff0c;错误信息如下&#xff1a; status code: 501, reason phrase: HTTPS Required (501)尝试使用 -U 标记(强制更新快照)运行 Maven 导入原因分析 这个错误通常表示 Maven 在尝试从远程仓库下载依赖时遇到了 HTTPS 必需的错误。 解决方…

苹果电脑双开

1.第一步&#xff1a;在应用程序中找到微信 复制一个副本出来 2.第二步:打开复制的《微信副本》 右键打开 – 显示包内容 3.第三步:Contents - info.plist 后右键 打开方式 选择 文本编辑 4.第四步&#xff1a;找到查找和替换 这一段com.tencent.xinWeChat 后面是修改 com.tenc…

极新AIGC行业峰会 | 圆桌对话:探索中国AGI迭代之路

“AGI正处在一个巨大的研发范式革命的起点。” 整理 | 周梦婕 编辑 | 小白 出品&#xff5c;极新 2023年11月28日&#xff0c;极新AIGC行业峰会在北京东升国际科学院拉开帷幕&#xff0c;峰会上午的圆桌环节由凡卓资本合伙人王梦菲主持&#xff0c;深势科技战略副总裁何雯…

R语言对医学中的自然语言(NLP)进行机器学习处理(1)

什么是自然语言(NLP)&#xff0c;就是网络中的一些书面文本。对于医疗方面&#xff0c;例如医疗记录、病人反馈、医生业绩评估和社交媒体评论,可以成为帮助临床决策和提高质量的丰富数据来源。如互联网上有基于文本的数据(例如,对医疗保健提供者的社交媒体评论),这些数据我们可…