一.端口设备类型 1.显示设备基本信息 cat /proc/tty/drivers 里面包括了: 当前终端:/dev/tty 前台控制台终端:/dev/console 用于创建虚拟终端的:/dev/ptmx 虚拟终端从设备:pty_slave 虚拟终端主设备:pty_master 物理串口:serial 实际的物理串口…
  闭包 有权访问另一个函数作用域中的变量的函数 匿名函数 函数没有名字 少用闭包 由于闭包会携带包含它的函数的作用域,因此会比其它函数占用更多的内存.过度使用闭包可能会导致内存占用过多,我们建议读者只在绝对必要时再考虑使用闭包 模块模式   增强的模块模式   特权方法 有权访问私有变量的公有方法叫做特权方法 块级作用域   实现单例的特权方法  …
这章讲的是JavaScript在HTML中的使用,也就是<script>元素的属性.书中详细讲了async.defer.src和type四个<script>的属性. 下面是对第二章做的笔记 <script>元素 type:可选.表示编写代码的脚本语言的类型:属性的值一般是text/javascript.不过,这个属性不是必需的,如果没有指定这个属性,则其默认值仍为text/javascript. <script type="text/javascript…
本文是个人分析<Linux内核设计与实现>而写的总结,欢迎转载,请注明出处: http://blog.csdn.net/dlutbrucezhang/article/details/13621133       第七章--进程地址空间       内核运行在内核地址空间中,相应的,用户程序需要运行,肯定也需要地址空间,这其实是属于资源的.进程运行在自己的地址空间中,进程描述符中有指向这一地址的指针.线程没有自己独立的地址空间,所以,它和进程共享地址空间,也就是说线程的地址空间字段也是指向它所在…
第七章——链接 1.链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载到存储器并执行. 2.链接可以执行于编译时,加载时,运行时. 7.1编译器驱动程序 1.大多数编译系统提供编译驱动程序,它代表用户在需要时调用语言预处理器.编译器.汇编器和链接器. 7.2 静态链接 1.像Unix ld程序这样的静态链接器以一组可重定位目标文件和命令行参数作为输入,生成一个完全链接的可以加载运行的可执行目标文件作为输出. 2.输入的可重定位目标文件由各种不同的代码和数据节组成.…
xinetd服务介绍 xinetd是Linux下的一个网络守候进程,用来统一管理网络负载不大的一组小型网路服务. 一些小型的网络服务,比如时间,telnet服务,不以守候进程出现,而是让xinetd服务以守候进程出现.如果某客户端发起连接,xinetd服务将接收该连接,创建新进程,根据请求信息决定执行具体的服务代码. 我的虚拟机上居然没有...先安装一下吧 sudo apt-get install xinetd xinetd守候进程的配置文件, /etc/xinetd.conf 内容如下 /et…
文件I/O方式比较 1.阻塞式文件I/O 进程从调用函数开始,直到返回这段时间都处于阻塞状态. 2.非阻塞式文件I/O 如果当前没有数据可操作,将不阻塞当前进程,而是立即返回一个错误信息.需要反复尝试. 3.多路复用I/O 仍然是阻塞方式等待,但是可以同时等待多个文件描述符. 4.信号驱动I/O 异步方式,等到数据准备好后通知处理进程,不需要重复询问,效率高. I/O阻塞与非阻塞操作 阻塞方式:默认情况下read/write和 把flag设为0的recv/send 非阻塞方式:如果没有数据,立刻…
使用之前的函数实现的简单聊天程序 TCP协议 双方实时发送/接收消息 实现后的问题: 可能是我虚拟机的IP地址配得有问题吧.在一台电脑上面开两个终端,用127.0.0.1的IP收发可以互通.但是两个虚拟机就不行了,用192.168的IP段,能够ping通但是代码接收不到消息. 还有,两个进程都是接收到消息后,需要我自己按一下回车才能发送消息. 服务器端代码: #include<stdio.h> #include<string.h> #include<errno.h> #…
线程与进程对比 1.用户空间对比 2.内核空间资源对比 在创建线程时,Linux内核仍然创建一个新的PCB来标识这个线程.内核并不认为进程与线程有差别. 进程是操作系统管理资源的基本单元,线程时Linux系统调度的基本单元. 3.进程线程函数对比 创建线程 int pthread_create (pthread_t *__restrict __newthread, __const pathread_attr_t *__restrict __attr, void *(*__start_routin…
消息队列 消息队列是消息的链式队列,模型如下: 包括两种数据结构: msqid_ds消息队列数据结构 msg消息队列数据结构 struct msg_msg{ struct list_head m_list; long m_type; //消息类型 int m_ts; //消息大小 struct msg_msgseg* next; //下一个消息位置 void *security; //真正消息位置 }; 在/usr/include/linux/msg.h文件中定义了队列大小的限制.不同的Linu…