首页 > 其他分享 >CSAPP 第一章 笔记

CSAPP 第一章 笔记

时间:2023-10-23 13:45:32浏览次数:32  
标签:复制到 CSAPP 主存 笔记 第一章 硬件 线程 进程 hello

硬件组成

  • 总线
  • I/O设备
    键盘,鼠标,显示器,磁盘...
  • 主存
  • 处理器(CPU)
    • 寄存器

hello程序的生命周期

  1. 源文件hello.c
    • 文本文件:位序列
    • 字节:8个位为一组
    • ASCII码
  2. 可执行目标文件
    • Unix:通过编译器驱动程序完成
    • 编译系统
      1. 预处理器
        ‘#’,hello.i
      2. 编译器
        ‘main’,hello.s
      3. 汇编器
        翻译成机器语言指令,打包成可重定位目标程序hello.o
      4. 链接器
        ‘printf’,得到可执行文件hello,存放在磁盘中
  3. 运行hello程序
    1. 键入./hello回车,文件从磁盘复制到主存(DMA技术)

    2. 开始执行程序中的机器语言指令,将字符串从主存复制到寄存器,再复制到显示设备

高速缓存(不懂)

操作系统管理硬件

  • 功能

    1. 防止滥用硬件
    2. 提供简单一致的机制来控制多种硬件
  • 进程

    • 并发运行:多个进程指令交错执行
    • 上下文:跟踪进程运行所需的状态信息
    • 内核:管理全部进程所用代码和数据的集合
  • 线程

    • 一个进程可以由多个线程组成
    • 每个线程运行在进程的上下文中
  • 虚拟内存

  • 网络
    通过系统连接

  • 重要主题

    • 性能提升
    • 并发和并行
    • 抽象的重要性

标签:复制到,CSAPP,主存,笔记,第一章,硬件,线程,进程,hello
From: https://www.cnblogs.com/dddon/p/17782143.html

相关文章

  • 笔记:Qt开发之多线程同步互斥机制
    目标:了解Qt多线程开发中常用的同步互斥类,使用场景和特点 实现线程互斥和同步常用的类互斥锁:QMute、QMutexLocker条件变量:QWaitCondition信号量:QSemaphore读写锁:QReadLocker、QWriteLocker、QReadWriteLock 1,QMutex特点:QMutex是Qt框架提供的互斥锁类,用于保护共享资......
  • 第三周阅读笔记|人月神话————为什么巴比伦塔会失败
    巴比伦塔的管理教训巴比伦塔是人类继诺亚方舟之后的第二大工程壮举,但巴比伦塔同时也是第一个彻底失败的工程。现在,其实也是这样的情况。因为左手不知道右手在做什么,所以进度灾难、功能的不合理和系统缺陷纷纷出现。随着工作的进行,许多小组慢慢地修改自己程序的功能、规模和速度,他......
  • ServerLess学习笔记-Fnproject搭建
    ServerLess学习笔记-搭建FnProject介绍官方文档:https://fnproject.io/tutorials/Fn是一个事件驱动的开源功能即服务FaaS计算平台,您可以在任何地方运行,它的一些主要特点开源原生Docker:使用任何Docker容器作为你的函数支持所有语言随处运行公有云、私有云和混合云......
  • ServerLess学习笔记-搭建FN示例
    ServerLess学习笔记-搭建FnProject示例初始化函数目录#初始化fn_demo1[root@VM-24-9-centosserverless]#fninit--runtimepythonfn_demo1Creatingfunctionat:./fn_demo1UnabletogetlatestFDKversion,usingdefaultFunctionboilerplategenerated.func.yam......
  • ServerLess学习笔记-Fnproject常用命令
    ServerLess学习笔记-FnProject常用命令启动/停止#启动fnstart#停止fnstop创建[root@VM-24-9-centosserverless]#fncreateMANAGEMENTCOMMANDfncreate-CreateanewobjectUSAGEfn[globaloptions]create[command......
  • Programming abstractions in C阅读笔记:p181-p183
    《ProgrammingAbstractionsInC》学习第61天,p181-p183总结。一、技术总结1.linearsearchalgorithm2.lexicographicorder(字典顺序)3.binarysearchalgorithm(二分查找算法)/**1.二分查找也应用了递归的思想。*2.这里的代码只是demo*/#include<stdio.h>#incl......
  • 《代码大全》阅读笔记
    1把不太理解的东西和一些较为理解的且十分类似的东西做比较,对这个不太了解的东西产生更深刻的理解叫做建模。2模型不可能一下子就覆盖的很全面,会经过一系列的转变,往更好更全面的模型发展。3简单的模型有简单的用处,模型的选择与设计需根据实际情况来。4增量的、迭代的、自适应的......
  • 阅读笔记 1: 重构的基本概念
    第一章引言部分强调了重构的重要性和它在软件开发中的角色。作者马丁·福勒首先介绍了代码坏味道(codesmells)的概念,这些是代码中的不良迹象,可能导致未来的问题。作者指出,即使代码能正常运行,但它仍然可能有坏味道,这是因为代码的结构不佳、可读性差或难以维护。这是一个非常关键的洞......
  • 笔记1022
    Qt学习笔记(二十五):QSpinBox和QDoubleSpinBox的常用方法_ui->spinbox->value-CSDN博客  ......
  • 学习笔记六
    知识点归纳多任务处理在单处理器系统中,一次只能执行一个任务。多任务处理是通过在不同任务之间多路复用CPU的执行时间来实现的。它是所有操作系统的基础。逻辑并行性称为“并发”;进程进程是对映像的执行。多任务处理系统(MT)组成部分:type.h文件:定义了系统常数和表示进......