潘樾阳
码龄8年
求更新 关注
提问 私信
  • 博客:29,538
    29,538
    总访问量
  • 17
    原创
  • 13
    粉丝
  • 9
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:瑞士
加入CSDN时间: 2018-12-02
博客简介:

PanJason的博客

博客描述:
Do not go gentle into that good night.
查看详细资料
个人成就
  • 获得18次点赞
  • 内容获得1次评论
  • 获得61次收藏
  • 博客总排名1,102,551名
创作历程
  • 1篇
    2021年
  • 16篇
    2020年
成就勋章
TA的专栏
  • 编译原理
    1篇
  • 操作系统
    11篇
  • 高性能计算
    4篇
  • 计算机网络
    1篇
  • 计量经济学

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 1

TA参与的活动 0

兴趣领域 设置
  • 大数据
    mysql
  • 后端
    架构
  • 服务器
    linux
创作活动更多

「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令

谁说嵌入式只会“Ctrl+C 调包”和“拿电烙铁焊板子”?2026嵌入式全栈技术征锋令正式启幕! 本次活动专为硬核硬件/软件开发者打造,无论你是刚玩转裸机外设的萌新,还是精通RTOS调度、死磕底层驱动的行业老手,亦或是执掌系统架构的大神,这里都是你证明实力的舞台! 拒绝表面功夫,每一行代码,都有撬动硬件的力量!晒出你的硬核工程实战,为嵌入式开发者的全栈硬实力正名!

212人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

编译原理——SysY编译器实践报告

Jason Compiler编译器概述 基本功能 实现将C语言自己SysY分别转换成两种中间表示Eeyore和Tigger,以及最终的Risc-V指令。 使用如下命令生成Eeyore中间表示: ./main -S -e test.sy -o test.S 使用如下命令生成Tigger中间表示: ./main -S -t tigger.sy -o test.S 使用如下命令生成Risc-V指令 ./main -S test.sy -o test.S Jason Compiler 的特点 使用了通用工具
原创
博文更新于 2021.06.18 ·
7889 阅读 ·
5 点赞 ·
0 评论 ·
43 收藏

JOS Lab5 File system, Spawn and Shell

实验环境 Hardware: Memory: 16G Processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz × 6 OS Type: 64 bit Disk: 512GB Software OS: Ubuntu 18.04 LTS(x86_64) GCC: gcc 7.5.0 #gcc -v Make: GNU Make 4.1 #make
原创
博文更新于 2021.01.04 ·
691 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JOS lab4 Preemptive Multitasking Part B

Part B: Copy-on-Write Fork 在dummyfork中,fork把父进程页上的所有数据拷贝到子进程上。这是fork()中代价最高的部分。 然而很多情况下,子进程中的fork()后面都跟随了exec()。这会把之前复制过来的内存用一个新的程序代替,这样复制过来的内存只有很少一部分会被用到,于是复制的时间实际上就被浪费掉了。 因此后来的Unix利用了虚拟内存硬件,允许父进程和子进程共享映射到他们各自地址空间的物理内存,直到某个进程修改了它。这个技术叫做写时复制。为了实现它,kernel会把
原创
博文更新于 2021.01.04 ·
339 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

JOS lab4 Preemptive Multitasking Part A

实验环境 Hardware: Memory: 16G Processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz × 6 OS Type: 64 bit Disk: 512GB Software OS: Ubuntu 18.04 LTS(x86_64) GCC: gcc 7.5.0 #gcc -v Make: GNU Make 4.1 #make
原创
博文更新于 2021.01.04 ·
388 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JOS Lab3 User Environment Part B

Part B: Page Faults, Breakpoints Exceptions, and System Calls 现在kernel已经有了基本的异常处理能力,我们将继续完善它的功能. 处理Page Fault Exercise 5 要求修改trap_dispatch()函数,把page fault错误派发给page_fault_handler()处理,这个处理函数现在还没有完成,只是一个入口。 这个Exercise比较简单: static void trap_dispatch(struct Tra
原创
博文更新于 2021.01.03 ·
374 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

JOS Lab3 User Environment Part A

忙完了前一段时间的超算比赛和网络lab,总算有时间在lab3 ddl前一周不到一点的时候开始写lab3了。尽量还是和之前一样,写一个关于lab3解答的详细文档。其中除了解答之外,还有相关知识的说明。 实验环境 Hardware: Memory: 16G Processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz × 6 OS Type: 64 bit Disk: 512GB Software OS:
原创
博文更新于 2021.01.03 ·
462 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JOS Lab2 Memory Management Part 3 & challenge

Part 3: Kernel Address Space
原创
博文更新于 2021.01.03 ·
394 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JOS Lab2 Memory Management Part 1 & 2

这个lab主要包括两部分: 为kernel写一个物理内存分配器 写一个虚拟内存 准备工作:
原创
博文更新于 2021.01.03 ·
572 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

使用nvprof时的权限问题: ERR_NVGPUCTRPERM

问题描述: 在准备ASC20-21,运行QuEST的时候,希望使用nvprof进行性能分析,但是遇到了如下错误: ==20812== Warning: ERR_NVGPUCTRPERM - The user does not have permission to profile on the target device. See the following link for instructions to enable permissions and get more information: https:
原创
博文更新于 2020.12.30 ·
2330 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

JOS lab4 Preemptive Multitasking Part C

Part C: Preemptive Multitasking and Inter-Process communication (IPC) 这最后一个部分需要修改内核来抢占那些不配合的环境,并且允许进程之间显式地传递消息。 时钟中断和抢占 user/spin测试程序fork出一个子进程,子进程获得CPU控制之后执行一个死循环。父进程和kernel都不能重新获得CPU了。这从保护操作系统免受用户态环境的bug和恶意代码来看明显不是一个理想情况,因为任何的用户态环境都可以轻松地让系统停滞。为了让kernel可以
原创
博文更新于 2020.12.06 ·
431 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

如何给powershell配置代理

原因 在参加SC20比赛之前,需要先熟悉CycleCloud的相关概念和配置方法。相关概念已经在前一篇博文中大致翻译过了,具体不清楚的还可以去看Azure CycleCloud的文档。现在重点关注如何配置。由于CycleCloud的web GUI提供的功能是有限的,更多功能的实现需要通过命令行工具CycleCloud CLI完成。然而比赛提供的CycleCloud URL需要代理才能访问,在使用CLI之前又必须完成CycleCloud账户的配置,因此这使我需要为powershell配置代理。 方法 用管理员
原创
博文更新于 2020.10.30 ·
7654 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

Cyclecloud介绍以及使用指南

Azure CycleCloud CycleCloud简介 CycleCLoud是在Azure平台上管理高性能计算环境的一套企业级友好的工具。它面向的对象是希望在高性能计算的环境中使用某一个特定调度器的管理员和用户。CycleCloud抽象出了基本的Azure组件,包括VM,scaleset,网络接口和磁盘。这使得高性能计算的管理员可以关注熟悉的情况:一个由节点和可配置的调度器组成的高性能计算集群。 CycleCloud在它支持的调度器之上部署了自动规模控制插件,这让用户无需实现复杂的自动规模控制函数和例程
原创
博文更新于 2020.10.30 ·
3917 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Computer Network: Link Layer Techniques

Occupying the pit
原创
博文更新于 2020.10.18 ·
450 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

HPL & HPCG benchmark test

本文章将记录多机和单机运行HPL和HPCG时碰到的问题,以及关于Linux使用的一些命令。 首先我想看一下这个文件是什么时候更新的,可以使用stat命令: stat:文件/文件系统的详细信息显示; 使用格式:stat 文件名 stat命令主要用于显示文件或文件系统的详细信息,该命令的语法格式如下: -f  不显示文件本身的信息,显示文件所在文件系统的信息 -L  显示符号链接 -t  简洁模式,只显示摘要信息 touch命令可以手动更新stat命令展示的Access和Modify。 touch -d 200
原创
博文更新于 2020.10.17 ·
2429 阅读 ·
2 点赞 ·
1 评论 ·
12 收藏

JOS lab1 booting a PC part 3

Part 3: Kernel 这部分自然是读kernel并写一些代码。 Using virtual memory to work around position dependence 一般来说操作系统内核都会被链接并运行在最高的虚地址空间,将较低的虚地址空间留给用户程序使用。就像在之前的例子中VMA=0xf0100000,而LMA=0x00100000. 显然不存在0xf0100000对应的物理地址,因此实际上是将该虚拟地址映射到0x00100000对应的物理地址,即BIOS上方的物理地址。下一个lab将把
原创
博文更新于 2020.10.06 ·
360 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JOS lab1 booting a PC part 1 & 2

实验环境 Hardware: Memory: 16G Processor: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz × 6 OS Type: 64 bit Disk: 512GB Software OS: Ubuntu 18.04 LTS(x86_64) GCC: gcc 7.5.0 #Run gcc -v Make: GNU Make 4.1 #
原创
博文更新于 2020.10.05 ·
538 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

JOS lab前置工具安装和解释

首先为了验证我的工具链,测试我的分发,需要运行以下命令: objdump -i objdump命令是用来显示关于目标文件的各种信息或者目标可执行文件构成的gcc工具。其中单纯使用-i选项可以可用的架构和目标结构列表。 输出结果中需要包含 elf32-i386 ELF(Executable and Linkable Format)意思是可执行可链接文件。我们需要对32位i386平台的支持。 然后运行以下命令: gcc -m32 -print-libgcc-file-name 如果输出/usr/lib/
原创
博文更新于 2020.10.04 ·
321 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多