计算机基础

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

  编程语言的作用:人类使机器明白并动作的指令。类似:人文社会的英语。  
  关系:计算机硬件 —— 操作系统(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. 在 webpack 中使用 ECharts

    http://echarts.baidu.com/tutorial.html#%E5%9C%A8%20webpack%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20ECharts W ...

  2. CPP-STL:STL备忘

    STL备忘(转) 1. string.empty() 不是用来清空字符串,而是判断string是否为空,清空使用string.clear(); 2. string.find等查找的结果要和string ...

  3. spark 省份次数统计实例

    //统计access.log文件里面IP地址对应的省份,并把结果存入到mysql package access1 import java.sql.DriverManager import org.ap ...

  4. Android 使用 adb命令 远程安装apk

    Android 使用 adb命令 远程安装apk ./adb devices 列出所有设备 ./adb connect 192.168.1.89 连接到该设备 ./adb logcat 启动logca ...

  5. c语言产生随机数的方法

    在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公 ...

  6. Bootstrap 静态控件

    当您需要在一个水平表单内表单标签后放置纯文本时,请在 <p> 上使用 class .form-control-static. 实例: <!DOCTYPE html><ht ...

  7. 51nod 1265 四点共面——计算几何

    题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1265 以其中某一点向其它三点连向量,若四点共面,这三个向量定义的平行六面体 ...

  8. 下载PhantomJS

    PhantomJS新手?阅读并学习快速入门指南. 视窗 下载phantomjs-2.1.1-windows.zip(17.4 MB)并解压缩(解压缩)内容. 可执行文件phantomjs.exe已准备 ...

  9. mysql中常用函数简介(不定时更新)

    常用函数version() 显示当前数据库版本database() 返回当前数据库名称user() 返回当前登录用户名inet_aton(IP) 返回IP地址的数值形式,为IP地址的数学计算做准备in ...

  10. Shell脚本中循环语句for,while,until用法

    循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...