合集-操作系统
摘要:概念初探 epoll是一种I/O事件通知机制,是linux 内核实现IO多路复用的一个实现。 IO多路复用是指,在一个操作里同时监听多个输入输出源,在其中一个或多个输入输出源可用的时候返回,然后对其的进行读写操作。 I/O 输入输出(input/output)的对象可以是文件(file), 网络(s
阅读全文
摘要:socketpair创建了一对无名的套接字描述符(只能在AF_UNIX域中使用),描述符存储于一个二元数组eg. s[2] 这对套接字可以进行双工通信,每一个描述符既可以读也可以写。这个在同一个进程中也可以进行通信,向s[0]中写入,就可以从s[1]中读取(只能从s[1]中读取),也可以在s[1]中
阅读全文
摘要:硬链接 多个文件名指向同一个物理内存地址 符号链接 类似于C的指针
阅读全文
摘要:内核:管理硬件资源,对上层应用程序提供运行时环境 系统调用:内核给上层应用程序提供的接口 库函数:对系统调用进行包装,方便程序员使用(如printf,scanf,malloc,free) shell:命令解析器,一般,命令都是一些简单的可执行程序 注:脚本:命令的集合 应用程序(最上层) 给个图:
阅读全文
摘要:1.Linux开机时,会首先创建0号进程,0号进程会创建出1号和2号进程,然后0号进程本身会终止。 2.1号进程(sbin/init)是所有用户进程的祖先,需要开机自启的进程可以挂在一号进程下,1号进程会再产生tty/pts终端,之后会再由该终端产生login,shell等 3.2号进程是所有系统进
阅读全文
摘要:Linux文件删除原理: Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说,每个文件都有2个link计数器:i_count 和 i_link。 i_count的意义是当前文件使用者(或被调用)的数量,i_link 的意义是介质连接的
阅读全文
摘要:静态库和动态库 静态库 将库打包到产品 》生成可执行文件 动态库 运行时才加载到可执行文件 静态库:可执行程序大,部署难度容易,升级难度大 动态库:可执行程序小,部署难度难,升级难度小 库文件的生成 静态库 生成目标文件 把目标文件打包成静态库 ar crsv libalgo.a a.o b.o c
阅读全文
摘要:整体流程:.c和.h文件进行预处理,生成.i文件,.i文件经过编译,生成.s的汇编代码,.s文件经过汇编,生成.o的目标文件,多个.o文件与库文件,引导文件链接为可执行文件
阅读全文