- 博客(823)
- 资源 (6)
- 收藏
- 关注
原创 unix学习笔记------消息队列的接收
消息队列的接收:#include#include#include#includeint main(){int msgid;int ret=0;//rwxstruct msgbuf{long mtype;char mtext[1024];}msgid=msgget(0x1234,0666);i
2015-10-23 21:45:09 509
原创 unix学习笔记------msgctl函数的使用
// msgctl函数的使用:#includeint main(){int msgid;int ret=0;//rwxmsgid=msgget(0x1234,0666);if(msgid==-1){if(errno==ENOENT){printf("我们自己检查。。。消息队列不存在\n");}if(errn
2015-10-23 16:12:44 869
原创 unix编程学习笔记-------对于消息队列的本质的疑问????
对于消息队列的本质的疑问:1.消息队列的本质是什么???2.OS是如何实现消息队列的???3.消息队列为什么能用于进程间通信???4.消息队列与管道的内部实现的本质区别是什么???5.消息队列是不是用队列算法实现的???6.每一个消息在内核中是如何存储的??7.消息队列与管道的区别是什么???8.如何创建一个消息???9.消息队列与文件描述符有什么联系吗???
2015-10-23 15:02:07 391
原创 unix学习笔记---------自己写的管道实例----父子进程通信
#include#include#include#include#includeint main(void){//define some varpid_t pc;int pp;int mfd[2];char parray[10];char carray[10];//create a pipepp=pipe(mfd);//jud
2015-10-22 16:27:24 444 1
转载 linux管道机制
linux管道机制简介 管道是linux提供的一种常见的进程通信工具,也是很多shell命令能够灵活组合产生强大用途的一个重要工具。本文就八卦一下它是怎么实现的。唉,看完这片,我打算还是从进程管理,内存管理和文件管理这三大块开始看了,一开始以为这些边边角角的东西会容易懂一些,结果老是用到这三大块的东西,总要回去查。管道是什么?管道,顾名思义就是个管子,里面可
2015-10-22 12:27:57 728
原创 unix学习笔记--------对于管道的疑问????
管道的疑问:1.管道的本质是什么???2.管道与文件的本质区别是什么???3.linux内核是如何实现管道机制的???4.如何理解下面一句话???“管道对于管道两端的进程而言,就是一个文件,但它不是普通文件,它不属于某种文件系统,而且是单独的一种文件系统,并且它只存在与内存中”>什么是“单独的一种文件系统”???>什么叫“只存在于内存中”????
2015-10-22 11:10:25 422
原创 makefile学习笔记------疑问篇
makefile 学习笔记:1.什么是makefile???2.makefile 有什么用???3.如何编写makefile???4.makefile的本质是什么???5.makefile 最终是不是调用gcc编译器???gcc编译器是如何理解和解释makefile的???6.makefile和make是什么关系??
2015-10-19 21:44:53 394
原创 王保明老师Linux学习笔记---------信号----signal()函数使用实例
信号编程实例:#include#include#include#includevoid handler(int num){printf("recv num:%d \n",num);if(num==SIGQUIT)//这个函数的参数是一个信号值,是由终端发送给内核,然后内核传递给进程的handler()函数。{exit(0);}el
2015-10-19 09:50:38 1099
原创 unix/linux学习笔记----------umask (文件模式创建屏蔽字)的理解
1.umask文件模式创建屏蔽字与文件访问权限位的关系类似于IP地址与子网掩码的关系2.每一个文件都有9个访问权限位3.int umask(mode_t cmask) 其中cmask 是由9位访问权限常量的若干个按位“或”构成的,在进程创建一个新文件或新目录时,就一定会使用文件模式创建屏蔽字对于任何在文件模式屏蔽字中为1的位,文件mode 中相应的位一定被关闭
2015-10-18 12:13:58 1783
原创 如何看这个守护进程实例?????
#include#include#include#include#include#include#include#define MAXFILE 65535int main(){pid_t pc;int i,fd,len;char *buf="this is a dameon \n";len =strlen(buf);pc=fork(
2015-10-16 21:46:18 471
原创 unix/linux学习笔记------进程在什么情况下,会没有控制终端???
对于上面这句话,应该怎么理解??1.“由于会话对控制终端的独占性,进程同时与控制终端脱离”什么叫,“会话对控制终端的独占性”???意思就是说:一个会话单独占据一个控制终端,不可能出现两个会话同时共享一个控制终端。这也是为什么 setsid()函数能摆脱控制终端的原因,因为,一个控制终端只能被一个会话所拥有,而,setsid()函数调用成功之后,会创建一个新的会话
2015-10-16 21:17:22 2571 1
原创 Unix学习笔记-----对于守护进程的一些理解
我个人对于守护进程的理解: 一.首先关于守护进程的我的几个疑问:a) 守护进程有哪些特征???b) 如何才能使一个进程变为守护进程???c) 守护进程充当了什么作用???d) 在什么情况下,需要守护进程???e) 如何创建一个守护进程??f) 守护进程与普通进程有哪些区别??g
2015-10-16 17:44:49 495
原创 unix环境编程学习笔记-----有关进程的一些疑问???
有关进程的一些疑问???1.内核是如何管理进程的???2.内核管理进程包括哪些内容?? 例如: 让哪些进程运行??让哪些进程等待??杀死哪些进程??释放进程的资源???3.内核通过什么来管理进程???4.进程调度包括哪些内容???5.内核是靠什么来管理进程的??6.内核中是否有一张表,里面登记有所有现存进程的进程ID号???并且通过这些进程id号能找
2015-10-15 16:37:04 674
原创 unix 环境编程学习笔记------对于信号的一点认识
信号的理解:1.信号的本质是什么???:::: 信号的本质时一个整数,unix用一个整数来标示一个事件2.信号与内核是什么关系???请分析下面一段话:摘自《操作系统原理 技术 与编程》“从用户的角度看,只要调用了系统调用kill()就可以发送信号,此调用号只需要目标进程PID和一个信号SIG共两个参数就可以了。而系统调用kil
2015-10-15 16:19:26 439
原创 Unix学习笔记-----管道的本质是什么???
管道:::1.如何测试一个管道的容量???2.管道的本质是----》》固定大小的内核缓冲区3.管道和文件描述符是什么关系???4.
2015-10-15 11:04:50 1195
原创 Linux信号机制学习笔记-----Linux信号机制的疑问?????
Linux信号机制学习笔记::::我的疑问:1.在Linux内核中信号机制的底层实现是什么???2.信号的作用是什么???其设计之初的目的是什么??? 是为了解决什么问题而存在???3.为什么要设计一个信号机制???是为了解决什么问题??4.谁能产生信号???谁能终止信号、??5.信号仅仅是为了进程而存在的吗???
2015-10-15 10:37:26 510
原创 《王保明老师----Linux开发学习笔记》------讲12:守护进程 -----如何分析和理解下面这个创建守护进程的实例
/*下面这个程序是:编写后台进程的实例。那么,我们应该怎样来理解这个程序的代码呢???一下就是:我的分析它为什么能把一个进程变为后台进程???那么,我应该怎样查看后台进程即守护进程???也就是说,后台服务程序是*/#include#include#include#include#includ
2015-10-14 17:31:23 1481
原创 linux学习笔记------虚拟机无法上网的解决办法
1.虚拟机如果选择NAT方式,无法上网时,应该时与VMware相关的服务没有打开有关。打开VMware相关服务的方法:运行:cmd输入: net start "VMware Authorization Service" net start "VMware DHCP Service" net start "VMware NAT Servi
2015-10-14 12:35:58 658
原创 Linux/unix疑问:-------如何从execv()函数的角度去理解 Linux上应用程序的执行机制????
Linux/unix疑问:-------如何从execv()函数的角度去理解 Linux上应用程序的执行机制????
2015-10-13 19:41:18 428
转载 linux上应用程序的执行机制
linux上应用程序的执行机制执行文件是如何在shell中被"执行"的。本文中尽可能少用一些源码,免得太过于无聊,主要讲清这个过程,感兴趣的同学可以去查看相应的源码了解更多的信息。1.父进程的行为:复制,等待执行应用程序的方式有很多,从shell中执行是一种常见的情况。交互式shell是一个进程(所有的进程都由pid号为1的init进程fork得到,关于这个
2015-10-13 19:38:57 307
转载 linux下execve实现的过程
linux下execve实现的过程博客分类: linuxLinux数据结构thread 实现的最终效果:改变进程执行的上下文。1.使用execve就是一次系统调用,首先要做的将新的可执行文件的绝对路径从调用者(用户空间)拷贝到系统空间中。2.在得到可执行文件路径后,就找到可执行文件打开,由于操作系统已经为可执行文件设置了一个数据结构,就初始化这个
2015-10-13 19:33:21 1828
原创 《王保明老师----Linux开发学习笔记》------讲09:进程 -----vfork()+execve()拉起一个可执行程序
#include#include#include#include#include#includeint main(){printf("hello ....\n");exit(0);}/*现在我用vfork()函数来拉起 hello 这个进程。程序名为:vim dm06.c*/#inclu
2015-10-13 16:41:59 1756
原创 《王保明老师----Linux开发学习笔记》------讲08:进程 -----多进程下的文件描述符
#include#include#include#includeint main(void){pid_t pid;signal (SIGCHLD,SIG_IGN);printf("before fork pid: %d \n",getpid());/**/fd=open("./1.txt",O_RDWR);if(f
2015-10-13 15:33:53 951
原创 数据库概论学习笔记------什么是存储引擎
什么是存储引擎???表的存储引擎即表的数据类型。表的最终形式是生成一个文件放到磁盘上,那么这个表文件的数据结构就由表的存储引擎决定,存储引擎指的是表的存储机制,索引方案等。不同的存储引擎由于处理的方式不同,会带来不同的功能。即:存储引擎决定了表的存储结构,从而也就从根本上决定了 表的功能。
2015-10-13 09:20:39 571
原创 《王保明老师----Linux开发学习笔记》------讲03:进程 -----fork( )函数的一点理解
对于fork的一点理解:先看实例:#includeint main(){pid_t pid;pid=fork();if(pid{printf("error in fork ");}elseif(pid==0)printf("i am the child process ,my id is %d \n",getpi
2015-10-13 09:16:36 578
原创 《王保明老师----Linux开发学习笔记》------讲03:进程 -----fork( )函数 的疑问
理解fork()函数:实例:如何让一个进程产生10个子进程???源代码:#include#include#includevoid TestFunc(){printf("ffff\n");}int main(void){int procnom=10;int loopnum=100;int
2015-10-12 21:57:27 915
原创 《王保明老师----Linux开发学习笔记》------讲03:进程 -----fork( )函数 的疑问
#include#include#include#include#include#include#include#includeint main(void){pid_t pid;signal(SIGCHLD,SIG_IGN); printf("before fork pid :%d \n",getpid());int
2015-10-12 21:12:12 1163
原创 《王保明老师----Linux开发学习笔记》------讲03:进程
讲03 fork系统调用实现剖析:进程的状态:就绪、 运行、等待(阻塞)1.进程因创建而就绪2.进程因调度而由就绪转为执行3.进程因 I/O操作,而由运行转为等待4.。。。。。要点:1.在Linux的内核中,有一个队列用于存储处于就绪状态的进程队列2.1.在Linux的内核中,有一个队列用于存储处于等待
2015-10-12 21:10:12 3209
原创 unix环境编程学习笔记-----P51:lseek()函数
lseek ()函数:1.lseek()函数是一个系统调用,所需头文件为:#include2.功能:lseek()函数是用于设置文件的读写位置指针的。所设置的文件读写指针位置==offset+whence;3.lseek函数的原型:off_t lseek(int fields ,off_t offset, int whence);要点: 所设置的文件
2015-10-10 15:47:16 477
原创 操作系统的疑问--------有关磁盘与文件系统及系统启动的疑问????
有关磁盘与文件系统及系统启动的疑问:?????1.我们知道当我们装系统时,第一步所做的工作就是分区,我们通常把硬盘划分成4个分区。其中一个是活动分区。那么,当我们在DiskGenius 中点击,“分区”按钮的时候,分区工作就已经完成了,但是,我疑问的是:它具体做了哪些工作???生成了什么??? 向硬盘中写入了什么???生成了什么??分
2015-10-09 15:32:05 405
原创 Unix/linux学习笔记-------彻底理解管道
彻底理解管道是什么???疑问: 为什么说管道是文件???管道为什么能用于进程间通信???下面是一些对管道的叙述:::::::::::::::::::::::::::::::: 摘自:《操作系统原理 技术与编程》 实现无名管道的传统方法是利用文件系统机制,把管道看作是一个打开的文件,因此它有一个i节点和两个文件表项。但是这个”打开的文件“并不
2015-10-08 13:21:32 802
原创 Unix编程学习笔记---文件系统与 i节点
文件系统: i节点与磁盘文件 : 首先提出我的一些问题:1. 文件描述符fd 、文件对象、i节点、磁盘文件之间是什么关系???a) 文件对象:表示进程已经打开的文件在内存中的表示,该对象不是物理上的文件,b) 文件对象在内存中有一段存储内容。c) 每一个文件对象都包含:文件的状态信息、内存中存储文件内容的缓冲
2015-10-06 21:45:00 1814
转载 linux 学习笔记----文件系统的实现------目录实现和文件实现
转载自:http://c.biancheng.net/cpp/html/2625.html文件系统的实现:目录实现和文件实现下一节>分享到:QQ空间新浪微博腾讯微博豆瓣人人网零基础在线学习IT热门课程,掌握最前沿技术:北风网C语言中文网VIP会员:低至19.9元/月,阅读所有高级
2015-10-06 10:37:19 1939
原创 Unix编程学习笔记----对系统调用的完全理解
系统调用的具体流程: 参考《linux下系统调用原理解析及增加系统调用的方法》 我们首先看一下,unistd.h 所处的路径: 我们看一下unistd.h的文件内容。 现在我们就分析一下,这个unistd.h头文件的内容: 在文件中形如: #define --NR_syscallname NNN__SYSCALL(__NR_sy
2015-10-05 21:18:46 1046
转载 linux内核源文件介绍以及头文件的位置
转载自:http://www.cnblogs.com/laojie4321/archive/2012/03/30/2425357.htmlLINUX 内核源文件介绍以及头文件介绍*******************LINUX 内核(0.11)源文件介绍******************1、内核源文件放置目录:||————boot 系统引导汇编程序目录
2015-10-05 17:12:26 2088
原创 网络故障之DHCP广播风暴------运维上看交换机的CPU占用率100%
1.广播帧的格式是怎样的???目的MAC 是什么???2.交换机是如何处理广播帧的???向所有端口转发。3.广播帧所带来的坏处是什么???广播几乎占用了子网内网络的所有带宽。网络中不能长时间出现大量的广播帧否则就会出现所谓的“广播风暴”每秒的广播帧数在1000以上。拿开会打一个比方在会场上只能有一个人发言如果所有人都同
2015-10-04 20:12:56 7363
原创 Unix环境编程学习笔记---------打开并查看系统调用表
打开并修改系统调用表: 系统调用表的位置:/ usr/src/linux-2.6.35-l3/arch/x86/kernel/syscall_table_32.S 上面所示的可以看到: 文件syscall_table_32.S就是系统调用表文件。 下面演示,打开系统调用表的步骤:1. 2. 3.4.
2015-09-30 08:47:39 1076
原创 Unix环境编程学习笔记------查看系统调用号文件
系统调用号: 系统调用号写在: /arch/x86/include/asm/unistd_32.h 文件中简要之,即:系统调用号写在 unistd_32.h 文件中。 下面是我查看系统调用号的过程: 截图: 文件所在的路径:/usr/src/kernels/2.6.32-431.el6.x86_64/arch/x86/include/unistd_32.
2015-09-29 09:49:20 577
原创 Unix编程学习笔记--------系统调用的疑问????? 到底什么是系统调用???? 系统调用是如何实现的???
到底什么是系统调用???? 系统调用是如何实现的???对于下面这段话,我们应该如何理解呢???“系统调用是内核提供给用户应用程序使用的内核函数名,这些函数提供了内核为用户 应用程序所提供的系统服务功能。这些函数在用户应用程序中的书写格式与用户自定义函 数形式上没有什么不同,但这些函数的编写和调用过程却与自定义函数有着很大的不同。
2015-09-28 20:59:24 556
原创 Unix编程学习笔记--------把一个库下载到系统中,那么这个库到底是什么??? 其内部的机制和原理是什么???
从一个实例出发:1. 利用yum下载一个 gtk库命令: yum -y install gtk我的疑问:1.下载这个库,到底是什么???是一系列的机器指令吗???2.这个下载的库是否仍调用了系统调用函数???3.如何定位所下载的库中函数的入口点的??? 或函数的地址的???4.是不是在系统内部有一张
2015-09-28 20:49:53 427
java 的main方法
2014-12-26
C++shijianzhilu
2014-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人