IO进程疏漏

1.  size_t fread(void * ptr, size_t size, size_t nmemb, FIFE *stream);

   size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE * stream);

    返回的是nmemb数目,是对象不是字节。

2.  wait:阻塞,等待接受子进程退出  waitpid:不阻塞(WNOHANG)

3.  lseek()不支持管道,套接字,和大部分字符设备。

4.  fgets()函数只读size-1 个字符,末尾自动补‘\0‘。

5.  静态库在编译的时候链接到目标代码,动态库在程序运行的时候才被载入。

6.  !!!用指针p指向头指针时(没有头结点),第一个赋值一定得用头指针!

7.  不管出错还是到达文件末尾,getc,fgetc,getchar都返回EOF,需要用ferror()或者feof()区分。

8.  getc,getchar,putc,putchar的实现为宏,fgetc,fputc实现为函数。

9.  ftell()用于取得当前的文件位置,调用成功则为当前文件的位置指示,若出错则为-1L。

10.  creat()等价于open(pathname,O_CREAT|O_WRONLY|O_TRUNC.,mode);

11.  -fPIC :用于编译共享库  -shared:用于生成动态链接库。

12.  进程包括:程序的指令和数据   程序计数器值  CPU的寄存器值  存储临时数据的进程堆栈

13.  进程的正文段指的是程序中的代码。

14.  查看守护进程:ps -axj

时间: 2024-11-12 02:17:27

IO进程疏漏的相关文章

操作系统介绍-操作系统历史,IO,进程的三态,同步异步阻塞非阻塞

1.操作系统历史 2.进程,IO,同步异步阻塞非阻塞 操作系统历史: 手工操作: 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念. 手工操作方式两个特点: (1)用户独占全机.不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低. (2)CPU 等待手工操作.CPU的利用不充分. 批处理-磁带操作: 主机与输入机之间增加一个存储设备--磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入

IO模型

最近学习socket,整理些通信协议设计相关的内容. 主要IO模型: 1:阻塞IO 2:非阻塞IO       3:IO复用 4:信号驱动IO 5:异步IO 1)阻塞IO socket默认都是阻塞的,进程在发出IO系统调用后一直堵塞,直到内核有数据且把数据拷贝给进程后,该进程才继续运行. 2)非阻塞IO 设置socket为非堵塞的,进程反复调用IO系统调用,如果内核没数据就立即返回继续调用:否则堵塞直到内核把数据拷贝给该进程后,该进程继续运行. 3)IO复用 进程调用IO系统调用,同时监测多个s

arm驱动linux异步通知与异步IO【转】

转自:http://blog.csdn.net/chinazhangzhong123/article/details/51638793 <[ arm驱动] linux异步通知与 异步IO>涉及内核驱动函数二个,内核结构体一个,分析了内核驱动函数二个:可参考的相关应用程序模板或内核驱动模板二个,可参考的相关应用程序模板或内核驱动三个 描述:设备文件IO访问:阻塞与非阻塞io访问,poll函数提供较好的解决设备访问的机制,但是如果有了异步通知整套机制就更加完整了 一.阻塞 I/O,非阻塞IO,异步

Java 中阻塞非阻塞io以及同步异步IO

然后借鉴下<Unix网络编程卷>中的理论: IO操作中涉及的2个主要对象为程序进程.系统内核.以读操作为例,当一个IO读操作发生时,通常经历两个步骤: 1,等待数据准备 2,将数据从系统内核拷贝到操作进程中 例如,在socket上的读操作,步骤1会等到网络数据包到达,到达后会拷贝到系统内核的缓冲区:步骤2会将数据包从内核缓冲区拷贝到程序进程的缓冲区中. 阻塞(blocking)与非阻塞(non-blocking)IO IO的阻塞.非阻塞主要表现在一个IO操作过程中,如果有些操作很慢,比如读操作

进程分析之CPU

进程分析之CPU 本文转载自:https://github.com/ColZer/DigAndBuried/blob/master/system/cpu.md 在<进程分析之内存>文中,对系统/进程的内存使用情况进行分析了,本文将从cpu使用情况对进程进行分析:在这之前,先针对cpu比较相关几个概念进行介绍 CPU INFO的阅读以及对基本概念的了解: cpu从硬件到系统层面有三个概念:物理CPU个数.物理核数.逻辑核个数:其中物理CPU的个数即硬件层面实实在在的CPU的个数:现在CPU都为多

Socket.io的集群方案

介绍 Nodejs因其简单方便,在服务端应用市场也开始占有一席之地,其另外一个分支--socket.io(最后跟nodejs好像又要合并了),特别适合聊天室.白板(document collabration).在线实时计算.计数器等应用,如果要支持大容量应用,就需要使用集群技术了,下面逐一讨论常见的socket.io集群方案. 集群方案 在官网介绍的方案有使用ngix反向代理方案.这种方案比较简单不需要修改业务代码可以直接布署,通过iphash轮调算法保存用户分配到同一个进程. vi /etc/

快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,即USE方法

命令:uptime说明:查看机器分别在1分钟.5分钟.15分钟的平均负载情况,显示的数字表示等待cpu资源的进程和阻塞在不可中断io进程的数量,如果1分钟的平均负载很高,而15分钟的平均负载很低,说明服务器正处于高负载情况,需要进一步排查cpu资源都消耗在了哪里.反之,如果15分钟的平均负载很高,而1分钟的平均负载很低,则有可能是cpu资源紧张的时刻已经过去. 命令:dmesg|tail说明:输出系统日志的最后10行. 命令:vmstat 1说明:每行输出一些系统核心指标,1表示每1秒输出一次统

操作系统性能监控-磁盘IO

系统IO监控 iostat监控各个磁盘使用情况 rrqm/s:   每秒进行 merge 的读操作数目.即 delta(rmerge)/s wrqm/s:  每秒进行 merge 的写操作数目.即 delta(wmerge)/s r/s:         每秒完成的读 I/O 设备次数.即 delta(rio)/s w/s:        每秒完成的写 I/O 设备次数.即 delta(wio)/s rsec/s:     每秒读扇区数.即 delta(rsect)/s wsec/s:    每

Linux 查看磁盘读写速度IO使用情况

# 查看io进程 命令:iotop 注:DISK TEAD:n=磁盘读/每秒              DISK WRITE:n=磁盘写/每秒. 注:标黄的可查看磁盘的读写速率,下面可以看到使用的io. # 查看当前磁盘IO 读写 sar -b 1 10 注:每1秒 显示 1次 显示 10次 19时54分35秒 tps rtps wtps bread/s bwrtn/s 19时54分36秒 0.00 0.00 0.00 0.00 0.00 19时54分37秒 0.00 0.00 0.00 0.0