• 【读书笔记】计算机是如何跑起来的


     

    记录一下书中每章我认为的要点。

    0x00 前言

    作者在前言阐述了一个道理,计算机基础知识的牢固是深入学习和兴趣来源的所在。

    划分一个知识范围-》基础中的基础的知识-》设定目标,这些知识可以做什么

    第一章 计算机的三大原则

    计算机的三个根本性基础

    1、 计算机是执行输入、运算、输出的机器

    2、 程序是指令和数据的集合

    3、 计算机的处理方式有时与人们的思维习惯不同

     

    计算机进化的目的是与人类更加贴近,更加贴近人的行为和思维方式。

    第二章 试着制造一台计算机吧

    制作微型计算机,主要介绍了原件的基本知识,连接方式以及功能。

    学习用的演示机配置由Z80 CPU,TC5517,Z80PIO,74367,7404,时钟发生器组成。

     

     

    第三章 体验一次手工汇编

    不同CPU有不同的二进制解释方法

    时钟信号向CPU发送反复变换的电信号,一个变换是一个时钟周期

    每个地址都标示一个内存中的数据存储单元,而这些地址所构成的范围就是内存的地址空间

    汇编语言是二进制的“助记符“

    汇编语言由标签(内存地址),操作码(指令),操作数(指令执行的对象)组成

    操作数:CPU的寄存器,内存地址,I/O地址或者直接给出数字

     

    HALT 停止CPU运转

    Z80 CPU指令种类

    1、 运算指令

    2、 内存与CPU之间的输入输出指令

    3、 I/O与CPU之间的输入输出指令

    4、 程序流程控制指令

    A寄存器,累加器,运算核心

    F寄存器,标志寄存器,存储运算结果的状态(例如是否发生了进位,数字大小的比较结果等)

    PC寄存器,程序指针,存储着指向CPU接下来要执行的指令地址,程序依靠不断改变的PC寄存器->时钟信号运行

    SP寄存器,栈顶指针,用于创建出称为栈的临时数据存储区域

    第四章 程序像河水一样流动着

    介绍的程序的运行,程序看简单从顺序执行,条件分支,循环拆分程序。

    介绍如何画流程图

    初始化处理-》循环处理-》收尾处理

    两种特殊的程序流程——中断处理和事件驱动

     

    第五章 与算法成为好朋友的七个要点

    算法:被明确定义的有限个规则的集合,用于根据有限的步骤解决问题。

    要点 1:算法中解决问题的步骤是明确且有限的

    要点 2:计算机不靠直觉而是机械地解决问题

    辗转相除法

    埃拉托斯特尼筛法

    鸡兔同笼问题

    线性搜索

    算法哨兵的理论

    第六章 与数据结构成为好朋友的七个要点

    栈中数据的存取形式是LIFO(后进先出);队列中数据的存取形式是FIFO(先进先出)

    名称

    数据结构的特征

    把数据像小山一样堆积起来

    队列

    把数据排成一队

    链表

    可以任意的改变数据的排列顺序

    二叉树

    把数据分为两路排列

    栈和队列的数据结构

    栈:数组、栈顶指针、入栈函数、出栈函数

    队列:数组、存储索引、读取索引、存储函数、读取函数

    链表:应用于大量数据的处理

    二叉树:提高搜索数据的速度

     7个要点:变量、数组、栈、队列、结构体、自我引用的结构体、列表、二叉树

    第七章 成为会使用面向对象编程的程序员吧

    面向对象,把变量和函数放到类里,有很多类内置于编程语言中,程序的整体是由不同类组合起来的。

    观点1:面向对象编程通过把组件拼装到一起构建程序

    观点2:面向对象编程能够提升程序的开发效率和可维护性

    观点3:面向对象编程是适用于大型程序的开发方法

    观点4:面向对象编程就是在为现实世界建模

    观点5:面向对象编程可以借助UML设计程序

    观点6:面向对象编程通过在对象间传递消息驱动程序

    观点7:在面向对象编程中使用继承、封装、多态

    继承:通过继承已存在的类所拥有的成员而生成新的类。

    封装:在类所拥有的成员中,隐藏掉那些没有必要展现给该类调用者的成员。

    多态:针对同一种消息,不同的对象可以进行不同的操作。

    类和对象的区别

    类是对象的定义,而对象是类的实例。

    类是做饼干的模具,而用这个模具做出来的饼干就是对象。

     

    框架(Framework)通过隐藏操作系统的复杂性从而提升开发效率的程序集。

    第八章  一用就会的数据库

    简单介绍了dbms的基本概念和操作

    事务控制

    1、 BEGIN TRANSACTION(开启事务)语句,用于通知DBMS开启事务

    2、 COMMIT(提交事务)语句,用于通知DBMS提交事务。

    3、 ROLL BACK(事务回滚)语句,用于在事务发生问题时。

    第九章  通过七个简单的实验理解TCP/IP网络

    带冲突检测的载波监听多路访问CSMA/CD (小规模LAN)

    载波监听:指监听网络中是否有正在使用的电信号

    多路复用:多个设备可以同时访问传输介质

    带冲突检测:表示这套机制会去检测因同一时刻的传输而导致的电信号冲突

    MAC-ipconfig /all

    TCP/IP-ipconfig

    DHCP

    路由-tracert,route print

    DNS-nslookup

    ARP-arp -a       (IP-MAC转换)

     

    第十章  试着加密数据吧

    加密与解密(位移加密法,对称加密,公私钥加密)

    数字签名:包含两点,发送者承认文件的内容是完整有效的,文件确实是由发送者本人发送的。

    第十一章  XML究竟是什么

    XML是标记语言

    HTML超文本标记语言

    第十二章   SE负责监管计算机系统的构建

    瀑布模型

    文档、审核、设计方法

    信息化

    设备利用率

     

  • 相关阅读:
    linux 彻底删除文件及 find命令permission refused问题解决
    ubuntu系统中dpkg lock问题分析及解决
    ubuntu server18.04 更换默认源为阿里源-加速
    docker安装与卸载( liunx )
    ubuntu下dpkg lock问题
    docker pull报x509问题及docker启动失败问题解决
    windows 常用命令行操作
    uwsgi运行django应用是报错no app loaded. going in full dynamic mode
    internal server error原因及解决
    docker-compose启动容器后执行脚本或命令不退出 | 运行内部程序
  • 原文地址:https://www.cnblogs.com/zhaijiahui/p/7625715.html
Copyright © 2020-2023  润新知