计算机基础

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

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

    我们开发肯定是有版本控制的,大家以前Eclipse的时候在本地文件和版本库不一致的时候,那么文件以及所在的文件夹都会出现一个〉表示,大家能很轻松的看到本地文件修改了哪一些,但是IntelliJ中默认是 ...

  2. Sublime Text 套件介紹(四):Pretty JSON

    JSON,一個輕量級的資料交換語言,目前許多網站AJAX request的回應結果都是JSON格式   以下是一個標準的JSON格式   { "firstName": " ...

  3. 在tomcat中配置连接池

    在tomcat的conf/Catalina/localhost目录下配置项目路径,tomcat启动是会直接根据配置去加载项目. 虽然配置就一句话,但经常忘,今天记下来. 如果你的项目成名是:mypro ...

  4. Bootstrap 网格系统(Grid System)

    Bootstrap 网格系统(Grid System) Bootstrap提供了一套响应式,移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 什么是 ...

  5. 升级nodejs 与短小的n模块

    要用指令升级nodejs到新版本要先安装n模块 window用不了n模块  可以用 nvm-windows : https://github.com/coreybutler/nvm-windows n ...

  6. [LUOGU] P4767 [IOI2000]邮局

    https://www.luogu.org/problemnew/show/P4767 四边形不等式好题! 可以设f[i][j]表示前i个村庄,建了j个邮局的最小代价. 转移:f[i][j]=min{ ...

  7. Django_外键查询和反查询

    一.ForeignKey @property装饰器的作用是返回一个属性特性,在数据库中也有一些小技巧可以拿来用,比如今天要写的外键查询和反向查询的内容. from django.db import m ...

  8. java之 List、Set、ArraylIst、 LinkList

    LIst与set概述 List Set 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.      2.对于随机访问get和set,ArrayList优于 ...

  9. python基础学习笔记——闭包

    闭包这个概念好难理解,身边朋友们好多都稀里糊涂的,稀里糊涂的林老冷希望写下这篇文章能够对稀里糊涂的伙伴们有一些帮助~ 请大家跟我理解一下,如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内 ...

  10. Python Flask+Mysql练习题

    #!/usr/bin/pythonfrom flask import Flask,render_template,request,redirect,sessionimport MySQLdb as m ...