ucore操作系统学习(五) ucore lab5用户进程管理
摘要:1. ucore lab5介绍 ucore在lab4中实现了进程/线程机制,能够创建并进行内核线程的调度。通过上下文的切换令线程分时的获得CPU,使得不同线程能够并发的运行。 在lab5中需要更进一步,实现我们平常开发接触到的、运行在用户态的进程/线程机制。用户线程通常用于承载和运行应用程序,为了保
阅读全文
posted @
2020-11-27 11:17
小熊餐馆
阅读(2506)
推荐(3) 编辑
自己动手实现java数据结构(九) 跳表
摘要:1. 跳表介绍 在之前关于数据结构的博客中已经介绍过两种最基础的数据结构:基于连续内存空间的向量(线性表)和基于链式节点结构的链表。 有序的向量可以通过二分查找以logn对数复杂度完成随机查找,但由于插入/删除元素时可能导致内部数组内整体数据的平移复制,导致随机插入/删除的效率较低。而普通的一维链表
阅读全文
posted @
2020-11-26 22:03
小熊餐馆
阅读(837)
推荐(2) 编辑
谈谈对不同I/O模型的理解 (阻塞/非阻塞IO,同步/异步IO)
摘要:一、关于I/O模型的问题 最近通过对ucore操作系统的学习,让我打开了操作系统内核这一黑盒子,与之前所学知识结合起来,解答了长久以来困扰我的关于I/O的一些问题。 1. 为什么redis能以单工作线程处理高达几万的并发请求? 2. 什么是I/O多路复用?为什么redis、nginx、nodeJS以
阅读全文
posted @
2020-11-10 23:47
小熊餐馆
阅读(1604)
推荐(2) 编辑
ucore操作系统学习(四) ucore lab4内核线程管理
摘要:1. ucore lab4介绍 什么是进程? 现代操作系统为了满足人们对于多道编程的需求,希望在计算机系统上能并发的同时运行多个程序,且彼此间互相不干扰。当一个程序受制于等待I/O完成等事件时,可以让出CPU给其它程序使用,令宝贵的CPU资源得到更充分的利用。 操作系统作为大总管需要协调管理各个程序
阅读全文
posted @
2020-11-01 15:15
小熊餐馆
阅读(2293)
推荐(2) 编辑