363 1 分钟

# 第一章:计算机系统漫游 硬件:CPU,寄存器文件,高速缓存存储器,系统总线,主存,磁盘。 操作系统管理硬件。进程(处理器,主存,i/o 设备),虚拟内存(主存,i/o 设备),文件(i/o 设备)。 并发运行:一个进程的指令和另一个进程的指令交错执行。这种交错执行的机制叫上下文切换,进程间切换由内核管理。 上下文:操作系统保持跟踪进程运行所需的所有状态信息。 内核:操作系统代码常驻主存的一部分,不是独立的进程。是系统全部进程所用代码和数据结构的集合。 栈位于用户虚拟地址空间顶部,编译器用它来实现函数调用,和堆一样,用户栈在程序执行期间可以动态地扩展和收缩 。...
3.6k 3 分钟

远程仓库指 github 仓库(repositoris),本地仓库指自己被 git 管理的文件夹(含有.git 文件夹)。 重新与远程仓库建立联系,并可以提交代码(自己远程仓库有代码,本地无代码,比如重装系统或者换电脑): 如果只是本地没有了仓库,在与远程仓库建立链接时提示” 远程 origin 已存在 ",可以直接 commit+push。 # 克隆远程仓库到本地仓库git clone git@github.com:username/repository_name.git(远程仓库地址ssh)# cd 进本地仓库cd 仓库# 初始化 gitgit init#...
2.4k 2 分钟

# 目录 / 文件相关 # 存储信息的结构体: DIR* dp : 某个目录的信息 (opendir 返回,做 readir 参数) 头文件: dirent.h struct __dirstream { void *__fd; // 文件描述符 char *__data; // 目录块 int __entry_data; //data 对应的条目号 char *__ptr; // 块中的当前指针 int __entry_ptr; // 条目号对应的指针 size_t __allocation; // 为块分配的空间 size_t __size; // 块中的总有效数据...
1.7k 2 分钟

辅助理解递归:明确这个函数是做什么的,然后在这个函数里有需要做这一步,比如按扩展先序创建二叉树,函数作用为:“创建输入节点的子树,先左子树,后右子树”。然后创建左右子树的时候是递归调用。 管道和进程间通信,即 pipe() + fork() 的形式,注意关掉无用的文件文件描述符,否则会造成文件描述符的浪费,并且 fork () 后关闭比较麻烦。先 pipe (),之后先把能立刻用完 **** 之后就不在用的符立刻用完,然后将他们关掉,再 fork ()。因为子进程会继承父进程的文件描述符。例:MIT6.S081 lab 的第三个求 2-35 内的素数。 #include...