计算机基础

一、为什么学习计算机基础?

  编程语言的作用:人类使机器明白并动作的指令。类似:人文社会的英语。  
  关系:计算机硬件 —— 操作系统(OS) —— 软件(编程语言成品,学习成果)。
    自语:硬件层上有操作系统进行控制,而OS上有软件,人类通过软件达到使硬件层动作反应的。
 
     计算机硬件: 指的是计算机可视部分的硬件基础。
     操作系统: 是计算机基础程序,通过操作系统对硬件实现控制,减少使用者基础层的纠结。
     软件: 学习编程语言的目的成果,运行软件程序,让使用者更友好直接的通过操作系统控制硬件,完成目标行为。
 
     Python编程之路:计算机硬件基础→操作系统基础→Python编程
 

二、计算机硬件发展史

 
     可编程化是通用计算机的重要定义。
 

三、计算机硬件介绍

     1、中央处理器(Central Processing Unit,CPU)
     2、内存(Memory)
     3、输入输出设备(Input\Output,IO)
     4、系统总线(Bus)
     5、其它通讯设备
 
    自语:CPU、内存、磁盘关系:CPU负责运算,磁盘是数据的终端存储设备,内存是介于CPU和磁盘之间,高速的临时存储设备。

1、中央处理器

  (Central Processing Unit,CPU) 是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit)。
          执行过程:取指令→解码→执行
 
          寄存器:是CPU内部的组成部分。可有限存贮容量的高速存贮部件,用来暂存指令数据地址
               分类:1)、通用寄存器:保存变量和临时结果
                       2)、程序计数器:保存将要取出的下一条指令的内存地址
                       3)、堆栈指数:指向内存中当前栈的顶端。
                                        堆栈:一种数据项按序排列的数据结构,只能在一端对数据项进行插入和删除。 要点:堆,队列优先,先进先出。栈,先进后出。
                       4)、程序状态寄存器(Program Status Word,PSW):条码位。CPU优先级。模式(用户态或内核态),以及各种其他控制位。
                 
                        
 
               CPU的两种模式:内核态和用户态。 PSW 中有一个二进制位控制这两种模式。
               内核态:CPU运行状态,可以执行指令集中所有的指令,包含了使用硬件的所有功能。
               用户态:用户软件执行状态。只能执行CPU整个指令集中的一个子集。
               内核态和用户态的切换:用户态下工作的软件不能操作硬件。使用系统调用(System Call),切换为内核态,启用操作系统,获得服务。

2、存储器

                    
               高速缓存 L1 总是在CPU中。L2  Intel多核芯片在外,AMD 在cpu内
               内存:RAM 易失性存储,断电后数据全部消失。
                         ROM 非易失性随机访问存储。               
                         EEPROM(Electrically Erasable PROM)电可擦除可编程ROM
                         闪存(flash memory)非易失性
                         CMOS:易失性的,保持当前时间和日期,电池驱动。同时可以保存配置的参数,比如哪一个是启动盘,同时耗电极少。
      
      8bit(比特位)=1Bytes
      1024*Bytes=1KB
      1024KB=1MB
      1024MB=1GB
      1024GB=1TB

3、磁盘

                    磁头 :机械臂读写端
                    磁道 :每个磁头可以读取的一段新区域
                    柱面 :每个手臂位置所有的磁道合起来 
                    扇区 :磁盘级别的最小读写单位:512Bytes默认字节 操作系统级别的最小读写单位:1BLOCK=8个扇区
 
                    数据都存放于一段段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间。
               
                    虚拟内存 :linux中叫swap

4、I/O设备

               包含 设备控制器和设备本身。 
      控制器:通常情况下对设备的控制是非常复杂和具体的,控制器的任务就是为操作系统屏蔽这些复杂而具体的工作,提供给操作系统一个简单而清晰的接口
      驱动程序:有相对简单的接口且标准的,这样大家都可以为其编写驱动程序了。要想调用设备,必须根据该接口编写复杂而具体的程序,于是有了控制器提供设备驱动接口给操作系统。必须把设备驱动程                          序安装到操作系统中。

5、总线

               北桥即PCI桥:连接高速设备
               南桥即ISA桥:连接慢速设备
                              
 

6、启动计算机

          BIOS(Basic Input Output System)基本输入输出程序。
          操作系统启动流程:
               1)、计算机加电
               2)、BIOS运行,检测硬件 cpu、内存、硬盘等。
               3)、BIOS读取CMOS存储器中的参数,选择启动设备。
               4)、从启动设备上读取第一个扇区的内容
               5)、根据分区信息读入BootLoader启动装置模块,启动操作系统
               6)、OS询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内                     核。然后初始有关的表格(如进程表),运行需要的进程,并在每个终端上启动登录程序或GUI。
    应用程序启动流程:
      双击软件,由CPU运算,内存从硬盘中调出指令,开始执行软件。

Day 1 计算机基础的更多相关文章

  1. 计算机基础--Java中int char byte的关系

    计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用 ...

  2. Java学习之计算机基础(一)

    阅读本文大概需要 4 分钟 想要开始学习Java开发,需要掌握一些必要的计算机基础.如果你是计算机专业的人或者已经学过类似的课程,可以跳过这篇文章的阅读.计算机基础课程有很多,小编在大学里学过的课程就 ...

  3. 计算机基础-Day1

    计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...

  4. python计算机基础-Day1

    计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...

  5. Python之旅_计算机基础入门

    一.计算机基础 1.Python是编程语言 语言:一种事物与另一种事物沟通的介质. 编程语言:程序员与计算机沟通的介质. 什么是编程:程序员用编程语言把自己的逻辑思想下来,编程的结果就是一堆文件. 为 ...

  6. 计算机基础,Python基础--变量以及简单的循环

    一.计算机基础 1.CPU 相当于人体的大脑,用于计算处理数据. 2.内存  用于存储数据,CPU从内存调用数据处理计算,运算速度很快. PS:问:既然在内存里的数据CPU运算速度快,为什么计算机不全 ...

  7. day01计算机基础

    今日内容 1.计算机初步认识 1.计算机认识 1. 计算机基础 1.1硬件:cpu/内存/硬盘/主板/网卡 1.2操作系统 linux:免费开源 windows mac 1.3解释器/编译器 补充:编 ...

  8. Java面试题 Web+EJB & Spring+数据结构& 算法&计算机基础

    六.Web 部分:(共题:基础40 道,基础37 道,中等难度3 道) 122.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? [基础] 答:Web 容器加载Servlet ...

  9. python note 01 计算机基础与变量

    1.计算机基础. 2.python历史. 宏观上:python2 与 python3 区别: python2 源码不标准,混乱,重复代码太多, python3 统一 标准,去除重复代码. 3.pyth ...

  10. 计算机基础part1

    一:计算机的基本组成 1.计算机由输入单元.控制单元.算法逻辑单元.输出单元.存储单元,五大单元组成 二:概念篇 CPU:中央处理器,其内含有指令集(取码-解码-执行的过程) CPU同一时刻只能干一件 ...

随机推荐

  1. vue cli的安装与使用

    一.简介 vue作为前端开发的热门工具,受到前端开发人员的喜爱.为了简化项目的构建,采用vue cli来简化开发. vue cli是一个全局安装的npm包,提供了终端使用的命令.vue create可 ...

  2. PyTorch在NLP任务中使用预训练词向量

    在使用pytorch或tensorflow等神经网络框架进行nlp任务的处理时,可以通过对应的Embedding层做词向量的处理,更多的时候,使用预训练好的词向量会带来更优的性能.下面分别介绍使用ge ...

  3. java script DOM BOM

    onclick        当用户点击某个对象时调用的事件句柄.ondblclick     当用户双击某个对象时调用的事件句柄. onfocus        元素获得焦点.            ...

  4. shell脚本,按单词出现频率降序排序。

    [root@localhost oldboy]# cat file the squid project provides a number of resources toassist users de ...

  5. 两种常见JS面向象写法

    基于构造函数 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circle.prototype.area = function() { ...

  6. perl学习笔记之:模式匹配,模块,文档

    Perl语言的最大特点,也是Perl作为CGI首选语言的最大特点,是它的模式匹配操作符.Perl语言的强大的文本处理能力正是通过其内嵌的对模式匹配的支持体现的.模式通过创建正则表达式实现.Perl的正 ...

  7. laravel中对加载进行优化

    在laravel中的模型与模型之间创建好关联关系会比较方便的方法 但是我们为了方便,有时也会忽略一些东西,比如: 我们在控制器中把整个一个文章对象传到了模板页面 在一次for循环下, 我们对数据进行了 ...

  8. stm32单片机的C语言优化

    对于有些单片机,自身容量是很有限的,有的仅仅只有8k.16k的flash等,但是对32位mcu来说,这点空间实在有点小.不像计算机一样内存和rom都很多,因此有时候就需要进行代码优化.大家都知道,单片 ...

  9. adb 常用命令详解

    1.把电脑上文件或目录copy到手机中:adb push <local> <remote>    - copy file/dir to device 此处的<local& ...

  10. FastJson生成json时,显示Null属性

    FastJson生成json时,默认不会输出null字段. 移动端,有时候,需要后端提供完整的字段说明. Map < String , Object > jsonMap = new Has ...