git相互切换http和ssh协议
摘要:查看远程分支 终端输入git remote -v 切换协议 终端输入git remote set-url origin <http或者ssh的url>
阅读全文
posted @
2024-07-31 20:56
Dylaris
阅读(19)
推荐(0) 编辑
如何用C语言写一个简易的shell
摘要:参考文章 https://danishpraka.sh/posts/write-a-shell/ 参考文章是英文的,我基本上是结合自己的理解翻译了一下,代码加了些注释,对阅读英文感兴趣的可以直接看这篇就可以了 然后原作者还增加了管道等等功能,在参考文章最后的click那里,可以跳转到github上的
阅读全文
posted @
2024-07-31 14:32
Dylaris
阅读(54)
推荐(0) 编辑
chapter3------保护模式之特权级转移
摘要:特权级 特权级总共有4个级别,数字越小表示的特权级越大 CPL - Current Privilege Level(当前特权级):用于指示处理器当前运行的特权级别 DPL - Descriptor Privilege Level(描述符特权级):用于指示段描述符或门描述符的特权级别。每个段描述符或门
阅读全文
posted @
2024-07-30 17:04
Dylaris
阅读(20)
推荐(0) 编辑
chapter3------保护模式之初始化LDT
摘要:LDT(Local Descriptor Table,局部描述符表) 作用: LDT 是每个进程或任务私有的一个描述符表,用于存储特定进程或任务所需的局部段描述符。 每个进程可以有自己的 LDT,用来管理私有的段,如任务私有的代码段或数据段。 特点: LDT 的描述符只能被拥有它的任务或进程访问。
阅读全文
posted @
2024-07-28 17:32
Dylaris
阅读(18)
推荐(0) 编辑
chapter3------保护模式之从保护模式跳转回实模式
摘要:1、准备合适的段选择子 在保护模式下,段寄存器存储的是段选择子,而不是实际的段地址。要切换到实模式,需要准备一个适当的段选择子,它指向实模式下要访问的代码段。 示例程序: LABEL_DESC_NORMAL: Descriptor 0, 0ffffh, DA_DRW ; Normal 描述符 Sel
阅读全文
posted @
2024-07-28 16:57
Dylaris
阅读(20)
推荐(0) 编辑
chapter3------保护模式之初始化GDT
摘要:实模式 运行于16位的CPU环境下: 16位的寄存器 16位的数据总线 20位的地址总线,以及1MB的寻址能力(2^20B) 一个地址由段和偏移两部分组成,物理地址=段值x16+偏移(段值和偏移都是16位,段值左移四位最后计算出来的地址才是20位) 保护模式 运行与32位的CPU环境下 32位的寄存
阅读全文
posted @
2024-07-27 17:56
Dylaris
阅读(40)
推荐(0) 编辑
Linux Shell脚本攻略 chapter1------小试牛刀
摘要:1、简介 终端提示符 username@hostname$ $表示普通用户 root@hostname# #表示超级用户 shell脚本通常是以 #! 起始的文本文件 #! /bin/bash 运行shell脚本的方式 sh script.sh 将脚本作为 sh 的命令行参数 chmod a+x s
阅读全文
posted @
2024-07-25 16:58
Dylaris
阅读(27)
推荐(0) 编辑
虚拟机(ubuntu22.04)配置git连接gitee
摘要:1、安装git 终端输入sudo apt-get install git 2、配置git 配置用户名 终端输入git config --global user.name "your name",将替换成你的用户名(一般就和gitee上的用户名一致就行) 配置邮箱 终端输入git config --g
阅读全文
posted @
2024-07-21 14:34
Dylaris
阅读(347)
推荐(0) 编辑
虚拟机(ubuntu22.04)空间不足,进行硬盘扩容
摘要:1、编辑虚拟机设置(外部操作) 关闭虚拟机 编辑虚拟机设置 硬盘扩容 虚拟机设置 > 硬件 > 改变磁盘大小 > 点击<扩展> 2、虚拟机内部磁盘重新分区(内部操作) 开启虚拟机 安装界面化的磁盘管理工具 终端输入sudo apt install gparted 终端输入sudo gparted,打
阅读全文
posted @
2024-07-21 11:49
Dylaris
阅读(1110)
推荐(0) 编辑
虚拟机(ubuntu22.04)网络“上一秒正常,下一秒就不行”的问题
摘要:本文主要是介绍之前能上网,现在突然不能上网了的一种解决方案。如果你正在配置虚拟机,可以根据虚拟机 启动时连接 共享蓝牙设备 NAT模式等关键词寻找网上教程。 之前遇到过这样一个问题,吃饭前虚拟机还能上网,吃完饭回来后虚拟机就不能上网了,测试了下本机的网络是正常的,很迷惑。这里给出我的解决方案。 检查
阅读全文
posted @
2024-07-21 11:19
Dylaris
阅读(212)
推荐(0) 编辑
xshell连接虚拟机(ubuntu22.04)
摘要:1、新建连接 进入xshell,点击左上角<新建>,新建立一个连接 编辑跳出来的属性窗口 点击<连接> 名称自定义 协议默认为SSH 主机填写虚拟机的ip地址(在虚拟机终端输入ifconfig命令,根据提示安装相应工具) 端口默认为22 2、启用ssh服务 查看虚拟机是否启用ssh服务 终端输入ps
阅读全文
posted @
2024-07-21 11:06
Dylaris
阅读(460)
推荐(0) 编辑
汇编语言------系统调用
摘要:在汇编程序中使用linux系统调用: 将系统调用号码存入 EAX 寄存器。 将系统调用的参数存入寄存器 EBX、ECX、EDX等。 调用相应的中断(80h)。 通常,结果会返回到 EAX 寄存器中。 比如说我想调用linux中的write函数来输出一个字符串string ssize_t write(
阅读全文
posted @
2024-07-02 18:41
Dylaris
阅读(49)
推荐(0) 编辑
汇编语言------内存段
摘要:分段内存模型:将内存划分为几个独立的区域,每个区域称为段,通过段寄存器中的指针来引用。每个段都被用来保存某种特殊的数据。 Data segment: 数据段,主要用来保存声明的变量、常量等等。用.data和.bss表示。 Code segment: 代码段,主要用来保存指令代码。用.text表示。
阅读全文
posted @
2024-07-02 14:27
Dylaris
阅读(36)
推荐(0) 编辑
汇编语言------基础语法
摘要:汇编程序可以分成3个区域 data section: 用于声明初始化的数据或者常量,运行时不会更改 section .data bss section: 用于声明变量 section .bss text section: 用于保存实际的代码。这个部分必须以声明global _start开始,它告诉内
阅读全文
posted @
2024-07-02 00:18
Dylaris
阅读(85)
推荐(0) 编辑
汇编语言------介绍
摘要:什么是汇编语言 每一台计算机都有一个微处理器来处理计算机中的各种各样的活动。处理器通过指令集来执行特定的操作,也就是机器语言。但机器语言仅有0和1组成,对人类一点都不友好,为此,创造除了汇编语言,一种易于人类理解,能够和底层交互的低级语言。 汇编语言的优点 在我看来,主要有两点。一点是能够帮助我们更
阅读全文
posted @
2024-07-01 23:22
Dylaris
阅读(43)
推荐(0) 编辑
c指针详解(2)--- 指针与数组
摘要:在大致了解了c语言中变量在内存中的分配、存活等方面后,我们再来看看数组在内存中又是如何呈现的。 这里我们就只讨论静态数组,动态数组涉及到动态内存分配,这里就不详细展开了。 那么什么是静态数组呢?要理解这个数据结构,我们可以将其切分为两个概念:静态与数组。 数组:数组其实就是一系列具有相同类型的元素的
阅读全文
posted @
2024-07-01 12:09
Dylaris
阅读(18)
推荐(0) 编辑