csapp第一章 --- 计算机系统漫游

news2024/9/28 9:33:45

重要内容大纲

1.1 C程序实现过程

一个由用户编写的“hello world”源代码到可以在屏幕上看见可执行文件经过一下过程:

C语言翻译的阶段介绍

1.预处理cpp:头文件展开、宏定义替换

将 .c 文件(源程序)变成 .i 文件(修改过的源程序)

2.编译阶段ccl:源代码变成汇编语言

将 .i 文件变成 .s 文件

3.汇编阶段as:汇编语言转机器语言

将 .s 文件变成 .o 文件(可重定位目标程序) 

简单说,可重定位目标程序就是看不见源代码的,链接以后能运行起来的程序。所以可重定位就是复制到其他地方,让其他的用户链接可执行但是不能看源代码的玩意

4.链接阶段ld:机器语言的文件“打包合并”变成可执行文件

1.2 高速缓存cache

1.访问速度越快的设备越贵

2.内存越大的设备访问速度越慢

目前的CPU中的寄存器跟内存的速度天壤之别,为了使得计算机快速高效,在之间加入了高速缓存以达到访问速度加快的目的。

 

1.3操作系统的抽象决策

 应用程序不与硬件直接交互,中间有一层操作系统对下管理操作,对上反馈目的。那么对下的管理则尤为重要,为了使得在不同的硬件上都可以执行,固操作系统对硬件进行抽象,使他们被方便管理。

1.4重要主题

1.4.1 Amdahl原理

原理解释:优化一个东西,其效果取决于优化的部分对整体的重要程度和优化效率

S:整体的效率提升

k:可优化部分的优化效率

\alpha:可优化部分对整体的占比

1.4.2 计算机优化决策 -- 并行与并发

1)线程级并发(针对进程而言)

多核:多个CPU干事情

超线程:一个CPU干几件事情

多核 * 超线程

2)指令级并发(针对处理器)

一个处理器的流水线执行处理,优化时间

3)单指令、多数据并行(针对指令)

多用于处理视频和图像

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文搞懂如何在 React 中使用 防抖(Debounce)和 节流(Throttle)

在前端的日常开发中,经常会使用到两个函数防抖(Debounce)和节流(Throttle),防抖函数可以有效控制在一段时间内只执行最后一次请求,例如搜索框输入时,只在输入完成后才进行请求接口。…

linux环境下打包c++的Qt应用程序装载vtk和itk

文章目录一、QT安装安装前准备1.1 方法一 源码编译安装(实践缺少xcb依赖):1.2 方法二 run文件安装:二、迁移windows下qt应用到linux三、VTK安装3.1 安装ccmake 和 VTK 的依赖项3.2 linux下VTK库下载安装四、QT应用基础上引入VTK依赖五、ITK安装六、QT应用…

sikuli+eclipse对于安卓app自动化测试的应用

Sikuli是什么? 下面是来自于官网的介绍:Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an …

入门Java第十五天 线程

一、多线程 1.1进程和线程 进程:进程就是操作系统中运行的每一个应用程序。例如:微信,QQ 线程:线程是进程中的每一个任务。 多线程:在一个进程中,可以同时执行多个线程。同时完成多个任务。 并发&#x…

投票的链接怎么做出来的网上那些投票链接怎么做的网上投票器

用户在使用微信投票的时候,需要功能齐全,又快捷方便的投票小程序。而“活动星投票”这款软件使用非常的方便,用户可以随时使用手机微信小程序获得线上投票服务,很多用户都很喜欢“活动星投票”这款软件。“活动星投票”小程序在使…

【踩坑记录】使用OpenCV报错“ undefined symbol: TIFFReadRGBATileExt, version LIBTIFF_4.0”

问题描述 例如:使用OpenCV报错,找不到相关动态库: ImportError: /lib/libgdal.so.26: undefined symbol: TIFFReadRGBATileExt, version LIBTIFF_4.0解决方案: 运行前,先执行或者在./bashrc (根目录下ctr…

【图像分类】卷积神经网络之ZFNet网络模型结构详解

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 1. 前言 由于AlexNet的提出,大型卷积网络开始变得流行起来,但是人们对于网络究竟为什么能表现的这么好,以及怎…

Python编写GUI界面案例:实现免费下载器

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 本次网站: 本文所有模块\环境\源码\教程皆可点击文章下方名片获取此处跳转 开发环境: python 3.8 运行代码 pycharm 2022.3 辅助敲代码 模块使用: import parsel >>> pip install parsel…

从0开始学python -41

Python3 命名空间和作用域 命名空间 先看看官方文档的一段话: A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries。 命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是…

蓝牙耳机适合跑步戴吗,五款适合跑步蓝牙耳机推荐

音乐是坚持运动下去的不懈动力,在运动当中佩戴蓝牙耳机,能够让我们远离枯燥无味,运动更有律动感,运动更为畅快。运动当中佩戴的蓝牙耳机,佩戴舒适度以及牢固度是我们十分需要注意的,下面这几款比较热门的运…

IP-GUARD控制台账户输入多次错误密码锁定后该如何解锁?

其他管理员账户给锁定了,暂时只能等其锁定时间到了才可以再次输入,默认是设置是锁定30min; 1、如果急需此账户查看,可以使用admin系统管理员账户登录控制台,在工具-账户中清除这个账户的密码,重新登录设置密码。

idea远程调试线上jar包

有时候本地代码没问题但在线上运行会报错,这时候可以使用idea的remote功能调试线上jar包 步骤1 步骤2:新建remote 步骤3:配置服务器ip和端口 并复制生成的JVM参数供之后使用 步骤4:打jar包,并将生成的jar包放到服务…

想招到实干派程序员?你需要这种面试法

技术招聘中最痛的点其实是不精准。技术面试官或CTO们常常会向我们吐槽: “我经常在想,能不能把我们项目中的代码打印出来,作为候选人的面试题的一部分?” “能不能把一个Bug带上环境,让候选人来试试怎么解决&#xf…

电信网上用户资管理系统的设计与实现

技术:Java、JSP等摘要:在对目前市面上已经拥有的营业厅功能分析和整理后,为了保证营业厅中多种功能的分层次处理设计了一个的电信网上用户自管理系统,以web页面方式实现了与用户的交互,同时保证了移动电话计费管理系统…

数据结构期末复习总结(后章)

作者的话 作为一名计算机类的学生,我深知数据结构的重要性。在期末复习前,我希望通过这篇博客给大家一些复习建议。希望能帮助大家夯实数据结构的基础知识,并能够更好地掌握数据结构和算法的应用。 一、树与二叉树 1.基本概念 结点的度&am…

Google的中国用户注意!黑客正利用搜索结果投放恶意软件

2月16日研究人员发现,Google搜索结果中含有冒充知名软件的恶意软件下载链接。 研究人员通过测试后表示,攻击者为了增加浏览量,甚至通过在Google搜索结果中购买误导性广告,诱骗受害者下载安装恶意程序。 据悉,这些被冒…

【JavaSE】集合(Collection类)

文章目录1.集合框架1.1 collection1.2 map2. collection2.1.集合迭代2.2.contains和remove2.3集合中元素的删除3.List4.ArrayList5.LinkList6.Vector7.泛型7.1泛型初步7.2自动类型推断机制7.3 自定义泛型8.增强for循环9.Set9.1HashSet9.2 TreeSet1.集合框架 1.1 collection 1.…

4G模块DTU网关远程抄表方案(二):DL645/698协议国网电表

4G模块DTU网关远程抄表方案(二):DL645/698协议国网电表 1 DL 645协议简介 DL645协议是一种用于智能电能表的远程抄读通讯标准。制定该标准是为统一和规范多功能电能表与数据终端设备进行数据交换时的物理连接和通信链路及应用技术规范。DL645协议可用于远程监测电力传输和使用…

【2223sW1】LOG2

写在前面 好好学习,走出宿舍,走向毕设! 一些心路历程记录,很少有代码出现 因为鬼知道哪条代码到时候变成毕设的一部分了咧,还是不要给自己的查重挖坑罢了 23.2.22 今儿收获挺多,所以就把上一个LOG给发了…

戴尔dell inspiron-5598电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。硬件型号驱动情况主板X99 K9 v2 Machinist处理器i5-10210U / *i7-10510U已驱动内存20GB已驱动硬盘1000GB SAMSUNG 860 QVO SATA已驱动显卡Intel UHD 620已驱动声卡Realtek ALC3204/236已驱动网卡RTL8168H Gigabit Ethernet已…