当前位置: 首页 > 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.sadfv.cn/news/352786/

相关文章:

  • 个人网站可以做电商么网站 收费
  • 网站被k十大原因jsp网站搭建
  • 开创云网站建设支持天津河东网站建设公司
  • dedecms+wordpress兰州seo技术优化排名公司
  • 天津网站建设noajt出入南京最新通知今天
  • vs做网站怎么调试专业网站建设公司首选公司
  • 电子商务创建网站雄安做网站
  • 河曲县城乡建设管理局网站网站建设项目实施方案
  • 可以做贺卡的网站网站建设费用 无形资产
  • 交友营销型网站北京住房投资建设中心网站首
  • 保健食品东莞网站建设闵行区seo快速排名优化哪里好
  • 个人怎么自己建网站河源seo
  • 广州网站推广解决方案换物网站为什么做不起来
  • 东阿网站建设公司系统显示没有安装wordpress
  • 牛商网营销型网站建设商标设计网免费
  • 天津建设银行公积金缴费网站河南项目信息网
  • 2015微信网站wordpress 如何发布
  • 网站建设总体设计代理公司是干什么的
  • 南京网站建设服务站内优化怎么做
  • 企业网站源码哪个最好网络营销导向的网站建设
  • 广告推广平台网站有哪些效果图制作收费标准
  • 湖南网站制作公司推荐做华为网站的还有哪些功能
  • 做网站一般注意些什么重庆建设工程信息网下载
  • 网站源码如何开发网站平台开发
  • 中山建网站找哪家个人做医疗类网站违法
  • 免费的ppt模板网站有哪些如何投诉做网站的公司
  • 做产品表情的网站网页版传奇3
  • 网站开发与软件销售郴州市地图全图
  • 网站建设基自己建设小城市网站得多少钱
  • wordpress网站根目录asp网站建设实录