操作系统
_Maple_H
希望提升自己技术的Student
展开
-
IPC--进程间通信与应用场景
目录进程控制原语进程间通信(IPC)管道FIFO(命名管道)IPC对象缺点System V 共享内存套接字POSIX 信号量POSIX 与 System V 进程间通信进程间通信应用场景进程控制原语 fork() // 创建进程 exec() // 执行程序 exec()前后实际用户的ID和实际组ID不变,而有效ID是否改变取决于...原创 2019-03-19 08:50:56 · 431 阅读 · 0 评论 -
系统调用与库函数
系统调用?库函数?系统调用:unix操作系统所提供的良好定义、数量有限、之间进入内核的入口点C语言库函数:这里指的是程序员使用的通用库函数。虽然这些函数可能会调用一个或多个内核的系统调用,但是它们都不是内核的入口点联系:它们都通过C函数的形式出现并且都为应用程序提供服务C语言库函数实际上都是通过系统调用来实现的区别: 库函数是可以灵活地被替换的,但是系统调用不是 ...原创 2019-04-15 17:08:54 · 227 阅读 · 0 评论 -
解释器文件
解释器文件是文本文件,其基本形式为#! pathname [optional-argument]例如最常见的#! /bin/shpathname为绝对路径名,实际上对该文件的处理是由内核作为exec系统调用来处理的 内核使调用exec函数执行的并不是该解释器文件,而是在解释器文件第一行中pathname所指定的文件。解释器文件(文本文件,以#!开头),解释器(由该解释器文件第一...原创 2019-04-15 17:14:58 · 242 阅读 · 0 评论 -
read error:Bad file description
今天在实现I/O复用epoll来提高服务器性能时,出现了 Read error:Bad file description错误.通过认真通读代码后,发现是错将listen中参数的描述符用于read函数中,而实际上在listen之后要执行accept函数,其返回的描述符才是read函数中应该传入的。liatenfd = socket(AF_INET, SOCK_STREAM, 0...原创 2019-04-17 23:03:04 · 1359 阅读 · 0 评论 -
__attribute__()与va_list
最近在看libevent源码的过程中,发现用到了很多关于__attriute__的内容,和一些可变参数中的va_list问题,在此记录__attribute__()__attribute__()可以用来设置函数属性,变量属性和类型属性等+format__attribute__((format(printf, m, n))) 检查格式化字符串与“…”的匹配情况, m表示格式化字符串的位置...原创 2019-05-17 15:13:59 · 110 阅读 · 0 评论 -
共享内存实现
进程间通信方式无名管道(pipe):用于具有父子关系的进程之间的通信有名管道(fifo):可用于非父子关系之间的进程信号量(semaphore):是一个计数器,可用于进程或线程的同步或互斥,常用作锁机制消息队列(message):是消息的链表,允许进程将格式化的数据流以消息队列形式发送给任意进程共享内存(shared memory):映射一段能够被其他进程所访问的内存,由一个进程创建,...原创 2019-07-11 00:25:41 · 636 阅读 · 0 评论 -
操作系统设计层次
操作系统层次层名称对象示例操作13shell用户程序设计环境shell中的语句12用户进程用户进程退出、终止、挂起和恢复11目录目录创建、销毁、连接、分离、查找和列表10设备外部设备,如打印机、显示器、键盘等打开、关闭、读和写9文件系统文件创建、销毁、打开、关闭、读和写8通信管道等创建、销毁、打开、关闭、读...原创 2019-07-07 15:16:18 · 848 阅读 · 0 评论