自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 【chipyard-image简单测试】

此时已经进入容器内部,可以执行bash命令操控容器。使用刚才生成的可执行程序运行hello程序。运行成功可以发现当前目录下多了一个名为。执行成功,前缀会发生变化。

2023-10-30 16:19:54 120 1

原创 【chipyard安装教程】

在上一步,运行build-setup.sh脚本时,会在chipyard目录下,生成init-submodules-no-riscv-tools.log文件。运行该脚本时,还会运行init-submodules-no-riscv-tools.sh 和 build-toolchain-extra.sh 两个脚本。运行完成后,通过命令conda env list,将会有一个chipyard相关的环境:$CHIPYARD_DIRECTORY/.conda-env。关闭终端,重新打开后,会生效。

2023-10-29 13:58:58 553 1

原创 高级软件工程——课程总结

为了应对软件危机,首先想到的是通过简化和抽象的方法“就事论事”地处理软件本身的问题,从而诞生了结构化程序设计、面向对象分析和设计、模块化方法、设计模式、软件架构等一系列技术。这些技术确实在一定程度上缓解了软件危机的表现,这些技术本质上都是通过对软件本身的抽象来有效管控软件的复杂性。但在大型复杂软件系统中,这些技术依然力有不逮。

2023-07-03 15:41:44 764 1

原创 高级软件工程作业4:从需求分析到软件设计

本文中,我们首先通过对VS Code Remote Development进行需求分析,得到了其中比较重要的一个需求——远程连接,接下来对远程连接这一过程进行深入分析,得到了其工作流程。最后通过逆向工程,根据已有的ssh连接过程得到了在设计本文中提到的远程连接所需要的步骤和技术。本次作业使我更加深入理解了一个用例是如何从需求分析中得到并一步一步实现其设计的,并且学会如何通过逆向工程来完善一个设计。ssh工作流程(工作原理)作者:518。

2023-05-30 00:56:49 214 1

原创 Linux操作系统分析——课程总结报告

CPU 的虚拟化在实现上可以分为全虚拟化、半虚拟化和硬件辅助虚拟化。虚拟机技术主要包括 CPU 的虚拟化、内存的虚拟化和 I/O 的虚拟化,典型的虚拟机实现有传统的 QEMU 虚拟机实现和轻量化的 StratoVirt 虚拟机实现。若未出现故障,加电自检完成。系统初始化完成后,init给出用户登录提示符(login)或者图形化登录界面,用户输入用户和密码登陆后,系统会为用户分配一个用户ID(uid)和组ID(gid),这两个ID是用户的身份标识,用于检测用户运行程序时的身份验证。具体的过程在另一篇博客。

2023-05-14 23:33:02 320

原创 Linux操作系统分析Lab5:深入理解进程切换

Linux 是一个多任务操作系统,它能支持远大于 CPU 数量的任务同时运行。但实际上同一时刻只会有 CPU 数量的进程在运行,等 CPU 时间片到了之后,进程调度器就会把 CPU 资源分配给其他进程。在这个过程中就会涉及到进程之间的切换,这时候就需要将当前进程的上下文信息保存下来,随后加载被调度进程的上下文信息,这就是上下文切换。这里所说的上下文信息,既包括虚拟内存、栈、全局变量等用户态的资源,也包括内核堆栈、寄存器等内核态的资源。本文以arm64和x86为例,分析Linux内核中进程切换的具体操作。

2023-04-25 18:36:23 475

原创 高级软件工程作业3:深入理解Callback函数

在本实验中,利用callback函数参数使Linktable的查询接口更加通用,有效地提高了接口的通用性。另外,本次实验代码在多处使用了强制类型转换的操作,隐藏了接口内部的细节,使得接口更加通用(如InitMenuData和SearConditon函数等)。C 语言回调函数详解作者:518。

2023-04-02 18:28:22 159

原创 Linux操作系统分析Lab4:以time/gettimeofday系统调用为例分析ARM64 Linux 5.4.34

这次实验以gettimeofday为例分析了arm64系统调用背后发生的过程,了解了arm64架构下系统调用是怎么保存现场,处理、执行系统调用和返回系统调用的,与课堂上所学知识结合起来,加深了我对arm64系统调用的理解系统调用实现原理armv8/arm64 中断/系统调用流程作者:518。

2023-03-30 18:13:39 293

原创 Linux操作系统分析Lab3:基于VSCode的Linux内核调试环境搭建及start_kernel跟踪分析

此时执行start_kernel()函数的是0号进程,当它来到最后一条命令arch_call_rest_init()时,这个函数又调用了另一个函数rest_init(),rest_init()函数创建kernel_init进程也就是1号进程 和 kthreadd进程也就是2号进程,并执行1号进程和2号进程的处理函数。当kernel_thread(kernel_init)成功返回后,就会调用kernel_init函数,其实这时候1号进程已经产生了,接下来进入kernel_init函数,看看它做了什么。

2023-03-23 20:10:25 409

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除