当前位置: 首页 > news >正文

华夏集团网站建设广州网站建设策划

华夏集团网站建设,广州网站建设策划,中国企业信息公示系统,艺术字体在线生成器毛笔字(2021) 18 [代码讲解] 可执行文件 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p18 讲义#xff1a;http://jyywiki.cn/OS/2021/slides/C8.slides#/ 背景 回顾 程序 状态机 状态机执行 状态机上的路径状…(2021) 18 [代码讲解] 可执行文件 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频https://www.bilibili.com/video/BV1HN41197Ko?p18 讲义http://jyywiki.cn/OS/2021/slides/C8.slides#/ 背景 回顾 程序 状态机 状态机执行 状态机上的路径状态机管理API fork - 复制execve - 重置exit - 终止 状态机 可执行文件 一直以来 “最神秘” 的一种文件双击即可打开这时为什么 本次课的内容与目标 理解静态链接的可执行文件 可执行文件的加载xv6加载器 可执行文件的加载 小知识可执行文件 不等同于 ELF文件 考虑脚本文件它也是可执行文件 #!/bin/bash -x echo Hello#!/usr/bin/env python3 print(Hello)#!./a.out为什么是/usr/bin/env 因为 #! 需要绝对路径 (背后是 execve) Shebang 究竟发生了什么 不妨 strace 一下 可以参考笔者的这篇博客Linux中的二进制可执行文件和脚本可执行文件及Shebang。 进程ELF初始化 虚假的进程ELF初始化 execve(path, argc, envp)重置一个状态机为它传入参数argv和envp概念好理解但究竟什么叫 传入 我们知道程序状态机的状态无非就是保存在寄存器或者内存中MG传入参数肯定是传到了内存的某个地方但究竟是哪里呢 一定要能静下心来读手册多尝试去静下心来去手册很快就能适应它了。 RTFM [System V ABI (x86-64)][http://jyywiki.cn/pages/OS/manuals/sysv-abi.pdf] Section 3.4: Process Initialization 之前用 gdb 调试过 “初始状态” 看到了寄存器的初始值 手册完整规定了 execve 后的进程状态 libc 会使用它 根据 ABI你可以开发自己的 libc Gitlab repo 挑战不使用 execve 加载 ELF 理论上把可执行文件 (ELF) 指定的数据搬运到内存就可以实现二进制文件的加载。 试一试loader.zip: 加载静态链接的 ELF (glibc) execve 本质上是 “多余” 的只要我们能按照手册把可执行文件中的内容正确地搬运到内存中就可以替换掉execve。 可以用 mmap/munmap 一小段 trampoline code 实现这个系统调用可以被库函数 (和其他系统调用) “模拟” 模拟系统调用1互相模拟互相伤害 既然完全可以 “自己加载” 可执行文件。我们也可以在一个操作系统里实现另一个操作系统的 API 啊只要能够在本系统内模拟另一个系统的系统调用就行。指令面前系统平等 (Linux, Windows, …)。 WSL (Windows Subsystem for Linux) Windows 执行 ELF64; 在 Windows 中实现 Linux 系统调用 Wine (POSIX Subsystem for Windows ) 支持 Windows PE (Portable Executable) 格式实现 Windows API (Overview) 模拟系统调用2把系统调用挪到用户空间 操作系统可以只提供一组最基本的硬件层的抽象如mmap。其他的全都交给应用程序。 “微内核” (Microkernel) 操作系统只提供非常有限的 API 和权限管理 进程/线程创建和通信内存映射设备寄存器 其他都实现在用户程序 例如内核里没有文件系统想打开文件发消息给服务器吧 “外核” (Exokernel) 操作系统 库函数一个硬件上可以跑多个 libOS 灌鸡汤《操作系统》这门课究竟学什么 相比知识点本身获得知识的方法和对系统的掌控力更重要。 本课程想要带给大家的 状态机视角 程序 状态机操作系统 状态机的虚拟化 机器永远是对的 只要按照 spec 实现就绝对能 work 地址空间里的每一个地址都有解释 (vdso, vvar, …)CPU: 指令实现对了仙剑就能跑、操作系统就能跑System-V ABI: 实现对了不用 execve 也可以加载可执行文件 xv6 加载器 TODO 总结 本次课内容与目标 理解静态链接的可执行文件 可执行文件的加载xv6 加载器 Take-away messages RTFM; RTFSC纸面上的理解都是片面的
http://www.yutouwan.com/news/352786/

相关文章:

  • 辽宁品质网站建设价格实惠黄骅贴吧二手房买卖
  • soso搜搜网站收录提交入口加盟网站建设公司
  • 张掖北京网站建设横向网站源码
  • 网站数据怎么会丢失建设单位经常去哪个网站
  • 怒江北京网站建设模板网站建设价位
  • 静态中英文网站怎么做兼职网站编辑
  • 培训网站建设公司如何在百度上搜到网站
  • 参考文献网站开发wordpress改密码
  • 优秀国外网站设计赏析宁波网站推广建站
  • 网站备案方案制作公司网页可以用网上图片吗
  • 网站建设 公司 天津如何用ad做网站
  • 浙江嘉兴网站建设网页特效大全
  • jq做6个网站做什么好wordpress网站速度优化
  • 网站二维码怎么做的在网上做广告怎么做
  • 医保局网站建设网站建设分金手指排名十八
  • 银川网站建设有哪些网站开发答辩演讲
  • 商业网点建设开发中心网站西双版纳网站建设公司
  • 郑州网站建设模板制作网上商城推广方案
  • 网站降权投诉哪儿能做网站建设
  • 青岛商城网站建设设计怎么做app推广代理
  • 网站知识邢台提供网站设计公司哪家专业
  • 做门户网站挣钱吗工业品企业网站源码
  • 网站开发的背景和意义全面的客户管理系统
  • 怎样自己搭建一个做影视的网站校园网站建设宣传
  • 网站建设毕业设计开题报告制作企业网站作业网页模板
  • php网站开发 知乎网站虚拟主机是什么
  • 国外做电商网站有哪些方面自己做发卡网站支付接口
  • 讯美网站建设管理咨询和战略咨询
  • 如何做淘宝优惠券网站一级造价师准考证打印时间
  • 深圳做针织衫服装的网站装修网站制作