- 博客(46)
- 资源 (6)
- 收藏
- 关注
转载 Linux套接字与虚拟文件系统(2):操作和销毁
转载自:http://www.cppblog.com/qinqing1984/archive/2015/05/03/210522.htmlLinux套接字与虚拟文件系统(2):操作和销毁 接上篇初始化与创建,本篇阐述Socket操作和销毁两部分的实现。Socket操作 系统调用read(v)、write(v)是用户空间读写socket的一种方法,为了
2015-10-28 11:30:48 784
转载 Linux 套接字与文件系统的关系--------套接字文件系统
Linux套接字与虚拟文件系统(1):初始化和创建引言 在Unix的世界里,万物皆文件,通过虚拟文件系统VFS,程序可以用标准的Unix系统调用对不同的文件系统,甚至不同介质上的文件系统进行读写操作。对于网络套接字socket也是如此,除了专属的Berkeley Sockets API,还支持一些标准的文件IO系统调用如read(v)、write(v)和close等。那么为什么sock
2015-10-28 11:26:47 4419
转载 Linux的特殊文件系统-----
转载自:特殊文件系统 特殊文件系统是只访问内核的内存数据而不访问块设备数据、用于特殊目的的文件系统。如:ramfs、debugfs、sysfs等,与一般文件系统的最大区别是它不用实现访问块设备的文件系统底层I/O接口。本章介绍了常用的一些特殊文件系统ramfs、proc、debugfs和sysfs。ramfs是直接建立在内存缓存上的文件系统,在内核启动块设备还没
2015-10-28 10:54:10 1852
转载 看别人怎么说套接字的本质????
转载自:http://blog.csdn.net/yeyuangen/article/details/6799575一、问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题1.socket与进程的关系1).socket与进程间的关系:socket 用来让一个进程和其他的进程互通信息(IPC),而Socket接口是TCP/IP网络的API接口
2015-10-27 15:51:01 631
原创 unix环境编程学习笔记---------套接字------socket------客户端
简单的客户端:::::socket/*要点:对于给定的监听套接口,内核要为其维护俩个队列:1.已完成连接的队列2.未完成连接的队列*/ int main() {int sockfd =0;sockfd =socket(PF_INET,SOCK_STREAM,0);if(s
2015-10-27 15:41:00 420
原创 Unix学习笔记------套接字----服务器端函数
简单的服务器模型:::::socket/*要点:对于给定的监听套接口,内核要为其维护俩个队列:1.已完成连接的队列2.未完成连接的队列*/ int main() {int sockfd =0;sockfd =socket(PF_INET,SOCK_STREAM,0);if(sockfd==-1){perro
2015-10-27 10:24:57 605
原创 unix编程学习笔记----有问题就找man----如何用man ???
$: man manman(1) man(1)NAME man - format and display the on-line manual pagesSYNOPSIS man [-acdfFh
2015-10-26 20:51:18 438
原创 傻博士----物理层
傻博士----物理层概述::::::要点:1.我们的所有的设备的网络接口类型,有两种类型一种是:MDI 另一种是:MDIX2.我们知道,我们的双绞线,1 3是负责发送信号, 2 6是负责接收信号 并且就通信的两端来说,一端发送,那么对应的另一端就是接收, 所以,当我们的 1 3 发送时,这时,1 3 应该接在对方的接收端上,即:2 4 号
2015-10-25 17:14:47 418
原创 unix学习笔记------套接字-----王保明老师的笔记
linux Socket-应用编程-专题讲座 written by 王保明Socket编程基本实践1Socket Api基本概念 什么是socket?socket可以看成是用户进程与内核网络协议栈的编程接口。socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。 tcp/ip通讯模型 IPv4套接口地址
2015-10-25 13:20:44 1073
原创 unix学习笔记------消息队列---发送消息
发送消息#include#include#include#includeint main(){int msgid;int ret=0;//rwxstruct msgbuf{long mtype;char mtext[1024];}msgid=msgget(0x1234,0
2015-10-23 21:46:42 373
原创 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 868
原创 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 470
原创 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 673
原创 unix 环境编程学习笔记------对于信号的一点认识
信号的理解:1.信号的本质是什么???:::: 信号的本质时一个整数,unix用一个整数来标示一个事件2.信号与内核是什么关系???请分析下面一段话:摘自《操作系统原理 技术 与编程》“从用户的角度看,只要调用了系统调用kill()就可以发送信号,此调用号只需要目标进程PID和一个信号SIG共两个参数就可以了。而系统调用kil
2015-10-15 16:19:26 438
原创 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 570
原创 《王保明老师----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
java 的main方法
2014-12-26
C++shijianzhilu
2014-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人