- 博客(1029)
- 资源 (1)
- 收藏
- 关注
原创 《操作系统真相还原》读书笔记八:获取物理内存容量以及本书源代码
xp 0xb00 查看物理内存0xb00出的内容。宏文件boot.inc和读书笔记七中一致。编写loader.S汇编代码。编写mbr.S汇编代码。
2024-03-11 01:16:22 160 1
原创 《操作系统真相还原》读书笔记七:进入保护模式
进入保护模式,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)需要被转化为物理地址后再去访问,程序对此一无所知。地址转换是由处理器和操作系统共同协作完成的,处理器在硬件上提供地址转换部件,操作系统提供转换工程中所需要的页表。
2024-03-10 11:49:23 110
原创 《操作系统真相还原》读书笔记三:centos6安装bochs2.6.2
【代码】《操作系统真相还原》读书笔记三:centos6安装bochs2.6.2。
2024-03-05 23:47:53 123
原创 《操作系统真相还原》读书笔记二:环境搭建 xshell连接virtualbox
使用 vi /etc/ssh/sshd_config命令进入sshd服务配置,键盘输入i进行编辑,将监听端口、监听地址前的 # 号去除,开启允许远程登录,开启使用用户名密码来作为连接验证。修改完成,按一下Esc,输入:wq保存并退出。开启sshd服务,输入sudo service sshd start。2. 配置virtualbox网络。配置完成后,点击连接即可。3. 配置xshell。
2024-03-05 23:15:33 198
原创 linux nasm汇编中调用printf不报错,但调用scanf报错。抛出了分段错误(核心转储)
编译后,系统会如下段错误(Segmentation fault (core dumped)).
2024-02-29 01:44:15 269
原创 linux0.11 源码阅读 head.s setup.s bootsect.s加载位置
将0x10000处的代码往下复制到0开始的地址处。移动后的内存布局如下。
2024-02-23 21:55:22 201
原创 《汇编语言:基于linux环境》通过sys_read, sys_write 实现大小写英文字母转换
【代码】《汇编语言:基于linux环境》通过sys_read, sys_write 实现大小写英文字母转换。
2024-02-03 00:39:17 190
原创 《汇编语言:基于linux环境》nasm编译,gdb调试
现在,当我只运行 sandbox 时,它会正常运行,但 gdb 无法显示任何源代码。当我在 gdb 中尝试 run 时,它不显示源代码。当我使用了 dawrf, 就可以调试了。看起来 stabs 格式不适用于 GDB。
2024-01-29 01:04:42 244
原创 《汇编语言:基于linux环境》eatsyscall汇编程序
当阅读此书,作者编写了一个这样的程序,我也想试一下。照着书中的代码写了下,可以使用nasm正常编译,ld也可以正常链接,但是无法正常执行。经过查找资料,我是64架构的cpu,在i386架构下才使用int 80调用。使用nasm,ld编译,链接,可以正常运行。64下要使用syscall。
2024-01-28 14:43:27 176
原创 gcc -l 参数说明
这时我们只用-l参数的话,链接还是会出错,出错信息大概是:“/usr/bin/ld: cannot find -lxxx”,也就是链接程序ld在那3个目录里找不到libxxx.so,这时另外一个参数-L就派上用场了,比如常用的X11的库,它在/usr/X11R6/lib目录下,我们编译时就要用-L/usr/X11R6/lib -lX11参数,放在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接了,但如果库文件没放在这三个目录里,gcc -l 参数说明。
2024-01-14 12:09:58 390
原创 ELF文件格式解析二
程序头部(Program Header)中,都以 PT_PHDR和PT_INTERP先开始。这两个段必须在所有可加载段项目的前面。从上图中的INTERP段中,可以看到改段从 0x318位置处开始加载,长度为0x1C。我们使用 hexdump 命令查看elf文件的二进制内容。objdump -x 查看elf文件所有头部的信息。使用objdump命令查看elf文件。
2024-01-10 21:24:02 394
原创 ELF文件格式解析一
通过以上的定义以及示例讲解,相信大家已经对ELF的文件格式有所了解了,如果想要继续深挖ELF文件的细节,大家可以参考以下这些资料。
2024-01-07 13:28:23 360
原创 《自己动手写Java虚拟机 (Java核心技术系列)》读书笔记-第3章
构成class文件的基本数据单位是字节,可以把整个class文件当。数据在class文件中以大端(big-endian)方式存储。成一个字节流来处理。稍大一些的数据由连续多个字节构成,这些。
2024-01-07 13:15:51 352
原创 oracle 9i&10g编程艺术-读书笔记2
安装Statspack需要用internal身份登陆,或者拥有SYSDBA(connect / as sysdba)权限的用户登陆。需要在本地安装或者通过telnet登陆到服务器。创建存储数据的表空间,如果采样间隔较短,周期较长,打算长期使用,那么你可能需要一个大一点的表空间,如果每个半个小时采样一次,连续采样一周,数据量是很大的。500M的测试表空间。
2024-01-01 21:35:27 499
原创 oracle 9i&10g编程艺术-读书笔记1
根据书中提供的下载代码链接地址,从github上找到源代码下载地址。下载好代码后,开始一段新的旅行。
2023-12-28 10:18:48 526
原创 go语言初体验1--使用go install
再运行go install hello命令,这时就在工作空间go目录下生成了一个bin文件夹,打开它里面有一个以exe为后缀的文件。当使用 go install 命令,报错。用命令: go env。当安装后go语言后。
2023-12-23 11:15:36 572
原创 oracle-sql语句执行过程
服务器进程(server process)接收到sql语句。sql语句通过网络到达数据库实例。客户端输入sql语句。
2023-11-05 20:24:45 324
原创 plsql安装遇到的坑
有一次在一台win10系统安装32位plsql , 安装好后出现ORA-12154: TNS: 无法解析指定的连接标识符。找了半天原因,查了半天资料,是安装路径影响的。我把plsql安装在了带括号的路径下。可以使用tsnping 命令,查看是否可以ping通。(client/NETWORK/ADMIN/tnsnames.ora文件配置的服务)
2023-09-05 15:12:03 192
原创 使用c的标准库函数创建线程
gcc mainthread.c -lpthread 加上 -lpthread 后,即编译正常.gcc mainthread.c 编译报错。./a.out 运行程序,正常运行。
2023-08-31 01:15:43 414
原创 学习的本质以及学习框架
学习需要记忆记忆最好使用联想法,通过新旧知识联系,来学习新的知识。我们不可能不通过旧知识就学会新的知识。这个up主,讲的很好。任何学习的本质都是新旧联系。
2023-05-03 23:29:54 80 1
原创 wsl,64位机,编译共享库
编译a.c后, ldd liba.so, 发现libb.so => not found.自己也想编译一个动态库,中间遇到了一些问题。解决方案: 设置LD_LIBRARY_PATH.main.c代码如下 main依赖a.c。解决方案: 需要在编译时加上-ldl。a.c代码如下. a.c依赖b.c。难得的周日,看了些动态链接的文章。
2023-04-02 19:50:54 259
libfastcommon-master.zip
2020-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人