Linux学习
文章平均质量分 75
自己学习Linux系统的一些心得和笔记记录
~Old
Nothing but more and more nothingness
展开
-
Linux0.11——操作系统怎么把自己从硬盘搬到内存
bootsect.s文件就是把操作系统的代码挪来挪去,最后形成上面的内存结构i,然后做了一次比较重要的内存规划,方便后续代码的执行时,数据段和代码段以及栈段的寻址方式。原创 2023-09-26 19:49:10 · 622 阅读 · 0 评论 -
Linux0.11——第三回 做好访问内存的最基础准备工作
到这里最操作系统最最最基础的准备工作就做好了。把代码从硬盘移动到内存,又从内存移动到另一个地方0x90000。数据段寄存器ds和代码段寄存器cs此时都被设置成了0x9000,也就是为了跳转代码和访问内存数据,设置了一个内存的基地址,以方便代码的编写。栈顶地址被设置成了0x9FF00,具体表现为栈段寄存器ss为0x9000,栈指针寄存器sp为0xFF00.现在仅仅是考虑启动区的512字节代码,不难想到像BIOS一样,操作系统还有很多代码位于硬盘中,不能抛下它们不管啊。原创 2023-09-23 22:14:35 · 173 阅读 · 0 评论 -
Linux0.11——第二回 从0x7c00到0x90000
第一讲就是由BIOS把启动区的代码复制到内存地址0x7c00处,由于x86寻址方式的历史兼容原因,所以需要段基址左移4位,然后就是把0x7c00的512启动区的数据复制到0x90000地址处。然后接着运行。原创 2023-09-23 21:57:49 · 333 阅读 · 0 评论 -
Linux0.11——第一回 最开始的两行代码
按下开机键,CPU 将 PC 寄存器的值强制初始化为 0xffff0,这个位置是 BIOS 程序的入口地址(一跳)该入口地址处是一个跳转指令,跳转到 0xfe05b 位置,开始执行(二跳)执行了一些硬件检测工作后,最后一步将启动区内容加载到内存 0x7c00,并跳转到这里(三跳)启动区代码主要是加载操作系统内核,并跳转到加载处(四跳)BIOS负责加载了启动区,而启动区又负责加载真正的操作系统内核。原创 2023-09-21 19:51:40 · 168 阅读 · 0 评论 -
Linux设备树由来
大势所趋!!!原创 2023-09-15 20:56:35 · 81 阅读 · 0 评论 -
Linux系统基础(一)——认识和安装Linux
例如,某个分区(如/dev/sda7)可以被挂载到/usr/local目录下,这意味着文件/usr/local/man/whatis将位于分区/dev/sda7上,而不是分区/dev/sda5上。例如,如果分区/dev/sda5被挂载在目录/usr上,这意味着所有在/usr下的文件和目录在物理上位于/dev/sda5。Linux系统使用字母和数字的组合来指代硬盘分区,使用一种更加灵活的分区命名方案,该命名方案是基于文件的,文件名的格式为/dev/xxyN(比如/dev/sda1分区)x:偶数表示稳定版本;原创 2023-07-24 22:47:46 · 179 阅读 · 0 评论 -
Linux Shell脚本编程
Shell脚本是一种简单的编程语言,它由一系列命令组成,这些命令可以在命令行中逐个执行。它通常用于自动化常见任务,如文件管理、文本处理和系统管理。原创 2023-03-31 18:20:09 · 439 阅读 · 0 评论 -
Linux常用命令
命令本质上就是可执行程序这些命令都是平常使用常见的命令,像cd,ifconfig等无需刻意死记这些命令,随着使用Linux命令的次数增加以及遇到问题后查找之后,很快就会有更深刻的记忆,慢慢的就能记住,最根本的就是熟能生巧。参考博客Linux 命令大全 | 菜鸟教程 (runoob.com)原创 2023-03-28 23:49:39 · 465 阅读 · 0 评论 -
Linux的编译知识
在链接过程中,链接器会将 hello.o 中的符号引用解析为实际的地址,并将其与其他库文件链接起来生成可执行文件 hello。编译是指将预处理后的代码翻译成汇编代码,同时对代码进行语法检查、类型检查等操作,生成目标文件。交叉编译是指使用一台与目标系统不同的计算机(比如使用x86架构的计算机编译ARM架构的代码),通过交叉编译工具链进行编译生成可在目标系统上运行的程序。交叉编译的优势在于可以在速度较快的开发计算机上进行编译,生成针对目标系统的可执行文件,以节省目标系统上的时间和资源。原创 2023-03-28 21:41:50 · 788 阅读 · 0 评论 -
Linux的基础知识
inode是用来存放文件信息的,每个文件都会有一个inode,并且这个inode号是唯一的,文件的内容都是inode来指定的,而不是文件名,就类似于之前讲的UID号和用户名之间的关系,当系统要访问文件时,inode就会被复制到内存,从而实现文件的快速访问,使用ls -i命令则可以看到inode号,-i参数为打印文件的inode号硬连接只是一个新的链接到某个inode号码的记录而已,这个链接指向inode,系统并不给他重新分配inode可以用ln命令来建立硬连接格式:ln 源文件 目标文件。原创 2023-03-22 20:12:58 · 3228 阅读 · 2 评论 -
Vim编辑器使用
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim 则可以说是程序开发者的一项很好用的工具。连 vim 的官方网站 () 自己也说 vim 是一个程序开发工具而不是文字处理软件。vim是vi的加强版。原创 2023-03-21 11:33:21 · 1549 阅读 · 0 评论 -
Linux用户和用户管理
其实说白了就是Linux系统不是通过用户名来识别用户的,而是因为不同的用户在Linux中是不同的UID号,而对于像公司里面的话,经常是多个人共用一个Linux服务器,而一般而且不同的部门都只能访问各自部门的文件和拥有对应的权限,所以又有一个组的概念,不同的组就是不同的GID号。用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段(难怪以前windows在实习的时候,提醒我改密码)用户组:一对一,一对多,多对一,多对多。原创 2023-03-20 21:45:44 · 270 阅读 · 0 评论 -
Linux简介
UNIX(贝尔实验室):最早的多用户、多任务操作系统,Unix在1979年后商业收费。创始人:Linus Torvalds,在1991.10.05发布第一个版本。曲线救国:gcc/glibc/bash shell/emacs。UNIX、Minix、GNU、Linux的历史渊源。Minix(谭宁邦):定位教学用途,没有发展壮大。Linux:学习Minix,借助GNU软件。GNU(史托曼):建立free UNIX,发展:现在几千万行代码。Hurd诞生,为时已晚。原创 2023-03-20 21:13:39 · 59 阅读 · 0 评论