自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (5)
  • 收藏
  • 关注

原创 计算机网络(第五版)读书笔记

        最近在读Andrew S. Tanenbaum / David J. Wetherall的《计算机网络》第五版,由严伟 / 潘爱民翻译,清华大学出版社出版。粗略阅读,以下是部分笔记。分享学习,如有错误请指正。引言新模型:大量相互独立但彼此连接的计算机共同完成计算任务。这些系统称为计算机网络。对等网络:在对等网络中没有固定的客户机和服务器。计算机网络的应用:个人与远程信息数据库之间的...

2018-03-22 17:29:26 3958

原创 Linux内核学习总结

开头小市民 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000有幸参加了网易云课堂孟宁老师的Linux内核分析课程界面 课程概述:本课程从理解计算机硬件的核心工作机制(存储程序计算机和函数调用堆栈)和用户态程序如何通过系统调用陷入内核(中断异常)入手,通过上下两个...

2017-04-19 19:16:47 353

原创 进程的切换和系统的一般执行过程

第一部分理解进程的调度时机与进程的切换Linux进程调度是基于分时和优先级的。所谓的分时就是指将时间划分成很小很小的片段,然后每个片段都相对公平的分给这一时刻需要执行的任务。不同类型的进程有不同的调度需要第一种分类:I/O-bound、CPU-bound;第二种分类:批处理过程、实时进程、交互式进程;操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选

2017-04-16 20:58:56 544

原创 Linux内核如何装载和启动一个可执行程序

第一部分理解编译链接的过程和ELF可执行文件格式 图1 预处理、编译、汇编、链接、静态链接目标文件中的内容至少有编译后的机器指令代码、数据。没错,除了这些内容以外,目标文件中还包括了链接时所须要的一些信息,比如符号表、调试信息、字符串等。 常见目标文件的格式:A.out–>COFF–>PE/ELFELF格式的文件中有三种主要的目标文件 1、可重定位(relocatable)文件保存着代码和适当

2017-04-09 18:06:05 294

原创 Linux内核创建一个新进程的过程

第一部分进程控制块PCB-task_struct数据结构 图 1 task_struct 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息。task_struct数据结构庞大,包含以下: 1、进程状态#define TASK_RUNNING 0#define TASK_INTERRUPTIBLE 1#define TASK_UNIN

2017-04-02 23:29:28 308

原创 分析system_call中断处理过程

第一部分使用gdb跟踪分析一个系统调用内核函数 图1 在menuOs中添加pid和pidasm菜单选项后使用dgb跟踪,设置断点sys_getpid 图2 sys_getpid返回后进入汇编代码处理无法使用dgb继续跟踪第二部分 图3 系统调用处理过程的汇编伪代码分析:可以从简化的伪代码理解system_call开始到iret结束之间的整个过程。 首先是定义的各种宏INTERRUPT_R

2017-03-26 13:43:26 313

原创 系统调用的工作机制

第一部分 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 图1 39号系统调用 mkdir函数使用的是39号系统调用,作用是创建一个新的目录。int mkdir(const char *pathname, mode_t mode)有两个参数,一个是目录的名字,另外一个参数是创建目录的权限。这里使用的mode_t值使用S_IRWXU(具有读写执行权限),函数返回一个整形变量

2017-03-17 15:23:31 658

原创 跟踪分析Linux内核的启动过程

第一部分 使用自己的Linux系统环境搭建MenuOS,启动MenuOScd ~/LinuxKernel/qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img图1 搭建好的MenuOs 第二部分 使用GDB调试内核跟踪启动过程qemu -kernel linux-3.18.6/arch/x86/boot/bz

2017-03-12 14:10:39 281

原创 完成一个简单的时间片轮转多道程序

实验环境:虚拟机Ubuntu Kylin 16.04 实验截图: 图1:搭建内核 图2:运行内核 图3:时间片轮转 图4:mypcb.h文件代码 图5:内核初始化部分代码 图6:中断处理部分代码 总结:通过运行简易内核理解操作系统是如何工作的。计算机工作三大法宝:存储程序计算机模型、函数调用堆栈、中断。函数调用堆栈使得高级语言得以运用,堆栈实现了函

2017-03-04 14:07:43 544

原创 计算机如何工作

实验环境:虚拟机Ubuntu Kylin 16.04 实验截图: 总结:理解计算机如何工作首先要理解存储计算机(冯诺依曼体系架构)的工作模型。从硬件角度来看,CPU与内存通过总线连接,在CPU中有个寄存器IP(可以理解为指针)指向内存的代码段CS,CPU从IP所指向的内存地址取指令执行,执行完成寄存器后加一再执行下一条指令。从程序员的思想来抽象来看,CPU抽象为一个

2017-02-16 19:07:19 580

sourceinsight使用教程

压缩文件包含SourceInsight4UserGuide.pdf和两个本人收集的关于SourceInsight使用技巧的pdf文档。

2018-02-13

MODBUS协议中文完整版

MODBUS是OSI模型第 7 层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。文档分三部分,第一部分介绍协议,第二部分为Modbus协议在串行链路上的实现指南,第三部分为Modbus协议在TCP/IP上的实现指南。

2018-02-09

Python【电子书籍】

Python Projects等Python电子书籍

2017-04-28

JAVA入门经典 第6版(扫描版)

2017-03-28

冰点文库3.1.8版本

冰点文库3.1.8版,输入文库网页,可下载指定资源的pdf版本

2016-11-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除