随笔分类 - 操作系统(面试)
摘要:下面简单的总结一下,自己对进程间通信的理解。首先,要意识到一点:各进程间拥有相互独立的地址空间,所以进程间无法在用户态完成通信,必须要借助操作系统,也就是内核态来完成相应的操作。 内核态和用户态 由上图可知,系统分为内核态和用户态,其中内核态包括内核,用户态主要指应用程序。内核控制了计算机的软件和硬
阅读全文
摘要:今天遇到一个这样的问题,假设父进程有一个变量S,fork后,子进程中的变量S地址是否和父进程中的变量S 是相同的? 再学操作系统的时候,知道fork是采用的写时复制,所以如果子进程或者父进程不对变量S做修改的话,它们应该 是指向同一块物理内存,如果有修改,那么它们会指向不同的物理内存,但虚拟内存地址
阅读全文
摘要:首先是LRU的定义,LRU表示最近最少使用,如果数据最近被访问过,那么将来被访问的几率也更高。 所以逻辑应该是每次都要将新被访问的页放到列表头部,如果超过了list长度限制,就将列表尾部的元素踢出去。 主要结构,STL中的双向链表结构list。 主要操作有get,表示访问key对应的value,此时
阅读全文
摘要:题目如下: 求最后的输出结果: 这道题当时没分清楚,太菜了,结果应该这样推出来, 首先弄清楚fork()返回值,在父进程中是一个非0数,子进程中则是0, 所以pid1可以分为两类值非0和0, (1)pid1非0,pid2同理有两种取值,0或者非0, (2)pid1为0,表示是子进程,则pid2同样是
阅读全文