![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
服务器学习
文章平均质量分 89
yangzhengqui
这个作者很懒,什么都没留下…
展开
-
strace跟踪go读取文件函数
strace 是跟踪系统调用的工具,通过跟踪代码发现go语言的read函数是通过汇编函数实现的,所以用strace没有发现有系统调用。。。。原创 2020-07-02 13:05:51 · 643 阅读 · 1 评论 -
根据客户端IP地址,通过DNS解析合适的服务器IP
DNS基本概念: DNS是属于应用层的协议,因为网络通信是要采用IP地址来进行通信的,但人类对于这些IP地址不容易记住。于是乎就使用方便记住的域名来进行访问网站。而DNS就是进行域名与IP地址转换的。可以称为网络世界的地址薄。 域名系统的概念: 域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映...原创 2018-08-09 20:11:29 · 8235 阅读 · 0 评论 -
linux 0.11 fork
当调用fork的时候,因为是系统调用,所以会调用_syscall0这个函数 #define _syscall0(type,name) \ type name(void) \ { \ long __res; \ __asm__ volatile ("int $0x80" \ : "=a" (__res) \ : "0" (__NR_##name)); \ if (__res..原创 2018-08-18 14:46:10 · 530 阅读 · 0 评论 -
Linux下线程为什么不是系统调用,而是做成 Pthread库提供实现?
系统调用是用户空间访问内核的唯一接口,除开异常和陷入。 应用程序是不能直接访问内核内存空间和调用内核函数的。要从应用空间陷入到内核空间,一般通过中断。中断分为软中断和硬件中断,软中断在X86的机器上是通过int $0x80指令调用的,通过该指令陷入到内核,根据内核维护的中断向量表找到对应的中断处理程序。 那么为什么线程不做成系统调用呢? 首先在Linux诞生的时候还没有线程的概念,(LINU...原创 2018-08-23 13:23:03 · 2282 阅读 · 0 评论