- 博客(9)
- 收藏
- 关注
原创 进程管理
PID:(1) Pid = 0的进程成为调度进程(2)PID=1init进程,读取各种各样的系统文件,初始化OS的启动,让OS进入多用户状态,支持多用户登录。原始的父进程托管孤儿进程(3)PID=2页精灵进程,专门负责虚拟内存的请页操作。函数:getpid --获取进程IDgetppid --获取父进程IDgetuid --获取用户IDgetgid --获取用户组的ID程序的运行过程,即程序是如何运行起来的:(1)在内存中划出一片内存空间(2)将硬盘上可执行文件中的代
2020-05-29 23:54:21 115
原创 启动代码
gcc -v 显示编译的详细信息,里面有很多实现被编译好的.o文件,这些.o文件就是用来生成启动代码的。启动代码基本使用汇编语言编写的。启动代码大致做了两件事:(1)对C程序的内存空间进行布局,得到C程序运行所需要的内存空间结构。(2)留下相应库接口。...
2020-05-29 17:31:55 551
原创 文件操作IO
dup(oldfd)和dup2(oldfd, newfd)这两个函数我们可以用来复制文件描述符。(1) 其中oldfd和newfd分别是复制前文件描述符和复制后的文件描述符。(2) 这两个函数的调用都将复制文件描述符oldfd,且他们的返回值都为新的文件描述符。(3) 不同点是dup()的返回值是最小的未用文件描述符;dup2()的返回值是预先制定的文件描述符newfd。(4) 对于dup2(),如果文件描述符newfd正在被使用,则先关闭newfd;如果ne
2020-05-29 16:00:29 87
原创 Vim
1.语法高亮:syntax on2. set number: 显示行号3. 行号+gg跳到某一行4. 跳到当前行的20行后:20j5. /tcp 高亮所有tcp的单词,n跳到下一个;shift+n跳到上一个6. 剪切cc, 撤销 u(undo) c2c(剪切两行) p 粘贴7. shift+v visual试图,上下左右选择8. 复制:yy9. 代码自动补全:ctrl+n10.第三方插件:vim plug...
2020-05-25 23:13:39 84
原创 linux常用命令
linux常用命令date:查看系统日期cal : 打出日历cal 2020:查看2020年的所有日历cal 1 2020 (查看2020年1月份的日历)pwd: 查看当前所在目录cd / —跳到根目录ls —查看当前目录下的文件ls -lcd … 退回上一层mkdir :新建文件夹rmdir : 删除文件夹cp src.txt dest.txt 复制文件cat file1.txt 查看文件内容diff file1.txt file2.txt :查看两个
2020-05-25 21:03:56 165
原创 网络基础
http和https的区别(1)http是http协议运行在tcp之上,所传输的内容都是明文,客户端和服务器端都无法验证对方的身份。(2)https是http协议运行在SSL/TLS之上,SSL/TLS运行在tcp之上。所有传输的内容都经过加密。加密采用对称加密,但对称加密的秘钥用服务器方的证书进行非对称加密,此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。(3)https协议需要到CA申请证书,一般免费证书很少,需要缴费;(4)http是超文本传输协议,信息
2020-05-22 17:05:30 115
原创 IP&MAC
IP地址(逻辑地址)本质是重点地址,它在跳过路由器的时候并不会改变。但是MAC地址(物理地址)则是下一跳的地址,每跳过一次路由器都会改变。MAC地址记录了下一跳的信息。
2020-05-22 12:02:10 133
原创 网络编程学习笔记--socket编程
1.网络中进程之间如何通信?本地的进程间通信(IPC)有很多种方式,总结为4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是不可以的。TCP/IP协议族帮我们解决了这个问题,网络层的“IP地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址、协议、端口)就可以标识网络的进程了。使用
2020-05-17 23:41:48 158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人