- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 计算机网络之物理层
物理层指的不是传输数据的硬件,而是指传输在链路上的比特流。它考虑的是如何在链路上传输数据。现在连接计算机的通信链路硬件多种多样,硬件层就是要使用一套统一的规则来评比这些差异。物理层协议也叫规程(procedure)。主要内容有:a.机械特性:主要接口的尺寸形状,引脚数目排列,固定和锁定装置等b.电气特性:出现在接口电缆上的电压范围(语法)c.功能特性:什么电压代表什么含义(语义)d.过程特性:同步。
2023-01-18 13:49:07
186
原创 Linux内存管理架构之四(mmap内存映射机制)
mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。答 : 文件答大小对映区操作有影响. 虽然当文件原内容大于申请范围,但是越界数小于文件原内容大小,不会出现问题. 但是不建议这样做.尽量使文件和申请大小相同并且在申请的大小内操作.
2022-10-11 22:44:27
3084
原创 Linux内核框架之内核进程
前言内核主要架构由五部分构成:内存管理,进程调度和管理,文件系统、设备管理和驱动,网络驱动。本系列文希望通过代码实践和参考文章的方式力争对这几个部分做出深入的了解。目录前言一、Linux的进程介绍1.进程 线程和轻量级进程2.进程调度的结构组成二、进程的静态描述1.进程描述符2.进程链表的维护2.1运行队列2.2 等待队列3.进程间关系4.进程切换一、Linux的进程介绍1.进程 线程和轻量级进程进.............
2022-05-29 20:15:46
3017
原创 运行库和程序初始化
入口函数和函数初始化 程序在进入我们编写的入口之前,就已经初始化好了堆栈,外围IO,全局变量等。 这些工作都是函数库完成的,他们才是一个独立程序最开始执行的代码。入口函数的实现(静态glibc+可执行文件) 首先我们要明白在PC指向E入口地址执行之前,是谁在handle这个ELF文件?应该是装载器(ld),装载器按照其ELF文件中的Program Header等信息将其相关的部分装载内存中,同时也会将用户的参数和环境变量压入栈中。有了这个背景知识,我们可以从Entry point address
2022-05-24 23:46:02
302
原创 可执行文件的装载和进程
可执行文件的装载和进程进程的创建创建独立的虚拟空间读取可执行文件头,创建虚拟空间和可执行文件映射关系如何理解可执行文件,虚拟空间,物理空间,VMA的关系设置CPU指令寄存器的入口地址 开始运行进程栈的初始化页错误进程的虚拟空间分布可执行文件的链接视图和执行视图堆和栈内核装载ELF过程参考文章进程的创建创建独立的虚拟空间所谓的创建空间实际上不是真的在内存中申请相应的空间,而是创建代码虚拟空间到内存的物理空间页映射结构,实际上可能只是申请一个页目录,等到真正执行代码的时候,产生了缺页错误再去映射物理页,
2022-05-15 20:17:53
209
原创 Linux Panic 机制解析
1.panic 操作.2.panic函数主要功能:内核出现异常的时候输出异常信息,异常栈信息,挂起系统,代码主要流程和上面的流程图一致/** * panic - halt the system * @fmt: The text string to print * * Display a message, then perform cleanups. * * This function never returns. */void panic(const char *...
2022-05-14 21:29:49
2986
原创 python 处理top信息并画图-example
top > topinfo.txtpython 处理指定的统计信息并给出动态图,用于Linux系统debugeg:处理cpu usage信息:# -*- coding: gb2312 -*-import matplotlib.pyplot as pltfilename = "./top.csv"# 通过关键词项 确定需要提取处理的信息key_words = ["CPU usage", "user", "sys"]# 处理top信息def deal_with_top_i
2022-05-04 21:37:50
529
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人