2020年12月24日
摘要: 1. ucore lab7介绍 ucore在前面的实验中实现了进程/线程机制,并在lab6中实现了抢占式的线程调度机制。基于中断的抢占式线程调度机制使得线程在执行的过程中随时可能被操作系统打断,被阻塞挂起而令其它的线程获得CPU。多个线程并发的执行,大大提升了非cpu密集型应用程序的cpu吞吐量,使 阅读全文
posted @ 2020-12-24 23:58 小熊餐馆 阅读(1350) 评论(0) 推荐(0) 编辑
  2020年12月9日
摘要: 1. ucore lab6介绍 ucore在lab5中实现了较为完整的进程/线程机制,能够创建和管理位于内核态或用户态的多个线程,让不同的线程通过上下文切换并发的执行,最大化利用CPU硬件资源。ucore在lab5中使用FIFO的形式进行线程调度,不同的线程按照先来先服务的策略,直到之前创建的线程完 阅读全文
posted @ 2020-12-09 22:04 小熊餐馆 阅读(1170) 评论(0) 推荐(0) 编辑
  2020年11月27日
摘要: 1. ucore lab5介绍 ucore在lab4中实现了进程/线程机制,能够创建并进行内核线程的调度。通过上下文的切换令线程分时的获得CPU,使得不同线程能够并发的运行。 在lab5中需要更进一步,实现我们平常开发接触到的、运行在用户态的进程/线程机制。用户线程通常用于承载和运行应用程序,为了保 阅读全文
posted @ 2020-11-27 11:17 小熊餐馆 阅读(2477) 评论(0) 推荐(3) 编辑
  2020年11月26日
摘要: 1. 跳表介绍 在之前关于数据结构的博客中已经介绍过两种最基础的数据结构:基于连续内存空间的向量(线性表)和基于链式节点结构的链表。 有序的向量可以通过二分查找以logn对数复杂度完成随机查找,但由于插入/删除元素时可能导致内部数组内整体数据的平移复制,导致随机插入/删除的效率较低。而普通的一维链表 阅读全文
posted @ 2020-11-26 22:03 小熊餐馆 阅读(801) 评论(2) 推荐(2) 编辑
  2020年11月10日
摘要: 一、关于I/O模型的问题 最近通过对ucore操作系统的学习,让我打开了操作系统内核这一黑盒子,与之前所学知识结合起来,解答了长久以来困扰我的关于I/O的一些问题。 1. 为什么redis能以单工作线程处理高达几万的并发请求? 2. 什么是I/O多路复用?为什么redis、nginx、nodeJS以 阅读全文
posted @ 2020-11-10 23:47 小熊餐馆 阅读(1545) 评论(1) 推荐(2) 编辑
  2020年11月1日
摘要: 1. ucore lab4介绍 什么是进程? 现代操作系统为了满足人们对于多道编程的需求,希望在计算机系统上能并发的同时运行多个程序,且彼此间互相不干扰。当一个程序受制于等待I/O完成等事件时,可以让出CPU给其它程序使用,令宝贵的CPU资源得到更充分的利用。 操作系统作为大总管需要协调管理各个程序 阅读全文
posted @ 2020-11-01 15:15 小熊餐馆 阅读(2267) 评论(0) 推荐(2) 编辑
  2020年10月22日
摘要: 1. ucore lab3介绍 虚拟内存介绍 在目前的硬件体系结构中,程序要想在计算机中运行,必须先加载至物理主存中。在支持多道程序运行的系统上,我们想要让包括操作系统内核在内的各种程序能并发的执行,而物理主存的总量通常是极为有限的,这限制了并发程序的发展。受制于成本问题,拥有足够大容量主存的个人计 阅读全文
posted @ 2020-10-22 22:19 小熊餐馆 阅读(2559) 评论(1) 推荐(1) 编辑
  2020年10月15日
摘要: 一、lab2物理内存管理介绍 操作系统的一个主要职责是管理硬件资源,并向应用程序提供具有良好抽象的接口来使用这些资源。 而内存作为重要的计算机硬件资源,也必然需要被操作系统统一的管理。最初没有操作系统的情况下,不同的程序通常直接编写物理地址相关的指令。在多道并发程序的运行环境下,这会造成不同程序间由 阅读全文
posted @ 2020-10-15 22:47 小熊餐馆 阅读(4444) 评论(2) 推荐(3) 编辑
  2020年9月28日
摘要: 一、ucore操作系统介绍 操作系统作为一个基础系统软件,对下控制硬件(cpu、内存、磁盘网卡等外设),屏蔽了底层复杂多样的硬件差异;对上则提供封装良好的应用程序接口,简化应用程序开发者的使用难度。站在应用程序开发人员的角度来看,日常开发中常见的各种关于并发、I/O、程序通信的问题等都和操作系统相关 阅读全文
posted @ 2020-09-28 22:37 小熊餐馆 阅读(6997) 评论(1) 推荐(4) 编辑
  2020年6月30日
摘要: 一、CPU高速缓存简单介绍 CPU高速缓存机制的引入,主要是为了解决CPU越来越快的运行速度与相对较慢的主存访问速度的矛盾。CPU中的寄存器数量有限,在执行内存寻址指令时,经常需要从内存中读取指令所需的数据或是将寄存器中的数据写回内存。而CPU对内存的存取相对CPU自身的速度而言过于缓慢,在内存存取 阅读全文
posted @ 2020-06-30 23:37 小熊餐馆 阅读(5755) 评论(10) 推荐(6) 编辑