操作系统系列学习——操作系统之“树”

文章目录

  • 前言
  • 操作系统之“树”


前言

一个本硕双非的小菜鸡,备战24年秋招,计划学习操作系统并完成6.0S81,加油!
本文总结自B站【哈工大】操作系统 李治军(全32讲)
老师课程讲的非常好,感谢
【哈工大】操作系统 李治军(全32讲)

操作系统之“树”

CPU管理和内存管理就是操作系统的kernel,

CPU管理核心是进程管理,进程管理核心是多进程切换
在这里插入图片描述

管理使用CPU,将pc置一下初值,就可以取值执行cpu运转起来

执行一会就要等待一段时间,这样的话cpu利用率就没有上升上来。 并行执行,切到其他任务,形成多个程序切换的样子

用什么方式切换:跳转,用栈来做。

在执行的时候发现没有顺利的切回来,跳到别人那里,一个栈是混乱的,采用两个栈

则yield的时候要完成切换两个栈:找到下一个TCB,找到新的栈,切到新的栈(用户多个执行序列之间切换可行,但只能在用户态)

进入内核无法切,指令切换就是栈的切换,到了内核还应有栈,就是从用户栈到内核栈再到tcb,tcb进行切换,然后内核栈切换再用户栈切换

实现循环打印AB:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/741021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqllab第五关通关笔记

知识点: 报错注入函数语法(详见第二关笔记)报错注入打印位数最多32位对于大于32位的数据最好使用截取函数进行控制;以保证输出完整mysql表中的重点数据库 information_schema (mysql 5.0以上) schemata …

每日一题 — 长度最小的子数组

LCR 008. 长度最小的子数组 - 力扣(LeetCode) 思路: 首先在暴力枚举的方法下,我们可以进行优化,让right不用从头开始,只需让left移动,进行判断。然后就是变成了同向双指针,也就是滑…

责任链模式-C#实现

责任链模式指的是——某个请求需要多个对象进行处理,从而避免请求的发送者和接收之间的耦合关系。 将这些对象连成一条链子,并沿着这条链子传递该请求,直到有对象处理它为止。 主要涉及两个角色: 抽象处理者角色(Hand…

【测试开发学习历程】Linux用户管理+文件权限管理

目录 一、用户管理 (一)用户和用户组的基本概念 1.概念 2.设置原因 3.用户与用户组的关系 4.用户类型 (二)用户的创建、修改属性和删除用户 1.用户信息文件 2.创建用户 3.修改用户密码 4.修改用户信息 5.用户查询 6.…

MAMP Pro 站点404 Nginx 配置

MAMP Pro 站点配置 if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s/$1 last;break; }

第十四届蓝桥杯C++B组编程题题目以及题解

a.冶炼金属&#xff08;二分&#xff09; 思路&#xff1a; 设任意一条冶炼记录投入金属数量为a,产出金属为b. 对于每一条冶炼记录我们都可以得到 一个转换率V的范围&#xff1a; b<a/v<b1即a/b< v <a/(b1) 为什么是b1呢&#xff1f;因为既然能产出b个金属&#xf…

实现的一个网页版的简易表白墙

实现的一个网页版的表白墙 实现效果 代码截图 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…

【Java】初级篇:基本语法

一、变量与运算符 标识符命名规则 由26个英文字母大小写、0-9、_或$组成&#xff1b;不可以以数字开头&#xff1b;不能单用关键字和保留字&#xff1b;区分大小写&#xff1b;不包含空格。 【包名&#xff1a;所有字母小写|类名、接口名&#xff1a;多单词组成时所有字母首字…

1.6数组

一.序言 数组是一组类型相同类型元素的集合&#xff0c;数组的定长的&#xff08;数组的长度一旦被定义&#xff0c;长度不可改变&#xff09;。 数组在内存当中是一块连续的空间&#xff0c;可以保存相同类型的多个元素。 二.一维数组 2.1.数组的创建 int arr1[10]; …

Android的UI渲染机制(一)

应用程序与Surface的关系&#xff0c;从应用程序的Activity开始&#xff0c;一路追踪到ViewRoot、WindowManager Service。 SurfaceFlinger则主要负责视图的显示&#xff0c;其管理多个surface进行图像合成。WindowManager Service由System_Server进程启动&#xff0c;SurfaceF…

IDEA 设置信息及插件同步配置

所需插件&#xff1a; 第一步&#xff1a;打开登录界面&#xff0c;进行登录 第二步&#xff1a;再次点击

Go——运算符,变量和常量,基本类型

一.运算符 Go语言内置的运算符有&#xff1a; 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 1.1 算术运算符 注意&#xff1a;(自增)和--(自减)在go语言中是单独的语句&#xff0c;并不是运算符。 1.2 关系运算符 1.3 逻辑运算符 1.4 位运算符 位运算符对整数在内存…

【Linux】Linux小结

LVS、Nginx、HAproxy的区别 LVS、Nginx和HAproxy都是常见的负载均衡器&#xff0c;用于将网络负载分散到多个服务器上&#xff0c;以提高系统的可用性和性能 功能不同&#xff1a; LVS是一个Linux内核模块&#xff0c;在网络层&#xff08;第四层&#xff09;运行的。 Nginx和…

基于springboot+vue实现药品信息管理系统项目【项目源码+论文说明】计算机毕业设计

基于springbootvue实现药品信息管理系统演示 摘要 本文介绍了一种基于SpringBoot的药品信息管理系统的设计与实现。该系统旨在提高药品管理的效率和准确性&#xff0c;包括药品信息的录入、修改、查询和删除、药品入库、出库等功能。该系统采用了SpringBoot框架、MySQL数据库、…

[GPU]2.编译.cu文件

在编译.cu文件的时候&#xff0c;需要先确定自己已经安装了CUDA&#xff0c;并将其配置到系统环境中。 当然这个的前提是——你的显卡得是nvida的&#xff0c;你才能安装这个工具 如果你完成了这些的话&#xff0c;编译.cu文件就比较容易了&#xff0c;比如这个文件&#xff…

金三银四,求职攻略:解锁面试密码,赢在职场起跑线

春风拂面&#xff0c;金三银四的求职季如期而至。 你是否已经准备好在这场求职大战中脱颖而出&#xff0c;斩获心仪的职位&#xff1f;是不是还在为如何准备一份吸引人的简历而犯愁&#xff1f;是不是担心自己在面试中紧张失言&#xff0c;错失良机&#xff1f;是不是对如何了…

从入门到入魔,100个Python实战项目练习(附答案)!

大家好&#xff0c;我是彭涛。 之前给大家整理的资料&#xff0c;都是理论性的&#xff0c;虽然每一个知识点都给出了对应的示例代码&#xff0c;但是好多人还是感觉有一点点杂乱&#xff0c;如果有系统的实战项目练习就好了。 所以&#xff0c;应大家的需求&#xff0c;我们为…

HarmonyOS应用开发-Stage模型开发概述

基本概念 UI框架 HarmonyOS提供了一套UI开发框架&#xff0c;即方舟开发框架&#xff08;ArkUI框架&#xff09;。提供了应用UI开发所必需的能力&#xff1a;多种组件、布局计算、动画能力、UI交互、绘制。 方舟开发框架针对开发者提供了两种开发范式&#xff1a; 基于ArkTS…

【yolov8和yolov5】用命令快速着手训练

文章目录 1.yolov81.1.创建conda环境1.2.下载代码和环境1.3.YOLOv8训练、自测和预测的代码及解释1.3.1. YOLOv8 训练代码&#xff1a;1.3.2.yolov8 自测代码&#xff1a;1.3.3.yolov8 推理代码&#xff1a;1.3.4.注意&#xff1a; 2.yolov52.1.创建conda环境2.2.下载代码和环境…

简单聊一聊项目中用反射来做过啥【Java基础题】

1.什么是反射机制 反射允许(在运行时动态地)对封装类的字段、方法、构造函数的信息进行编程访问 在我们的代码中&#xff0c;使用构造器直接生成对象、直接访问对象、对象的成员等方式&#xff0c;是清晰直观的。但在有些场景中&#xff0c;需要在运行时动态地操作这些成员&…