1 Linux内核初始化过程中加载TCP/IP协议栈 1.1Linux内核启动过程 由课上的讲解我们知道start_kernel是内核加载的起点,也是我们进行debug的起点。start_kernel中的最后一句为arch_call_rest_init(),其内部调用了课堂ppt上所说的rest_i ...
分类:
其他好文 时间:
2019-12-19 23:01:56
阅读次数:
112
linux内核中socket有关的编程接口 内核中socket有关的编程接口及其对应的功能: 系统调用描述 socketcall socket系统调用 socket 建立socket bind 绑定socket到端口 connect 连接远程主机 accept 响应socket连接请求 send 通 ...
分类:
其他好文 时间:
2019-12-19 22:59:32
阅读次数:
85
os的内存管理大概可以分成两块:1.段页式管理(虚存)2.swap in 和 swap out 段页式管理 多级页表的管理图像 用户(程序员)希望用段,物理内存希望用页来进行管理 ...
分类:
系统相关 时间:
2019-12-19 21:41:32
阅读次数:
121
1系统调用 什么是系统调用? Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。从某种角度来看,系统调用和普通的函数调用非常相似。区别仅仅在于,系统调用由操作系统核心提供,运行于核心态;而普通的函数调用由函数库或用户自己提供,运 ...
分类:
其他好文 时间:
2019-12-19 20:51:02
阅读次数:
76
上次我们做了构建Linux内核的实验,这次我们要在上次的基础上,做一个Socket与系统调用的深度分析。本次实验在X86 64环境下Linux5.0.1的内核中进一步跟踪验证。 遇到问题,待续》》》》》 ...
分类:
其他好文 时间:
2019-12-19 20:50:47
阅读次数:
63
一、建立gdb与gdbserver的通信: 在gdb设置断点在start_kernel阻塞 在gdb调试窗口输入指令c,QEMU继续启动 通过gdb可以跟踪到内核代码start_kernel。 二、为MenuOS集成网络通信程序,即为MenuOs添加replyhi命令。 此时会重启MenuOS 三、 ...
分类:
系统相关 时间:
2019-12-19 19:01:21
阅读次数:
90
1、 什么是系统调用 操作系统通过系统调用为运行于其上的进程提供服务。当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。在Linux中系统调用是有Linux内核提供的各种功能服务,为了 ...
分类:
其他好文 时间:
2019-12-19 15:53:11
阅读次数:
88
C/C++ 程序的生命周期 编写时: 要点:业务,数据结构,控制解耦;健壮;易修改;清晰简单无歧义;易重用;低耦合高内聚;易链接;速度快; 书籍:《c++程序设计语言》《effective C++》《more effective C++》《C++标准库》《C++沉思录》《深入理解C++11》 《大规 ...
分类:
编程语言 时间:
2019-12-19 14:36:07
阅读次数:
120
Linux 简介 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。 Li ...
分类:
系统相关 时间:
2019-12-18 23:30:35
阅读次数:
123
一、首先我们先来了解一下什么是cenos和ssh。我在网上找了一些资料 1.cenos的介绍 “CentOS是基于Linux内核的100%免费的操作系统,多用于服务器系统,CentOS的存在是为了提供一个免费的企业级计算平台,并努力与其上游源Red Hat保持100%的二进制兼容性。” 如果你想知道 ...
分类:
其他好文 时间:
2019-12-18 16:22:51
阅读次数:
87