操作系统
文章平均质量分 85
Ingsuifon
这个作者很懒,什么都没留下…
展开
-
【操作系统笔记】并发,锁实现以及原子指令
介绍了操作系统中的同步,锁的几种实现方式以及原子指令。原创 2022-11-21 23:14:46 · 613 阅读 · 0 评论 -
Linux进程
进程描述。原创 2022-06-30 23:08:14 · 227 阅读 · 0 评论 -
Project0:小游戏
cs162项目0原创 2022-06-28 23:26:56 · 973 阅读 · 0 评论 -
Linux内存寻址
介绍Linux的寻址原理。原创 2022-06-24 13:50:10 · 837 阅读 · 1 评论 -
操作系统实现
详细过程请参考B站Up踌躇月光。1 开发环境搭建1.1 模拟器与汇编器安装基于bochs硬件模拟器开发,使用的操作系统为ubuntu20.04。在终端执行以下命令安装bochs和汇编器。sudo apt install bochssudo apt install bochs-xsudo apt install nasm...原创 2022-02-25 16:54:39 · 1097 阅读 · 0 评论 -
《操作系统原理与实践:内核与进程》第2章:内核抽象
1. 进程抽象为了运行程序,操作系统将指令和数据从可执行映像拷贝到物理内存中。操作系统留出一个内存区域,即执行栈,用于在过程调用期间保存局部变量的状态。操作系统还为程序可能需要的任何动态分配的数据结构留出一个称为堆的内存区域。当然,要将程序复制到内存中,操作系统本身必须已经加载到内存中,并具有自己的栈和堆。要运行同一程序的多个副本,操作系统可以在内存中拷贝程序指令、静态数据、堆和栈的多个副本。大多数操作系统会尽可能重用内存:当程序的多个副本同时执行时,它们只存储程序指令的一个副本。即便如此,程序的数据翻译 2021-01-21 23:48:46 · 353 阅读 · 0 评论 -
操作系统导论第10章:多处理器调度(高级)
前置知识:并发10.1 背景:多处理器架构要了解围绕多处理器调度的新问题,我们必须了解单CPU硬件和多CPU硬件之间的新的根本区别。这种差异集中在硬件缓存的使用(例如下图),以及如何在多个处理器之间共享数据方面。现在,我们在更高层次上进一步讨论这个问题。在单CPU的系统中,存在硬件高速缓存的层次结构,通常可以帮助处理器更快地运行程序。高速缓存是小型的快速内存,(通常)用于保存在系统主内存中找到的流行数据的副本。相比之下,主内存可保存所有数据,但访问此较大内存的速度较慢。通过将经常访问的数据保存在高速原创 2020-09-20 00:18:10 · 602 阅读 · 0 评论 -
操作系统导论第9章:比例份额调度
9.1 基本概念:票数代表份额每个进程持有一些彩票号,调度程序每一次调度时,进行抽奖,持有开奖号数的进程被调度利用了随机性,可以避免很多最差的情况9.2 彩票机制彩票货币:每个用户可以有自己的货币,最后再转换成调度程序的货币彩票转让:进程可以临时将自己的彩票交给另一个进程彩票膨胀:一个进程可以临时提升或降低彩票数量。只有进程相互信任的环境才有意义。9.3 步长调度每个工作都有步长,步长等于一个大数除以它的票数每个进程都有行程值,每次调度完一个进程后,行程值增加它的步长每次调度选原创 2020-09-17 11:28:38 · 439 阅读 · 0 评论 -
《操作系统导论》部分代码习题
第5章8.Write a program that creates two children, and connects the standard output of one to the standard input of the other, using the pipe() system call.#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>原创 2020-09-02 21:11:22 · 1023 阅读 · 0 评论 -
操作系统调度笔记
进程4.1 进程是一种抽象正在运行的程序称为进程。4.2 进程的API创建:操作系统创建一个新的进程毁灭:操作系统强行杀死一个进程等待:等待一个进程停止运行杂项控制:其它的一些操作,如挂起进程状态:获取进程的状态,如已运行的时间4.3 创建进程:一些细节从磁盘中加载代码和静态数据到内存中。现代操作系统大多使用懒加载。即需要时才将代码和数据加载进内存。与之相关的技术为分页和交换。分配程序的运行时栈。分配程序的堆。操作系统还会做一些其它的初始化工作,特别是和I/O相关的。如UN原创 2020-08-30 17:33:57 · 221 阅读 · 0 评论