用花生壳做网站速度可以吗/搜索词分析
本Lab包括两个简单系统调用的实现,进一步熟悉系统调用接口。
笔者用时约1.5h
概述
根据文档说明,当我们添加一个系统调用时,比如第一个任务是添加一个trace
,需要进行以下操作:
- 首先将系统调用的原型添加到user/user.h中,比如
trace
函数接收一个参数作为掩码,其函数原型如下图所示。
- 然后添加一个存根到user/usys.pl中,如下图所示。
- 将系统调用编号添加到kernel/syscall.h中,如下图所示。
- 在kernel/sysproc.c中添加相关的系统调用函数即可,如
sys_trace
函数,实现对应的功能即可。
Tracing
该部分需要我们实现一个系统调用追踪功能,需要一个参数mask进行系统调用掩码设置(每一位表示是否追踪该编号的系统调用,比如第1位为1,则表示想要追踪系统调用编号为1的系统调用,即fork
,系统调用编号定义在syscall.h文件中),跟踪所设置的系统调用,输出进程编号、系统调用名称和返回值等信息。
按照概述中的描述添加好必要的变量之后与函数声明之后,需要实现kernel/sysproc.c中的sys_trace
函数。
首先,需要获取用户空间中的参数mask
,参考kernel/sysproc.c中其他函数的实现(比如sys_exit
函数),不难看出使用argint
函数即可获取整形参数。
获取到参数之后,需要在进程状态结构体中(定义在kernel/proc.c中)多维护一个字段,即当前的追踪掩码,并修改fork
函数(定义在kernel/proc.c中)使得子进程也继承这个掩码。
最后,在syscall
函数(定义在kernel/syscall.c中)即将返回时,根据掩码判断当前系统调用的编号是否被追踪,如果被追踪则输出相关信息即可(需要添加一个系统调用名称数组方便输出)。
Sysinfo
这一部分需要我们实现一个能够收集系统活跃进程数nproc(state
字段不为UNUSED
的进程数)和系统剩余内存空间字节数freemem的系统调用。
同样按照概述所说在各个文件中添加信息,然后开始实现sys_sysinfo
函数。
首先,利用预先定义好的结构体sysinfo
(定义在kernel/sysinfo.h中)获取空闲内存量和进程数。
获取空闲内存量需要在kernel/kalloc.c中添加一个函数,通过将结构体指针作为参数,访问其中定义的kmem
结构体中维护的一个链表(链表中每一个节点都表示4096个字节的空间),并计算空闲内存,赋值给结构体指针指向的freemem
进行空闲内存量的返回。
获取进程数需要在kernel/proc.c中添加一个函数,也是通过将结构体指针作为参数,遍历系统中维护的进程数组,计算活跃进程数并赋值给指针指向的nproc
进行返回即可。
相关文章:
![](https://img-blog.csdnimg.cn/3671f33af700400f84ee4f07e50c0a50.jpeg#pic_center)
【MIT 6.S081】Lab2: system calls
本Lab包括两个简单系统调用的实现,进一步熟悉系统调用接口。 笔者用时约1.5h 概述 根据文档说明,当我们添加一个系统调用时,比如第一个任务是添加一个trace,需要进行以下操作: 首先将系统调用的原型添加到user/user…...
![](https://img-blog.csdnimg.cn/58895fb8778548e7943d7fd232271f1e.png)
设计模式之单例模式~
设计模式包含很多,但与面试相关的设计模式是单例模式,单例模式的写法有好几种,我们主要学习这三种—饿汉式单例,懒汉式单例、登记式单例,这篇文章我们主要学习饿汉式单例 单例模式: 满足要点: 私有构造 …...
![](https://www.ngui.cc/images/no-images.jpg)
top终端详解
1.top命令行使用 2.top每行意义 3.补充 1.top命令行使用 top命令是一个常用的Linux系统命令,用于实时查看系统的运行状态和进程信息。下面是top命令的几个常用参数的含义: -d seconds:设置top命令的更新间隔时间,单位是秒。默认是…...
![](https://www.ngui.cc/images/no-images.jpg)
解决一个偶现的503 bug,花了俺不少时间
概述 在3月2日晚上,大概8点左右,本想打道回府,回家休息,突然被人在bug群了一下,说是管理后台,访问不了,界面上出现了: 503 service temporarily unavailable我赶紧尝试访问了一下,确…...
![](https://img-blog.csdnimg.cn/2a0ba495792e40108efae6fe0beaa81f.png)
什么是栈,如何实现?
欢迎来到 Claffic 的博客 💞💞💞 “但有一枝堪比玉,何须九畹始征兰?” 前言: 栈是一种特殊的线性表,就像开盖的桶一样,从底部开始放数据,从顶部开始取数据,那么栈具体是…...
![](https://img-blog.csdnimg.cn/img_convert/0a8d4fff4fa9f17d45aff27ad5110fca.png)
在我的MacBook上捣鼓ESP8266
周三是我们的篮球日,打篮球后总是会有些兴奋,然后就容易睡不着,额,睡不着就拿我的ESP8266开发板出来捣鼓一下。先下载编译工具链https://github.com/espressif/ESP8266_RTOS_SDK下载sdkgit clone https://github.com/espressif/ES…...
![](https://img-blog.csdnimg.cn/28e2cb7789d04c369c2105c6eaac8e2b.png)
【深度强化学习】(8) iPPO 模型解析,附Pytorch完整代码
大家好,今天和各位分享一下多智能体深度强化学习算法 ippo,并基于 gym 环境完成一个小案例。完整代码可以从我的 GitHub 中获得:https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Model 1. 算法原理 多智能体的情形相比于单智…...
![](https://img-blog.csdnimg.cn/img_convert/bdf5645c07a54a40978c744f26f0954a.png)
77.qt qml-QianWindow-V1版本界面讲解
上章介绍: 76.qt qml-QianWindow开源炫酷界面框架简介(支持白色暗黑渐变自定义控件均以适配) 界面如下所示: 代码结构如下所示:...
![](https://img-blog.csdnimg.cn/e6256d5f46be4da1af6e375f49ffa073.png)
RHCE学习日记二
1、在 node1 主机上配置 chrony 时间服务器,将该主机作为时间服务器。 命令: vim /etc/chrony.conf 在文件位置添加命令: #Use public servers from the pool.ntp.org project. #Please consider joining the pool (https://www.pool.ntp.org…...
![](https://img-blog.csdnimg.cn/95af9c9e3af943229c9c6717b442e6ef.jpg)
Dubbo原理简介
Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 作为RPC:支持各种传输协议,如dubbo,hession,json,fastjson,底层采用mina,netty长连接…...
![](https://img-blog.csdnimg.cn/66ecd4a39daf424cb3cd8be71379dc81.png)
JavaSE基础总结
JDK与JRE JDK,全称Java Development Kit,Java开发工具包 JRE,全称Java Runntime Environment,Java运行环境 JDK包含后者JRE。 JDK也可以说是Java SDK(Software Development kit,软件开发工具包)…...
![](https://img-blog.csdnimg.cn/6636fb128ac4429b9bb39f26ad93c6c8.png)
5G(NR)信道带宽和发射带宽---频率资源
前言 查看此文之前建议先看看这篇 5G(NR)频率资源划分_nr运营商频段划分_达帮主的博客-CSDN博客NR频率有上面几个划分 ,可以使用低于1GHz的频端,既可以使用高于30GHz高频端。使用频端高于30GHz那我们称之为高频或者毫米波。使用毫米波是5G网络区别于4G…...
![](https://www.ngui.cc/images/no-images.jpg)
基于Spring Boot的酒店管理系统
文章目录 项目介绍主要功能截图:登录首页房间类型酒店预约部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot的酒店管理系统…...
![](https://img-blog.csdnimg.cn/img_convert/dcbbd82848704fbddaf7afa29b075941.jpeg)
Ae:混合模式
Ae 中内置了 Ps 的渲染引擎,同样可在多处应用混合模式 Blending Mode。与 Ps 相比,除了两组图层通道相关的特定模式,其它的混合模式几乎是一模一样。相关快捷键:下一图层混合模式:Shift 上一图层混合模式:…...
![](https://www.ngui.cc/images/no-images.jpg)
JS中的变量
系列文章目录 前端系列文章——传送门 JavaScript系列文章——传送门 文章目录系列文章目录前言1、概念2、定义变量3、变量名的规则4、变量本质5、赋值6、常用操作前言 相对于青龙面板来说,变量就是你填入青龙的cookie,简称ck 在实际项目中࿰…...
![](https://img-blog.csdnimg.cn/12e5b0e10a98483cbe7eaede3ded2e3e.png)
Hadoop运行模块
二、Hadoop运行模式 1)Hadoop官方网站:http://hadoop.apache.org 2)Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。 本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。伪分…...
![](https://img-blog.csdnimg.cn/img_convert/b37d821094c886d846d49ce47fae78c4.png)
Web自动化——前端基础知识(二)
1. Web前端开发三要素 web前端开发三要素 什么是HTMl? Html是超文本标记语言,是用来描述网页的一种标记语言HTML是一种标签规则的形式将内容呈现在浏览器中可以以任意编辑器创建,其文件扩展名为.html或.htm保存即可 什么是CSS?…...
![](https://img-blog.csdnimg.cn/img_convert/7f5439b8b98d3fc755ea7e1f7c4c5ebb.png)
NAS系列 硬件组装
转自我的博客文章https://blognas.hwb0307.com/nas/3260,内容更新仅在个人博客可见。欢迎关注! 前言 之前我在《NAS系列 硬件选择》里讲述了自己为了升级NAS如何选配硬件。本节我大概说一些我的新NAS硬件组装的注意事项。到目前为止,我只装过…...
![](https://img-blog.csdnimg.cn/dca077aa1d634ece9c5ea48cd7a1eb10.png)
IDAFrida
IDA&Frida 前言 偶然间发现了一本秘籍《IDA脚本开发之旅》,这是白龙的系列文章,主要是安卓平台,笔者只是根据他的知识点学习,拓展,可以会稍微提及别的平台。本文并不会贴出他的思路分析,只对于源码进…...
![](https://img-blog.csdnimg.cn/img_convert/3489523c2b964e29a87043367f01f83a.png)
通过百度文心一言大模型作画尝鲜,感受国产ChatGPT的“狂飙”
3月16日下午,百度于北京总部召开新闻发布会,主题围绕新一代大语言模型、生成式AI产品文心一言。百度创始人、董事长兼首席执行官李彦宏,百度首席技术官王海峰出席,并展示了文心一言在文学创作、商业文案创作、数理推算、中文理解、…...
![](https://img-blog.csdnimg.cn/5741467461134d9e8dfe123fac91ccde.png)
Nacos 注册中心 - 健康检查机制源码
目录 1. 健康检查介绍 2. 客户端健康检查 2.1 临时实例的健康检查 2.2 永久实例的健康检查 3. 服务端健康检查 3.1 临时实例的健康检查 3.2 永久实例服务端健康检查 1. 健康检查介绍 当一个服务实例注册到 Nacos 中后,其他服务就可以从 Nacos 中查询出该服务…...
![](https://img-blog.csdnimg.cn/e57f72c19ffe464289d8c29c3e4d4d60.png)
Transformer在计算机视觉中的应用-VIT、TNT模型
上期介绍了Transformer的结构、特点和作用等方面的知识,回头看下来这一模型并不难,依旧是传统机器翻译模型中常见的seq2seq网络,里面加入了注意力机制,QKV矩阵的运算使得计算并行。 当然,最大的重点不是矩阵运算&…...
![](https://img-blog.csdnimg.cn/0b841b04dff84a30ac6db5c09ea390f0.png)
快速入门Zookeeper技术.黑马教程
快速入门Zookeeper技术.黑马教程一、初识 Zookeeper二、ZooKeeper 安装与配置三、ZooKeeper 命令操作1.Zookeeper 数据模型2.Zookeeper 服务端常用命令3.Zookeeper 客户端常用命令四、ZooKeeper JavaAPI 操作五、ZooKeeper JavaAPI 操作1.Curator 介绍2.Curator API 常用操作2.…...
![](https://www.ngui.cc/images/no-images.jpg)
网易C++实习一面
说下C11新特性 auto有没有效率上的问题?为什么?发生在什么时候? 说下单例模式 什么时候需要加锁,什么时候不需要加锁? 像printf这样的函数,自己本身不修改数据,但是其他人会修改数据&#x…...
![](https://img-blog.csdnimg.cn/c52b519517764fcd8ea7bf8e1cbbfdce.png)
进程和线程的区别和联系
进程和线程的区别和联系1. 认识线程2. 进程和线程的关系3. 进程和线程的区别4. 线程共享了进程哪些资源1. 上下文切换2. 线程共享了进程哪些资源1.代码区2. 数据区3. 堆区1. 认识线程 线程是进程的一个实体,它被包含在进程中,一个进程至少包含一个线程,一个进程也可以包含多个…...
![](https://img-blog.csdnimg.cn/31f55f68178e446db74e14e6251201f0.png)
Java学习笔记——集合
目录集合与数组的对比集合体系结构Collection——常见成员方法Collection——迭代器基本使用Collection——迭代器原理分析Collection——迭代器删除方法增强for——基本格式增强for——注意点Collection——练习集合与数组的对比 package top.xxxx.www.CollectionDemo;import …...
![](https://img-blog.csdnimg.cn/086c226f69474d9fb0222e6a619621dc.png)
差分运放公式推导-运算放大器
不知道大家有没遇到这种情况,在计算电路的时候,有时候会突然的忘记一些公式啊啥的,需要回去翻看笔记或者查资料,知其然而不知其所以然。今天跟大家一起来一起推导一遍差分运放的计算过程。 计算过程其实归根结底还是根据运放的虚…...
![](https://www.ngui.cc/images/no-images.jpg)
金丹二层 —— 字符串长度求解的四种方法
前言: 1.CSDN由于我的排版不怎么好看,我的有道云笔记比较美观,请移步有道云笔记 2.修炼必备 1)入门必备:VS2019社区版,下载地址:Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本 (m…...
![](https://img-blog.csdnimg.cn/6142baf0afea4da49d09e774bd44f2ae.png)
深入剖析Linux——进程信号
致前行的人: 要努力,但不着急,繁花锦簇,硕果累累都需要过程! 目录 1.信号概念 1.1生活角度的信号 2. 技术应用角度的信号 3.Linux操作系统中查看信号 4.常用信号发送 4.1通过键盘发送信号 4.2调用系统函数发送信号 4.3…...
![](https://img-blog.csdnimg.cn/45d0261bdce0448da04cfbfaef09a98a.png)
API-Server的监听器Controller的List分页失效
前言 最近做项目,还是K8S的插件监听器(理论上插件都是通过API-server通信),官方的不同写法居然都能出现争议,争议点就是对API-Server的请求的耗时,说是会影响API-Server。实际上通过源码分析两着有差别&am…...
建站快车的使用方法/互联网推广是做什么的
tcp数据包格式: TCP是传输层的协议,它的数据包格式如下: 1、源端口号 2、目标端口 3、seq 用于表示这个数据包携带的数据是这个数据流哪个位置的数据,用于数据排序 4、ack 接受方向发送方确认已经收到的数据 5、跟ip头部的4位首部…...
![](/images/no-images.jpg)
二建转注辽宁建设主管部门网站/重庆店铺整站优化
图片发自简书App图片发自简书App开始以为是网络请求这里解析的问题,一直在那里纠结,后面发现是我跳转到sb时没有弄上面那里,所以导致的找到的结果值和label 对不上,指针乱指 转载于:https://…...
![](https://img-blog.csdnimg.cn/img_convert/a9e2c764b11005fe68a31f9a32b67b67.png)
网站快速排名的方法/seo新手教程
龙海带式压滤机厂 xis2yt龙海带式压滤机厂 厢式压滤机是一种连续工作的脱水装置,结构简单,操作方便。如果负载是串联的,泵的工作压力是这些负载压力之和;如果负载是并联的,则泵的工作压力决定于并联负载中比较小的负载…...
![](/images/no-images.jpg)
怎么在网站上做360全景图片/seo搜索引擎优化到底是什么
1. 关系代词的省略(即that which之类的) 条件:首先限制定语从句(即没有逗号的) 先行词在从句中作宾语成分 两个条件缺一不可,先行词中作主语成分是不可以的。(这就是形容词短语作定语后置和定…...
![](http://hi.csdn.net/attachment/201202/14/0_1329224159UORg.gif)
兰州做网站公司有哪些/收录优美图片app
Java中数据类型可分为两大类:引用类型(reference)和基本类型(primitive)。 1)基本类型 基本类型有8种:boolean、char、byte、short、int、long、float、double。它们都有相应的包装类…...
![](https://img-blog.csdnimg.cn/img_convert/10a2fb4b6d0f65381c1bbaa3d721594c.png)
做网站看/seo好找工作吗
声明:本系列大多是翻译自https://www.javatpoint.com,加上自己的增删改,尽力写的系统而通俗易懂,后文不再重复声明。Java多线程系列更新中~正式篇:番外篇(神TM番外篇):Java的多线程是一个同时执行多个线程的…...