操作系统
文章平均质量分 74
OS
AndyZzz~
这个作者很懒,什么都没留下…
展开
-
操作系统38问
之前在三月份的时候,曾经推送过cxuan的《爆肝操作系统》一文(见本次推送的第二个链接),现在为了让OS持续加成,推出《操作系统必问38题》,掌握好这些题目,且能对一些要点做适度的挖掘,面试和笔试一般不成大问题。提升OS技术深度的硬核实践Linux 内核:https://github.com/torvalds/linuxHarmony OS 内核:https://github.com/Awesome-HarmonyOS/HarmonyOSMIT xv6 教学系统:https://github.原创 2021-06-29 15:42:13 · 418 阅读 · 0 评论 -
操作系统漫游
前言计算机操作系统是计算机科班的重中之重,一般本科科班对操作系统的认识停留在认识和理解上,要想独立设计一个OS可是凤毛麟角 Linux 但是既然是科班所学的操作系统,扎实理解操作系统算法和机制,对本科生来说也不容易了。因此,本篇我们不仅以面试者的角度,也以专业408研究生入学考试的角度来对操作系统有个宏观上的把握!文章目录进程管理黎明:OS发展历程进程的执行状态OS管理进程的数据结构——PCB进程同步进程同步经典问题进程死锁银行家算法进程调度评估进程调度内存管理文件管理设备管理计算机系统安全.原创 2021-06-24 23:10:31 · 298 阅读 · 1 评论 -
xv6操作系统 实验1小结
这几天做完了xv6 OS综合实验,心情果真轻松了不少,还是得小结一下,以便为一个月后的xv6 OS综合实验二做预备文章目录在xv6上构建简单的应用程序实现系统调用修改调度器时间片实现优先级调度实现信号量机制实现slab内核内存管理实现COW在xv6上构建简单的应用程序相当于在IDE上编写代码然后运行一样,xv6中代码能否运行跟引入头文件的顺序有关系,一般先引入types.h,这里定义了一些数据类型,如果没有先引入,则在此之前的头文件找不到数据类型,运行会出错,所以types.h是第一个引入的;stat原创 2021-05-26 11:11:49 · 1166 阅读 · 0 评论 -
xv6学习笔记
2021/5/23 0:54,mark这个时间以记录我还没写好的OS实验报告TATATAT主要是对xv6还没怎么学习,现在综合实验一上来就是要修改操作系统源码。天哪噜,QAQ,只能恶补文章目录调度调整时间片长度优先级调度信号量调度调整时间片长度要将原来N个tick才切换进程,变成M个tick才切换进程,tick属于进程数据,因此在PCB添加相关属性就行:分配PCB时要初始化一下:调度切换是在trap.c中完成的,原来1个tick后进程直接yield(让出CPU资源),现在要等到slot完全原创 2021-05-23 20:11:19 · 609 阅读 · 0 评论 -
Linux 笔记:初识伙伴系统 / Slab
做操作系统实验恰好遇到这两个需要了解的知识点,现在做下笔记。我们知道,在不断地申请、释放内存的过程中,会产生内存碎片,分为外部碎片和内部碎片。内部碎片指的是已经被分配出去(能明确指出属于哪个进程)的内存空间大于请求所需的内存空间,不能被利用的内存空间;而外部碎片指的是还没有分配出去(不属于任何进程),但是由于大小而无法分配给申请内存空间的新进程的内存空闲块。伙伴系统就是用来解决外部碎片,而Slab解决内部碎片。伙伴系统要达到的目标:用最小的内存空间来满足内核对内存的需求假设内存空间大小为1M,最小允许原创 2021-05-22 09:20:32 · 271 阅读 · 0 评论 -
操作系统之内存管理 小结
一、内存管理的重要性(需求)重定位:为程序确定在内存中的区域进程保护:本进程之外的其他进程一般情况下无法修改本进程数据共享:不同几进程允许访问相同的共享区域逻辑组织:e.g. 只读、只写、可读可写物理组织:程序数据等分配到内存二、内存分区1、固定分区基本假定:操作系统占据内存中固定的部分,内存中的其余部分则供多个用户进程使用固定分区就是把内存空间划分为若干边界固定的区域使用大小相等的固定分区缺点:程序可能太大不能放到一个分区中内存利用率底放置算法原创 2020-08-08 23:08:55 · 168 阅读 · 0 评论