进程的等待状态 如果进程不在执行的话,那么它在等待一些事件,内核分了很多的等待状态 这些状态通常由进程的描述符队列来实现的 ,每个队列可能悬空,来对应一组等待特定的事件的进程。 内核的可重入 几个进程可以同时在内核态执行,在单处理器上只有一个进程真正的运行,其他都是被阻塞的状态,或者处于一个低优先级 ...
分类:
其他好文 时间:
2020-06-17 23:35:50
阅读次数:
72
进程:进程的经典定义就是:一个执行中的程序的实例。系统中的每个程序都是运行在某个进程的上下文中的。上下文是由程序程序正确运行所需的状态组成的。这个状态包括存放在存储器中的程序的代码和数据,他的栈、通用的目的寄存器的内容、程序计数器、环境变量以及打开文件描述符的集合。(深入理解计算机系统 487) 线 ...
分类:
编程语言 时间:
2020-06-16 23:30:28
阅读次数:
66
热重启的意义 可以让用户神不知鬼不觉的,更新后端的项目 测试的时候,也不用停止项目然后再开启项目,降低项目开启时间 golang热重启的主要步骤 将编译好的项目覆盖进行 golang热重启的思想 监听重启信号 收到信号之后,进行fork子进程,将服务监听的socket文件描述符传递给子进程 子进程监 ...
分类:
其他好文 时间:
2020-06-16 20:00:08
阅读次数:
67
常用的重定向如who->userlist.txt将who的输出定向到文件userlist.txt,这是如何做到的呢? who的默认输出对象是标准IO中的stdout,文件描述符为1,而重定向所做的事情是将文件描述符1从默认的tty设备文件移开,而重新分配给其他文件,在本例中为userlist.txt ...
分类:
其他好文 时间:
2020-06-16 15:38:37
阅读次数:
56
一.fork系统调用 在Linux内核中,一般用fork系统调用创建新进程,被创建的进程称之为子进程。linux下fork系统调用是通过_do_fork()来实现的。进程的创建过程大致是父进程通过fork系统调用进入内核_do_fork函数,复制进程描述符以及相关进程资源,为子进程分配内核堆栈,并对 ...
分类:
系统相关 时间:
2020-06-15 12:06:58
阅读次数:
59
##1. 文件描述符 打开或创建一个文件时,内核向进程返回一个文件描述符,当读、写一个文件时,用open()或creat()返回的文件描述符标识该文件,将其作为参数传递给write、read。 stdin标准输入 fd = 0 stdout标准输出 fd = 1 stderr标准错误 fd = 2 ...
分类:
其他好文 时间:
2020-06-12 20:24:48
阅读次数:
65
JDK8引入Stream编程 函数式接口: 函数描述符 * Runnable ()-> Void * Callable ()-> T 接口名 方法名 函数描述符 含义 | Predicate<T> | test() | T->boolean | 判断 | | Consumer<T> | accept ...
分类:
其他好文 时间:
2020-06-11 16:32:44
阅读次数:
40
读文件流程进程调用库函数向内核发起读文件请求;内核通过检查进程的文件描述符定位到虚拟文件系统的已打开文件列表表项;调用该文件可用的系统调用函数read();read()函数通过文件表项链接到目录项模块,根据传入的文件路径,在目录项模块中检索,找到该文件的inode;在inode中,通过文件内容偏移量计算出要读取的页;通过inode找到文件对应的address_space;在address_spac
分类:
系统相关 时间:
2020-06-10 09:33:00
阅读次数:
134
####从DNS数据库中检索主机条目 getaddrinfo 不用考虑字节序[旧api:gethostbyname、gethostbyaddr ] ####Ref: CSAPP ...
分类:
其他好文 时间:
2020-06-09 14:53:29
阅读次数:
50
首先了解一下Object.definePropertyobject.defineProperty(obj,prop,descriptor)有三个参数--obj要定义属性的对象。--prop要定义或修改的属性的名称或symbol。--descriptor要定义或修改的属性描述符。--这里主要用到两个属性描述符get:当访问该属性时,会调用此函数。但是会传入this对象(由于继承关系,这里的this并
分类:
其他好文 时间:
2020-06-08 12:36:28
阅读次数:
62