热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python零基础学习之路01计算机硬件

一套完整的计算机系统分为:计算机硬件,操作系统,应用软件,如下图。因而我们的python编程之路分为计算机硬件基础ÿ

  一套完整的计算机系统分为:计算机硬件,操作系统,应用软件,如下图。因而我们的python编程之路分为计算机硬件基础,操作系统基础,和python编程三部分,而我们便是最先从计算机硬件开始学习的。

一 计算机硬件介绍

  计算机硬件有五大部分:

    1、控制器:计算机的指挥系统。控制器通过地址访问存储器,从存储器中取出指令,经译码器分析后,根          据指令分析结果产生相应的操作控制信号作用于其他部件,使得各部件在控制器控制下有条不紊地协调工作。

    2、运算器:实现算术运算和逻辑运算的部件。

    3、存储器:是计算机用来存放所有数据和程序的记忆部件。他的基本功能是按指定的地址存入或者取出信息。计算机中的存储器分为两大类:一类是内存储器,简称内存或主存;另一类是外存储器(辅助存储器),简称外存或辅存。存储器由若干个存储单元组成,每个存储单元都有一个地址,计算机通过地址对存储单元进行读写。一个存储器所包含的字节数称为存储容量,单位有B、KB、MD、GB、TB等。

    4、输入设备:是向计算机中输入信息(程序、数据、声音、文字、图形、图像等)的设备。常见的输入设备有:键盘、鼠标、图形扫描仪、触摸屏、条形码输入器、光笔等。 外存储器也是一种输入设备。

    5、输出设备:主要有显示器、打印机和绘图仪等。外存储器也当作一种输出设备。

 

  总结来说:控制器+运算器=CPU,CPU是人的大脑,负责控制全身和运算;内存是人的记忆,负责临时存储;硬盘是人的笔记本,负责永久存储;输入设备是耳朵或眼睛或嘴巴,负责接收外部信息存入内存,输出设备是你整个身体的肢体动作,负责经过处理后输出的结果。以上所有的设备都通过总线连接,总线相当于人的神经。

 

二 中央处理器  

  1、将运算器和控制器合称为中央处理器(Central Processing Unit,CPU)。其中运算器用来主要负责程序运算与逻辑判断,控制器则主要协调各组件和各单元的工作,所以CPU的工作主要在于管理和运算。可以说计算机的大脑就是CPU,它从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。既然CPU的重点在于进行运算和判断,那么要被运算与判断的数据是从哪里来的?CPU读取的数据都是从主存储器(内存)来的!主存储器内的数据则是从输入单元所传输进来!而CPU处理完毕的数据也必须先写回主存储器中,最后数据才从主存储器传输到输出单元。

  2、内核态与用户态

    内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)

    用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的。

 

三 存储器

  寄存器即L1缓存&#xff1a;用与cpu相同材质制造&#xff0c;与cpu一样快&#xff0c;因而cpu访问它无时延&#xff0c;典型容量是&#xff1a;在32位cpu中为32*32&#xff0c;在64位cpu中为64*64&#xff0c;在两种情况下容量均<1KB。

  高速缓存即L2缓存&#xff1a;主要由硬件控制高速缓存的存取&#xff0c;内存中有高速缓存行按照0~64字节为行0&#xff0c;64~127为行1。。。最常用的高速缓存行放置在cpu内部或者非常接近cpu的高速缓存中。

  内存&#xff08;RAM)称为随机访问存储RAM&#xff1a;是我们通常所说的内存&#xff0c;容量一直在不断攀升&#xff0c;所有不能再高速缓存中找到的&#xff0c;都会到主存中找&#xff0c;主存是易失性存储&#xff0c;断电后数据全部消失。

  非易失性随机访问存储&#xff08;ROM)&#xff1a;在电源切断之后&#xff0c;非易失性存储的内容并不会丢失&#xff0c;ROM只读存储器在工厂中就被编程完毕&#xff0c;然后再也不能修改。

  EEPROM&#xff08;Electrically Erasable PROM&#xff0c;电可擦除可编程ROM&#xff09;和闪存&#xff08;flash memory&#xff09;也是非易失性的。

  CMOS&#xff1a;是易失性的&#xff0c;许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由一小块电池驱动&#xff0c;所以&#xff0c;即使计算机没有加电&#xff0c;时间也仍然可以正确地更新&#xff0c;除此之外CMOS还可以保存配置的参数&#xff0c;比如&#xff0c;哪一个是启动磁盘等&#xff0c;之所以采用CMOS是因为它耗电非常少&#xff0c;一块工厂原装电池往往能使用若干年&#xff0c;但是当电池失效时&#xff0c;相关的配置和时间等都将丢失。

 

四 磁盘&#xff1a;数据都存放于一段一段的扇区&#xff0c;即磁道这个圆圈的一小段圆圈&#xff0c;从磁盘读取一段数据需要经历寻道时间和延迟时间。

  &#xff08;虚拟内存&#xff1a;许多计算机支持虚拟内存机制&#xff0c;该机制使计算机可以运行大于物理内存的程序&#xff0c;方法是将正在使用的程序放入内存取执行&#xff0c;而暂时不需要执行的程序放到磁盘的某块地方&#xff0c;这块地方成为虚拟内存&#xff0c;在linux中成为swap&#xff0c;这种机制的核心在于快速地映射内存地址&#xff0c;由cpu中的一个部件负责&#xff0c;成为存储器管理单元(Memory Management Unit MMU)

 

五 启动计算机 

1.计算机加电

2.BIOS开始运行&#xff0c;检测硬件&#xff1a;cpu、内存、硬盘等

3.BIOS读取CMOS存储器中的参数&#xff0c;选择启动设备

4.从启动设备上读取第一个扇区的内容&#xff08;MBR主引导记录512字节&#xff0c;前446为引导信息&#xff0c;后64为分区信息&#xff0c;最后两个为标志位&#xff09;

5.根据分区信息读入bootloader启动装载模块&#xff0c;启动操作系统

6.然后操作系统询问BIOS&#xff0c;以获得配置信息。对于每种设备&#xff0c;系统会检查其设备驱动程序是否存在&#xff0c;如果没有&#xff0c;系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序&#xff0c;操作系统就将它们调入内核。然后初始有关的表格&#xff08;如进程表&#xff09;&#xff0c;穿件需要的进程&#xff0c;并在每个终端上启动登录程序或GUI

 

  


转载于:https://www.cnblogs.com/liuzeng/p/9061376.html


推荐阅读
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
author-avatar
紫竹林素食坊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有