• <码农翻身>读书笔记


    码农翻身–笔记

    前情提要

    吃完饭,看到有本书,在书架上,就拿起来看了一会,最近刚好在学组成原理,顺便放松下。然后随便及了一些笔记,分享。
    
    • 1

    我是一个键盘

    总线和端口
    给每个设备编号,就是I/O端口。
    cpu和内存商量,将io端口和内存映射,称为内存映射I/O.
    
    • 1
    • 2
    中断和中断控制器
    轮询消耗cpu,只有当某个io完成,通过中断请求线发送指令通知cpu,此时cpu会执行中断处理程序。
    
    • 1
    DMA
    中断方式对小数据量传输有效,但是大数据量搬运,陷入程序时IO陷阱。
    DMA专用处理器,占用总线。
    
    • 1
    • 2

    数据库

    行锁
    原子性问题
    事务
    
    • 1

    socket

    ip层,将数据分组,从一台主机搬运到另一台主机,不可靠。
    tcp,失败重传,累计确认,滑动窗口,流量控制。
    
    • 1
    • 2
    socket
    不能使用进程号,因为进程是动态的,
    端口号就像一扇门,服务器端进程在门后监听,等待客户端连接。
    TCP是两个进程之间的通信。
    
    新创建的listenfd指向一种数据结构,
    listenfd  客户端ip  客户端port  服务器端ip  服务器端port
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    CPU和内存

    关注寄存器和运算器
    运算器不能直接操作内存进行运算,必须使用内部的数据格子。
    
    • 1
    • 2

    指令和cpu

    cpu从内存中获取指令,进行译码。
    内存的数据从硬盘中获取,写好的程序在硬盘中,运行时被调入内存。
    
    • 1
    • 2

    翻译家族

    机器语言
    汇编语言
    高级语言
    词法分析:砍掉空格,变成一个个片段。建立一张符号表。
    
    语法分析:将生成的token 生成一棵树。语法树的表达式是递归定义。
    
    语义分析:标识符类型,作用域是否正确,运算是否合法,取值范围。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    编程世界的那把锁

  • 相关阅读:
    Mybatis-Plus知识点总结(下)
    缓存一致性(cache coherency)解决方案:MESI 协议状态转换详解
    ECharts数据可视化项目【6】
    操作系统:系统调用
    力扣 1413. 逐步求和得到正数的最小值
    django-rest-framework 基础二 序列化器和路由
    C# 背景与前景
    【Spring Boot】Spring Boot 的常用注解
    1. 获取数据-requests.get()
    【活动通知】2023 Elastic Meetup 北京站将于12月2日下午1点30在北京召开
  • 原文地址:https://blog.csdn.net/qq_42938698/article/details/128137016