计算机基础

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

  编程语言的作用:人类使机器明白并动作的指令。类似:人文社会的英语。  
  关系:计算机硬件 —— 操作系统(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. [已解决]gitee初次使用git clone报错

    本文描述的错误按实际出现先后顺序排列,并且附上一些其他可能会出现的问题 错误1: JZKJ@DESKTOP-I7Q9QJ4 MINGW64 ~ $ git clone https://gitee.co ...

  2. Mac如何让调整窗口大小更简单

    在使用Mac的时候,你能把鼠标的光标悬停在任何程序的边缘,当光标自动变成箭头样式后,按住鼠标左键你将能随意拖动来改变程序窗口的大小.但是,这里有个问题,我们有时候很难控制把鼠标光标移动在正确的窗口边缘 ...

  3. js中声明函数的三种方式

    己亥年  庚午月 癸巳日  宜入宅 忌婚嫁 函数声明方式 声明 : function first(){}: 调用:first() 函数表达式声明方式   声明: var second=function ...

  4. Python基础篇 -- 部分练习题

    实现一个整数加法计算器(两个数相加): 如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算 ...

  5. Dubbo服务的搭建

    dubbo框架主要作用是基于RPC的远程调用服务管理,但是注册中心是用的zookeeper,搭建dubbo,首先要安装zookeeper,配置zookeeper... 实现功能如图所示:(存在2个系统 ...

  6. excel数据导入到数据库

    package test; import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExceptio ...

  7. ios之UIImageView

    UIImageView,顾名思义,是用来放置图片的.使用Interface Builder设计界面时,当然可以直接将控件拖进去并设置相关属性,这就不说了,这里讲的是用代码. 1.创建一个UIImage ...

  8. React初识整理(五)--Redux和Flux(解决状态传递问题)

    Flux 1.引入:在React的应⽤中,状态管理是⼀个⾮常重要的⼯作.我们不会直接对DOM节点进⾏操作,⽽是通过将数据设置给state,由state来同步UI,这种⽅式有个潜在的问题,每个组件都有独 ...

  9. 初涉KMP算法

    久仰字符串系列理论 KMP 讲解(引用自bzoj3670动物园) 某天,园长给动物们讲解KMP算法. 园长:“对于一个字符串S,它的长度为L.我们可以在O(L)的时间内,求出一个名为next的数组.有 ...

  10. 如何用纯 CSS 创作阶梯文字特效

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MXYBEM 可交互视频教 ...