计算机基础

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

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

    A是要进行剪裁的blob,B是参考,C是由A剪裁出来的输出. 模式1和模式2不同在于offset,模式1中每个dimension可以不同,模式2中用一个值表示了所有dimension的值. axis表 ...

  2. python_112_断言

    #断言 如果满足断言的执行程序,如果不满足则抛错误 assert type(1) is int print('断言正确的话,就继续执行') # assert type('a') is int #Ass ...

  3. 浅谈js的sort()方法

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码(字符串Unicode码点)的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以 ...

  4. js中的跨域方法总结

    什么是跨域? 浏览器的安全策略,只要协议,域名,端口有任何一个不同,就被当做不同的域. 下面对http://www.qichedaquan.com的同源检测 http://www.qichedaqua ...

  5. 前端上传控件plupload总结

    plupload是一个单图和多图上传控件: 属性和方法介绍,参考以下博客: https://www.cnblogs.com/2050/p/3913184.html 这里直接贴出JS代码,细到爆的注释, ...

  6. MySql压缩版安装及避免1055错误和msvcp120.dll丢失

    MySql压缩版安装及避免1055错误和msvcp120.dll丢失 MySQL压缩版的安装快速方便,5.7及最新的8版本安装方式大致相同. 在使用group by分组时,可能会遇到1055错误. 另 ...

  7. C++简单年月日的功能实现

    // C++年月日判断初步代码 #include <iostream> using namespace std; class Data { int year; int month; int ...

  8. react事件代理

    参考:https://github.com/youngwind/blog/issues/107 首先回顾以下原生事件的两个方法:event.stopImmediatePropagation 和 eve ...

  9. php框架的特性总结

    今天面试问到了php框架的特性,特此在这汇总一下,方便以后查看. Thinkphp 3.2特性: 1.多表查询非常方便,在model 里几句代码就可以完成完成多表的关联操作. 2.融合了smarty ...

  10. pandas模块(很详细归类),pd.concat(后续补充)

    6.12自我总结 一.pandas模块 import pandas as pd约定俗称为pd 1.模块官方文档地址 https://pandas.pydata.org/pandas-docs/stab ...