
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
1、创建一个新线程代价要比创建一个新进程小得多。在删除时也是线程代价更小。2、切换:与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多。(不需要对cache进行切换丢弃cache(cache是寄存器和内存之间的硬件缓存),重新进行命中缓存,从“冷----->热”)

1、git add+文件名.txt 添加:把文件加入”待提交清单“,把工作区的(你刚改好的文件)里的改动,”暂存“到暂存区,放到暂存区相当于提供了可以后悔的能力,提供提交效率,相当于告诉git:”这些文件我要准备提交了“。假如一个人删了几行代码,另外的一个人加了几行代码,此时就会调用文本编辑器,vim,将变化同时呈现出来----然后让用户自己解决冲突(或者也可以理解为接不接受那样的改动的代码)gi
程序的发布方式有两种, debug 模式和 release 模式, Linux gcc/g++ 出来的二进制程。要使用gdb调试,必须在源代码⽣成⼆进制程序的时候, 加上 -g 选项,如果没有添加,程序无法被。输入quit,退出gdb,如上图:很明显debug的大小比mycmd版本大,里面包含了调试信息。我们举个例子:首先写一个简单的代码来带入,一个例子简单学会调试器。给用户必须是release版
虚拟地址是进程自己看到的“门牌”,操作系统通过页表把相同的“门牌”映射到了不同的“房间”(物理内存),所以值不一样。1. 刚fork()完- 父子进程共用同一块物理内存- 虚拟地址一样,物理地址也一样2. 子进程一修改数据- 操作系统发现:有人要改共享内存立刻给子进程新开辟一块物理内存- 把原来的数据复制过去- 只修改子进程的页表,让它的虚拟地址指向这块新物理内存3. 结果- 子进程改的是新物理内
1、如何理解重定向?(1)关掉0之后运行结果:(2)close2之后。
定位:数据存储的最小硬件单元。- 作用:负责持久化保存操作系统、程序和数据(如你熟悉的HDD机械硬盘或SSD固态硬盘)。它是服务器的“仓库”。它们四个的关系类似于套娃它们是包含与被包含的关系,可以用公式表示为:磁盘 ⊂ 服务器 ⊂ 机柜 ⊂ 机房- 数据流向:用户请求 → 机房网络 → 机柜内交换机 → 服务器处理 → 磁盘读写数据。
我们可以看到,真正找到磁盘上文件的并不是文件名,而是inode。其实在Linux中可以让多个文件名对应于同一个inode。硬链接 = 同一个 inode 的多个名字首先创建一个这种的文件。
答:库是写好的,现有的,成熟的,可以复用的代码,在现实中,每一个程序都要依赖很多基础的底层库,不可能每一个人的代码都要从零开始,因此库的存在意义非同寻常。库一般有两种,一种是动态库,另一种是静态库。静态链接静态链接库动态链接动态链接库最佳实践的意思是C语言项目编译与链接的规范流程,核心是分布编译,最后链接,避免一次性编译带来的问题;编译阶段,每一个.c源文件单独编译为.o目标文件,只做语法检查和汇
一、read。
Linux/unix中三大经典的进程间通信方式为:共享内存,消息队列,信号量。







