核桃

分享创造乐趣

进程和线程的区别与联系

1. 共同点 功能上都是用于实现多任务并发程序设计的技术手段,两者的创建最终都是调用系统函数clone(),线程的状态包括就绪、执行与阻塞,与进程类似。 2. 区别 进程是资源分配的基本单位,线程是系统调度的基本单位,进程维护资源,线程是真正的执行体。 定义 进程是一个用户程序在同一数...

2018-07-18 09:52:58

阅读数 1018

评论数 0

Linux 常用命令脚本源码查看方法总结

Linux 常用命令脚本源码查看方法总结 下载相关软件包 以32位Ubuntu14.04下,获取ls命令的源码为例,能够使用例如以下的方法下载源码: 1)使用which命令查看ls命令的位置,例如以下: which ls # 输出:/bin/ls 2)使用dpkg命令查询ls命令所属的...

2018-07-10 10:48:13

阅读数 478

评论数 0

makefile 语法 /usr/bin/ld: cannot find -lxxxx

GCC编译错误1./usr/bin/ld:/tmp/ccd/UkmoA.o :undefined reference to symbol ‘ERR_free_strings@OPENSSL_1.0.0’ //lib/i386-linux-gnu/libcrypto.so.1.0.0:erro...

2017-12-29 11:51:36

阅读数 18984

评论数 0

tcpdump 在ubuntu上使用命令学习笔记 /tcp、ip、icmp数据包格式

- 常用命令详解 基本命令 $ tcpdump //默认抓取第一个网卡接口的所有数据包 $ tcpdump –i ens33 //抓取网卡ens33的数据包 $ tcpdump host 47.95.224.4 //监听主机47.95.224.4接收发送的所有数据包 $tcpdump host 4...

2017-12-26 17:06:47

阅读数 1243

评论数 0

Ubuntu14.04下 安装OpenSSL 部署腾讯云免费版DV SSL证书

首先在阿里云上申请一个域名,并将其解析到本地服务器的ip,然后使用该域名在腾讯云上申请免费版DV SSL证书。 1. ubuntu 14.04安装openssl$ sudo apt-get install openssl $ sudo apt-get install libssl-dev 2....

2017-12-14 11:13:58

阅读数 1893

评论数 0

四旋翼无人机原理以及组装过程

1.硬件组成:机架,4个螺旋桨, 4个电机,4个电调,1信号接收器,1个飞控板,1个 稳压模块,一个电池 螺旋桨:四个螺旋桨都要提供升力,同时要抵消螺旋桨的自旋,所以需要正反桨,即对角的桨旋转反向相同,正反相同。相邻的桨旋转方向相反,正反也相反。有字的一面是向上的(桨叶圆润的一面要和电机旋转方向一...

2017-12-06 22:11:13

阅读数 23117

评论数 0

GCC 编译过程/编译命令详解/静态库与动态链接库/ error:undefined reference to

GCC编译:预处理->编译->连接->加载 预处理:处理程序中#开头的内容 编译:程序构建过程, 生成.o文件,gcc 依赖顺序问题(从后向前),如果文件a依赖于文件b,那么编译的时候必须把a放前面,b放后面。 连接:将所有的对象文件和库串联起来,成为可运行程序。静态库已经植入程...

2017-12-06 21:33:29

阅读数 2325

评论数 1

hook函数实例分析--sys_seteuid调用

本实例包括hook.c test.c hook.c利用LKM(可加载内核模块)实现系统调用sys_setreuid的拦截。当ruid==1337&&euid==31337时,将当前进程的所有的uid和gid设为0。test.c 用于测试hook模块加载之后是否有效。hook.c如...

2017-11-16 17:26:54

阅读数 139

评论数 0

系统调用的三层皮

C代码中嵌入汇编代码 一般格式: asm volatile( 汇编语句模板: 输出: 输入: 破坏描述部分);示例:使用c代码中嵌入汇编代码触发系统调用asm volatile( “mov $0 , %%ebx\n\t” “mov $0xd , %%eax\n\t” //获取系统时间的系统调...

2017-11-16 15:25:52

阅读数 93

评论数 0

Linux 常用命令总结

查找命令 $find / -name module.h //利用find在当前目录及其子目录下查找名为module.h的文件$grep –nr “cred” * //利用grep命令查找包含cred 字符串的文件位置及行号 vi 编辑器命令 $ :q! //退出编辑器,不保存 $ :wq!/...

2017-11-16 12:20:47

阅读数 108

评论数 0

LKM可加载内核模块简单实例编写

1.标准的module代码如下: helloworld.c#include <linux/kernel.h> #include<linux/module.h> #include<linux/init.h> MODULE_LICENSE("GPL&qu...

2017-11-13 17:53:45

阅读数 248

评论数 0

GDB跟踪调试linux-3.18.6内核

要跟踪调试内核,首先需要对内核架构有一个基本的了解,以linux-3.18.6为例: arch文件夹:Linux需要兼容不同的架构,因此该文件夹下面包含arm、x86、alpha等支持各种机构的源码。 init文件夹:包含mian.c ,程序入口:start_kernel,任何模块的初始化都需要在...

2017-11-09 10:45:53

阅读数 382

评论数 0

linux内核分析-简单的操作系统内核源码解读

##《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”学习笔记 ##源码组成:mypcb.h mymain.c myinterrupt.c mypcb.h #define MAX_TASK_NUM ...

2017-11-06 21:39:58

阅读数 5586

评论数 0

Ubuntu Server 16.04(14.04)下配置LAMP环境

本文介绍lamp配置的过程,ubuntu server 16.04已经在VMware安装成功,并使用xshell与虚拟机连接。 1. 安装apache服务器 输入命令:sudo apt-get install apache2 检验:apache2 -v 2. 安...

2017-11-06 16:25:43

阅读数 162

评论数 0

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