操作系统
文章平均质量分 74
三丰杂货铺
这个作者很懒,什么都没留下…
展开
-
cs439 exam2辅导
解析youtube上有关于多级页表的很好的教程。2Paging MechanismsYou are working on a new paging system for Better Paging Incorporated.The system has a frame size of 64 bytes and has 4 frames. Each process has 16 pages available to it. The systemuses a three-level forward-原创 2022-04-06 19:54:08 · 503 阅读 · 0 评论 -
win11安装wsl2
文章目录问题1 - WSL2 请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化问题2-更新没反应, wsl --update问题1![](https://img-blog.csdnimg.cn/a5b2d7be5d6741e2a32946561458ed27.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiJ5Liw5p2C6LSn6ZO6,size_20,color_FFF原创 2022-04-03 00:20:20 · 1409 阅读 · 0 评论 -
cs439 - problem set 6辅导
What are overlays? How and why were they created?overlay is also named swapping.Overlaying means replacement of sections of stored instructions or data".This is achieved by treating main memory as a cache of hard disk.Overlays are created since the s.原创 2022-03-09 19:11:51 · 249 阅读 · 0 评论 -
cs439辅导 进程和线程以及死锁
这两道题主要考察的是进程和线程中,对于全局变量的理解。#include <unistd.h>#include <stdio.h>#include <stdlib.h>int global = 0;void foo(int a) { global += 1; a += 3; printf("Thread, global= %d, a= %d\n", global, a);}int main() { int a = 5.原创 2022-03-07 19:47:04 · 266 阅读 · 0 评论 -
操作系统cs439复习- problem 5
1.What is a virtual address? What is a physical address? How do they relate to each other?虚拟地址是操作系统给应用程序提供的一种假象,让应用程序以为它拥有一个从0 开始的连续的大内存空间。进程中使用的内存引用都是虚拟地址(virtual address),硬件接下来将虚拟地址加上基址寄存器中的内容,得到物理地址(physical address),再发给内存系统。目的透明(transparency)。用户编原创 2022-03-03 17:42:17 · 535 阅读 · 0 评论 -
从头实现Linux指令(零)序言
系列文章目录操作系统是计算机从业人员的基础素养,大名鼎鼎的《ostep》的作者 Remzi Arpaci-Dusseau认为每个从业者所掌握的操作系统内容包括:基本操作系统结构、进程和线程同步和并发、文件系统和存储服务器、内存管理技术、进程调度和资源管理以及虚拟化。最终获得的能力有:解释操作系统抽象的基本类型,包括进程、同步、虚拟内存和持久性。设计和实现系统库和内核调用,它们是提供给用户访问和开发新操作系统功能的机制。评估系统性能并解释将各种算法和数据结构应用于操作系统的复杂操作的影响。文章目原创 2022-02-27 19:54:55 · 697 阅读 · 0 评论 -
CS439操作系统复习exam1
Name three techniques that may be employed in the operating system to increase CPU utilization.CPU Utilization: percentage of time that the CPU is busyThe OS uses multiprogramming, or concurrency,(one process on the CPU running and one or more doing I/O原创 2022-02-21 20:46:04 · 784 阅读 · 0 评论 -
调试的基本概念
IDEidea,vs code的调试设置基本操作条件断点run to cursorvs code使用快捷键跳转到光标所在的位置。原创 2022-02-10 22:48:06 · 445 阅读 · 0 评论 -
做ass的参考步骤
谷歌搜ass的specification的内容文字,看看出处是在哪里。github搜代码,比如单纯的函数名字,不要太多的符号,是搜不到的github搜注释copilot自动补全,但是一定要完整看完一遍逻辑。二 实践阶段通读整个ass,了解整体脉络,要做什么分配任务,确认输入输出接口...原创 2022-02-10 22:40:14 · 836 阅读 · 0 评论 -
comp1521-虚拟内存
0 理解虚拟内存0.1 RAM中运行一个进程0.2 RAM只能运行一个进程,部分RAM作为内核空间,可运行操作系统,只有特权模式下能访问kernel space0.2 RAM运行多个进程 + 操作系统如果多个进程驻留在RAM中,O/S可以快速地在它们之间交换执行。属于其他进程的RAM &内核必须受到保护,也就是说用户进程和内核进程的地址,只有自己能访问,其他进程无法访问。硬件支持可以限制进程访问RAM的特定段(区域)但是!程序可以加载在RAM中的任何地方来运行,也就是说,上一次指令加原创 2021-11-20 20:54:33 · 489 阅读 · 0 评论 -
操作系统实验-简单文件系统实现(仿照Midnight Commander)
文章目录3.12 Linux文件属主和属组3 硬链接3.2 File format3.3 Midnight Commander文件系统 (VSFS),它本质上是一个大型文本文件,脚本管理这个文件!对于文档,您将反映如何在您的代码中实现某些添加,例如文件阻塞、FS 压缩、FS 碎片整理(不这样做)。 为了获得更高的分数,您将实施其中的一些3.1ls =lR-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。-R –recursive 同时列出所有子目录层-a 隐藏文件原创 2021-10-24 21:16:35 · 691 阅读 · 0 评论 -
SOFT3410 - 使用C语言实现页面排序算法
0 内容简介仔细阅读这个pdf文档。1 页面迭代算法如何去衡量一个页面的分数呢,主要是判断其他页面是否有这个页面的超链接。对于第p + 1次迭代u页面的分数,假设v页面是链接了这个u页面的页面,那么,v页面p次的分数是v的重要性程度,并且v页面如果链接的页面越多,这个权重越不值钱。如果P+ 1次的权重向量,相比p次,几乎没改变。那么就不再进行迭代。2 并发整个排序方法的算法很好理解,关键在于如何实现这个算法呢?在什么地方可以做多线程呢?2 测试以及输出...原创 2021-10-09 20:13:06 · 162 阅读 · 0 评论 -
操作系统(九)文件系统
文章目录1 文件1.1 文件属性1.2 系统调用2 目录和磁盘结构2.1 术语2.2 目录inode3 文件系统3.1 on-disk structure3.2 in-memory structures4 文件在磁盘中的分配方法4.1 连续contiguous4.2 链接法4.3索引法1 文件1.1 文件属性文件控制块中会储存这些信息,文件控制块类似于结构体。1.2 系统调用作为程序员,不是使用鼠标键盘去操作文件,而是在代码里操作。可提供的操作有:读,写,读下一个,写下一个,等等。此处需要代码结原创 2021-10-09 16:34:49 · 178 阅读 · 0 评论 -
操作系统(杂)内存区域
图片来源每个进程的虚拟地址空间都是从 0 地址开始的,我们在程序中打印的变量地址也其在虚拟地址空间中的地址,程序是无法直接访问物理内存的。虚拟地址空间中用户区地址范围是 0~3G,里边分为多个区块:保留区: 位于虚拟地址空间的最底部,未赋予物理地址。任何对它的引用都是非法的,程序中的空指针(NULL)指向的就是这块内存地址。.text段: 代码段也称正文段或文本段,通常用于存放程序的执行代码 (即 CPU 执行的机器指令),代码段一般情况下是只读的,这是对执行代码的一种保护机制。.data段: 数原创 2021-09-30 09:12:24 · 229 阅读 · 0 评论 -
操作系统(九)主存和虚拟内存
文章目录1 主存保护2 地址绑定(需要深入继续理解)3 逻辑地址和物理地址4 Swapping5 contiguous memory allocation5.1 external fragmentation5.2 internal fragmentation6 分页(Paging)7 页表结构(Hierarchical Paging)8 虚拟内存1 主存保护2 地址绑定(需要深入继续理解)程序地址和程序操作的数据地址需要绑定在一起,以方便程序运行的时候找到数据。3 逻辑地址和物理地址逻辑地址是cp原创 2021-09-18 22:03:34 · 439 阅读 · 0 评论 -
操作系统(八)死锁
文章目录1 什么是死锁2 资源分配图3 死锁处理方法4 死锁的4个必要条件死锁防止prevent避免死锁tutorial1 什么是死锁进程之间互相等待资源的释放。2 资源分配图3 死锁处理方法4 死锁的4个必要条件死锁防止prevent在代码运行前,防止产生死锁的四个必要条件。分别针对4个条件论述:避免死锁在代码运行时,检测是否存在死锁等待的环,如果存在则进行处理。tutorial...原创 2021-08-29 17:52:51 · 140 阅读 · 0 评论 -
SOFT3410-软件开发中的并发性
Some Linux concepts you will need• In addition to ssh, scp, editing (such as vim, nano), compiling,moving files, /tmp file system……• Understanding PATH• Setting environment variables in general, e.g.,LD_LIBRARY_PATH• Writing shell scripts• Shell st.原创 2021-08-27 17:50:58 · 287 阅读 · 0 评论 -
操作系统(七)合作线程同步----未完待续,有点难理解。所以要结合代码继续理解。
文章目录0 前言1 背景multiprogrammingrace condition竞争条件同步The critical section problem2 概念3 tutorial4 lab0 前言协同的进程可以影响或被系统中执行的其他进程所影响。协作进程可以直接共享逻辑地址空间(即代码和数据),也可以只允许通过文件或消息共享数据。前一种情况是通过使用线程实现的,本系列文章之前讨论过。但是,对共享数据的并发访问可能会导致数据不一致。在本章中,我们将讨论各种机制,以确保共享逻辑地址空间的协作进程有序执行原创 2021-08-19 12:48:59 · 185 阅读 · 0 评论 -
操作系统(六)实验
任务简介有5个涉及到多线程的问题,选其2进行解决。选择用 C 或 C++ 来实现。但是,低级操作系统调用必须用普通的C语言。学习成果多线程的debug同步,线程调度,抢占非抢占式调度算法注意事项不允许使用占用cpu的等待操作。应该使用condition variable,当满足某种操作的时候再去睡眠或者苏醒和其他线程通信。在操作添加元素到数组,加锁等操作时,对每一步都输出当前的操作信息。程序干了什么尽量线程间分享尽量少的内容。避免出现死锁或者竞争条件随机数的随机种子,保证是固定的生原创 2021-08-16 08:36:39 · 274 阅读 · 0 评论 -
操作系统(五)CPU进程和线程调度
文章目录简介概念算法tutoriallabpthread数量和任务分析exit(EXIT_SUCCESS);和pthread_exit(NULL)open mp简介在Linux上,进程和线程是一个概念。进程就是内核级的线程。进程调度和线程调度经常互换使用概念算法tutoriallabpthread数量和任务分析运行代码的命令:$ gcc -o pt thread-1.c -pthread -Wallc代码:#include <pthread.h>#include &l原创 2021-08-15 23:52:08 · 1729 阅读 · 1 评论 -
操作系统(四)线程
线程是cpu执行的最小单位,包括线程ID,程序计数器,寄存器集和栈。和其他同属于一个进程的其他线程共享操作系统资源:代码区,数据区打开文件和信号。学习之后的目的 :描述操作系统如何管理计算资源(如CPU和内存),描述现代操作系统设计中使用的基本原则。解释现代操作系统的目标和功能,解释内存层次结构和性价比,解释现代操作系统的操作、实现和性能,以及每种操作系统对于复杂用户应用程序的相对优点和适用性。比较和对比操作系统中用于抢占式和非抢占式任务调度的常用算法,如优先级、性能比较和公平共享方案。原创 2021-08-14 11:37:27 · 179 阅读 · 0 评论 -
操作系统(三)进程
进程和线程的区别是老八股文了。这里要好好学习。文章目录1 进程综述1.1 历史变化的角度1.1.1 进程1.1.2 线程1.1.3 协程1.2 三者区别1.3 多线程与多进程1.4 进程2 进程2.1 概念2.2 内存中的进程2.3 进程控制块(PCB process control block)2.4 进程状态2.6 CPU进程切换1 进程综述1.1 历史变化的角度1.1.1 进程我之前是做单片机的嘛,所以从我的经历来说。一开始是程序员直接录入裸机程序跑,那时候你的程序在cpu上需要直接跟周围I原创 2021-07-28 23:10:29 · 300 阅读 · 1 评论 -
操作系统(二)操作系统功能概览
文章目录1 CPU与I/O的交互2 中断角度理解操作系统2.1 处理中断2.2 中断时间线2.3 储存结构2.4 内核模式和用户模式2.5 操作系统服务2.5.1 提供给用户的功能2.5.2 系统自身使用的功能2.5.3 系统调用2.5.4 系统调用追踪1 CPU与I/O的交互I / O设备和CPU可以同时执行每个设备控制器负责特定的设备类型每个设备控制器都有一个本地缓冲区CPU将数据从/到主内存移动到本地缓冲区I / O就是从设备到控制器的线路设备控制器通知CPU已完成其操作导致中断原创 2021-07-28 21:07:28 · 256 阅读 · 0 评论 -
操作系统(一) BIOS/MBR 启动过程
无论是什么计算机或操作系统,标准(“IBM 兼容”)台式 PC 和笔记本电脑都使用以下两种方式之一开机和启动:传统的 BIOS-MBR 方法和较新的 UEFI-GPT 方法。本文总结了传统 BIOS PC 加载操作系统的过程,涵盖了 BIOS、MBR 和引导扇区的基础知识和细节。文章目录1 BIOS/MBR 启动过程概述2 启动过程的四大组成部分2.1 BIOS2.1.1 POST 过程2.1.2 BIOS 启动切换2.2 启动设备/启动盘/驱动器 02.3 主引导记录 (MBR/The Master B原创 2021-07-28 19:49:34 · 7588 阅读 · 1 评论