当前位置: 首页 > news >正文

网站设计维护内容上海分公司

网站设计维护内容,上海分公司,如何创建自己的公司,市场调研报告怎么写计算机硬件 一、为什么要学习计算机基础 程序员编程的本质就是让计算机去工作#xff0c;而编程语言就是程序员与计算机沟通的介质。程序员要想让计算机工作#xff0c;就要知道计算机能干什么、是怎么样的一个完成过程#xff0c;这也是我们必须学习计算机基础的原因。 … 计算机硬件 一、为什么要学习计算机基础      程序员编程的本质就是让计算机去工作而编程语言就是程序员与计算机沟通的介质。程序员要想让计算机工作就要知道计算机能干什么、是怎么样的一个完成过程这也是我们必须学习计算机基础的原因。   然而光有编程语言和硬件也并不能满足大家的编程需求为什么这么说呢   程序用编程语言写程序最终开发出的结果就是一个软件既然是软件那就与腾讯qq、暴风影音、快播等软件没有区别了。这些软件必须运行在操作系统之上你肯定会问为何要有操作系统呢没错远古时代的程序员确实是在没有操作系统的环境下用编程语言之间操作硬件来编程的你可能觉得这没有问题但其实问题是相当严重的因为此时你必须掌握如何操作硬件的所有具体细节比如如何具体操作硬盘现在你得把硬盘拆开然后你能看见的所有的东西你都得研究明白因为你编程时要用到它这就严重影响了开发的效率操作系统的出现就是运行于硬件之上来控制硬件的我们开发时只需要调用操作系统为我们提供的简单而优雅的接口就可以了。   所以一套完整的计算机系统分为计算机硬件、操作系统、软件程序员开发的就是软件。因而我们的python编程之路分为计算机硬件基础、操作系统基础和编程语言三部分就让我们先从计算机硬件学起吧。 二、计算机硬件介绍      从概念上讲一台简单的个人计算机可以抽象为类似下图的模型CPU、内存以及I/O设备都由一条系统总线bus连接起来并通过总线与其他设备通信。   现代计算机的结构更复杂包括多重总线我们将在后面的小节介绍此时暂且让我们以下图为例来介绍各个部件      了解各部分功能的一个简单的方法是把计算机各部分组件往人的身上套比如   cpu是人的大脑负责运算   内存是人的记忆负责临时存储   硬盘是人的笔记本负责永久存储   输入设备是耳朵或眼睛负责接收外部的信息传给cpu   输出设备是你的表情负责经过处理后输出的结果   以上所有的设备都通过总线连接总线相当于人的神经。   上课开始老师讲课学生听课老师是程序员学生是计算机学生的器官都是计算机各部分组成   1.老师通过学生的眼睛和耳朵将自己的知识/指令传给学生输入   2.学生在接收知识/指令后通过自己的神经将其放入自己的内存/短期记忆总线、内存   3.学生的大脑/cpu从短期记忆里取出知识/指令分析知识/指令然后学习知识/执行指令 cpu取指、分析、执行   4.学生的表情会直接反映出自己是否听懂这就是输出老师瞅一眼就知道学生有没有学会输出   5.学生想要永久将知识保存下来只能拿出一个笔记本把刚刚学会的知识都写到本子上这个本子就是硬盘磁盘。     处理器        计算机的大脑就是CPU它从内存中取指令-解码-执行然后再取指-解码-执行下一条指令周而复始直至整个程序被执行完成。   每个cpu都有一套可执行的专门指令集任何软件的执行最终都要转化成cpu的指令去执行。所以Pentium英特尔第五代x86架构的微处理器不能执行SPARC另外一种处理器的程序。这就好比不同的人脑对于大多数人类来说人脑的结构一样所以别人会的东西你也都可以会但对于爱因斯坦的脑子来说它会的你肯定不会。   因访问内存以得到指令或数据的时间比cpu执行指令花费的时间要长得多所以所有CPU内部都有一些用来保存关键变量和临时数据的寄存器这样通常在cpu的指令集中专门提供一些指令用来将一个字可以理解为数据从内存调入寄存器以及将一个字从寄存器存入内存。cpu其他的指令集可以把来自寄存器、内存的操作数据组合或者用两者产生一个结果比如将两个字相加并把结果存在寄存器或内存中。   寄存器的分类   1.用来保存变量和临时结果的通用寄存器    2.多数计算机还有一些对程序员课件的专门寄存器其中之一便是程序计数器它保存了将要取出的下一条指令的内存地址。在指令取出后程序计算器就被更新以便执行后期的指令   3.另外一个寄存器便是堆栈指针它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量   4.最后 一个非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式用户态或内核态以及各种其他控制位。用户通常读入整个PSW但是只对其中少量的字段写入。在系统调用和I/O中PSW特别的重要。   寄存器的维护   操作系统必须知晓所有的寄存器。在时间多路复用的CPU中操作系统会经常中止正在运行的某个程序并启动或再次启动另一个程序。每次停止一个运行着的程序时操作系统必须保存所有的寄存器这样在稍后该程序被再次运行时可以把这些寄存器重新装入。    处理器设计的演变      1.最开始取值、解码、执行这三个过程是同时进行的这意味着任何一个过程完成都需要等待其余两个过程执行完毕时间浪费   2.后来被设计成了流水线式的设计即执行指令n时可以对指令n1解码并且可以读取指令n2,完全是一套流水线。                3.超变量cpu比流水线更加先进有多个执行单元可以同时负责不同的事情比如看片的同时听歌打游戏。两个或更多的指令被同时取出、解码并装入一个保持缓冲区中直至它们都执行完毕。只有有一个执行单元空闲就检查保持缓冲区是否还有可处理的指令。           这种设计存在一种缺陷即程序的指令经常不按照顺序执行在多数情况下硬件负责保证这种运算结果与顺序执行的指令时的结果相同。    内核态与用户态      除了在嵌入式系统中的非常简答的CPU之外多数CPU都有两种模式即内核态与用户态。   通常PSW中有一个二进制位控制这两种模式。   内核态当cpu在内核态运行时cpu可以执行指令集中所有的指令很明显所有的指令中包含了使用硬件的所有功能操作系统在内核态下运行从而可以访问整个硬件。   用户态用户程序在用户态下运行仅仅只能执行cpu整个指令集的一个子集该子集中不包含操作硬件功能的部分因此一般情况下在用户态中有关I/O和内存保护操作系统占用的内存是受保护的不能被别的程序占用当然在用户态下将PSW中的模式设置成内核态也是禁止的。    内核态与用户态切换         用户态下工作的软件不能操作硬件但是我们的软件比如暴风影音一定会有操作硬件的需求比如从磁盘上读一个电影文件那就必须经历从用户态切换到内核态的过程为此用户程序必须使用系统调用system call系统调用陷入内核并调用操作系统TRAP指令把用户态切换成内核态并启用操作系统从而获得服务。   把的系统调用看成一个特别的的过程调用指令就可以了该指令具有从用户态切换到内核态的特别能力。     异常处理       需要强调的是计算机使用TRAP来执行系统调用多数的TRAP是由硬件引起的用于警告有异常情况发生如试图1/0等操作。在所有的情况下操作系统都得到控制权并决定如何处理异常情况有时由于出错的原因程序不得不停止。在其他的情况下可以忽略出错如果程序已经提前宣布它希望处理某类异常时那么控制权还必须返回给程序让其处理相关的问题。    多线程和多核芯片      moore定律指出芯片中的晶体管数量每18个月翻一倍随着晶体管数量的增多更强大的功能称为了可能如   1.第一步增强在cpu芯片中加入更大的缓存一级缓存L1用和cpu相同的材质制成cpu访问它没有时延   2.第二步增强一个cpu中的处理逻辑增多intel公司首次提出称为多线程multithreading或超线程hyperthreading对用户来说一个有两个线程的cpu就相当于两个cpu我们后面要学习的进程和线程的知识就起源于这里进程是资源单位而线程才是cpu的执行单位。   多线程运行cpu保持两个不同的线程状态可以在纳秒级的时间内来回切换速度快到你看到的结果是并发的伪并行的然而多线程不提供真正的并行处理一个cpu同一时刻只能处理一个进程一个进程中至少一个线程   3.第三步增强除了多线程还出现了傲寒2个或者4个完整处理器的cpu芯片如下图。要使用这类多核芯片肯定需要有多处理操作系统                    存储器      计算机中第二重要的就是存储了所有人都希望存储能够速度快这样cpu的等待存储器的延迟就降低了容量大价钱便宜。然后同时兼备三者是不可能的所以有了如下的不同的处理方式                                        存储器系统采用如上图的分层结构顶层的存储器速度较高容量较小与底层的存储器相比每位的成本较高其差别往往是十亿数量级的。     寄存器即L1缓存      用与cpu相同材质制造与cpu一样快因而cpu访问它无时延典型容量是在32位cpu中为32*32在64位cpu中为64*64在两种情况下容量均1KB。    高速缓存即L2缓存      主要由硬件控制高速缓存的存取内存中有高速缓存行按照0~64字节为行064~127为行1......最常用的高速缓存行放置在cpu内部或者非常接近cpu的高速缓存中。当某个程序需要读一个存储字时高速缓存硬件检查所需要的高速缓存行是否在高速缓存中。如果是则称为高速缓存命中缓存满足了请求就不需要通过总线把访问请求送往主存(内存)这毕竟是慢的。高速缓存的命中通常需要两个时钟周期。高速缓存为命中就必须访问内存这需要付出大量的时间代价。由于高速缓存价格昂贵所以其大小有限有些机器具有两级甚至三级高速缓存每一级高速缓存比前一级慢但是容易大。   缓存在计算机科学的许多领域中起着重要的作用并不仅仅只是RAM随机存取存储器的缓存行。只要存在大量的资源可以划分为小的部分那么这些资源中的某些部分肯定会比其他部分更频发地得到使用此时用缓存可以带来性能上的提升。一个典型的例子就是操作系统一直在使用缓存比如多数操作系统在内存中保留频繁使用的文件的一部分以避免从磁盘中重复地调用这些文件类似的/root/a/b/c/d/e/f/a.txt的长路径名转换成该文件所在的磁盘地址的结果然后放入缓存可以避免重复寻找地址还有一个web页面的url地址转换为网络地址(IP)地址后这个转换结果也可以缓存起来供将来使用。   缓存是一个好方法在现代cpu中设计了两个缓存再看4.1中的两种cpu设计图。第一级缓存称为L1总是在CPU中通常用来将已经解码的指令调入cpu的执行引擎对那些频繁使用的数据自多少芯片还会按照第二L1缓存 。。。另外往往设计有二级缓存L2用来存放近来经常使用的内存字。L1与L2的差别在于对cpu对L1的访问无时间延迟而对L2的访问则有1-2个时钟周期即1-2ns的延迟。    内存      再往下一层是主存此乃存储器系统的主力主存通常称为随机访问存储RAM就是我们通常所说的内存容量一直在不断攀升所有不能再高速缓存中找到的都会到主存中找主存是易失性存储断电后数据全部消失。   除了主存RAM之外许多计算机已经在使用少量的非易失性随机访问存储如ROMRead Only MemoryROM在电源切断之后非易失性存储的内容并不会丢失ROM只读存储器在工厂中就被编程完毕然后再也不能修改。ROM速度快且便宜在有些计算机中用于启动计算机的引导加载模块就存放在ROM中另外一些I/O卡也采用ROM处理底层设备的控制。   EEPROMElectrically Erasable PROM电可擦除可编程ROM和闪存flash memory也是非易失性的但是与ROM相反他们可以擦除和重写。不过重写时花费的时间比写入RAM要多。在便携式电子设备中中闪存通常作为存储媒介。闪存是数码相机中的胶卷是便携式音译播放器的磁盘还应用于固态硬盘。闪存在速度上介于RAM和磁盘之间但与磁盘不同的是闪存擦除的次数过多就被磨损了。    还有一类存储器就是CMOS它是易失性的许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由一小块电池驱动所以即使计算机没有加电时间也仍然可以正确地更新除此之外CMOS还可以保存配置的参数比如哪一个是启动磁盘等之所以采用CMOS是因为它耗电非常少一块工厂原装电池往往能使用若干年但是当电池失效时相关的配置和时间等都将丢失。    磁盘                                                   磁盘低速的原因是因为它一种机械装置在磁盘中有一个或多个金属盘片它们以54007200或10800rpmRPM revolutions per minute 每分钟多少转 的速度旋转。从边缘开始有一个机械臂悬在盘面上这类似于老式黑胶唱片机上的拾音臂。信息卸载磁盘上的一些列的同心圆上是一连串的2进制位称为bit位为了统计方法8个bit称为一个字节bytes1024bytes1k1024k1M1024M1G,所以我们平时所说的磁盘容量最终指的就是磁盘能写多少个2进制位。   每个磁头可以读取一段换新区域称为磁道   把一个戈丁手臂位置上所以的磁道合起来组成一个柱面   每个磁道划成若干扇区扇区典型的值是512字节   数据都存放于一段一段的扇区即磁道这个圆圈的一小段圆圈从磁盘读取一段数据需要经历寻道时间和延迟时间。     平均寻道时间      机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间找到了磁道就以为着招到了数据所在的那个圈圈但是还不知道数据具体这个圆圈的具体位置    平均延迟时间      机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下这段时间成为延迟时间    虚拟内存      许多计算机支持虚拟内存机制该机制使计算机可以运行大于物理内存的程序方法是将正在使用的程序放入内存取执行而暂时不需要执行的程序放到磁盘的某块地方这块地方成为虚拟内存在linux中成为swap这种机制的核心在于快速地映射内存地址由cpu中的一个部件负责成为存储器管理单元(Memory Management Unit MMU)。    PS从一个程序切换到另外一个程序成为上下文切换(context switch),缓存和MMU的出现提升了系统的性能尤其是上下文切换。     磁带      在价钱相同的情况下比硬盘拥有更高的存储容量虽然速度低于磁盘但是因其大容量在地震水灾火灾时可移动性强等特性常被用来做备份。常见于大型数据库系统中    I/O设备      cpu和存储器并不是操作系统唯一需要管理的资源I/O设备也是非常重要的一环。   I/O设备一般包括两个部分设备控制器和设备本身。   控制器是查找主板上的一块芯片或一组芯片硬盘网卡声卡等都需要插到一个口上这个口连的便是控制器控制器负责控制连接的设备它从操作系统接收命令比如读硬盘数据然后就对硬盘设备发起读请求来读出内容。   控制器的功能通常情况下对设备的控制是非常复杂和具体的控制器的任务就是为操作系统屏蔽这些复杂而具体的工作提供给操作系统一个简单而清晰的接口。   设备本身有相对简单的接口且标准的这样大家都可以为其编写驱动程序了。要想调用设备必须根据该接口编写复杂而具体的程序于是有了控制器提供设备驱动接口给操作系统。必须把设备驱动程序安装到操作系统中。    总线      四小节中的结构在小型计算机中沿用了多年并也用在早期的IBM PC中。但是随着处理器和存储器速度越来越快单总线很难处理总线的交通流量了于是出现了下图的多总线模式他们处理I/O设备及cpu到存储器的速度都更快。   北桥即PCI桥连接高速设备南桥即ISA桥连接慢速设备。                        启动计算机      在计算机的主板上有一个基本的输入输出程序Basic  Input Output system)BIOS就相当于一个小的操作系统它有底层的I/O软件包括读键盘写屏幕进行磁盘I/O,该程序存放于一非易失性闪存RAM中。   启动流程   1.计算机加电      2.BIOS开始运行检测硬件cpu、内存、硬盘等     3.BIOS读取CMOS存储器中的参数选择启动设备     4.从启动设备上读取第一个扇区的内容MBR主引导记录512字节前446为引导信息后64为分区信息最后两个为标志位     5.根据分区信息读入bootloader启动装载模块启动操作系统  6.然后操作系统询问BIOS以获得配置信息。对于每种设备系统会检查其设备驱动程序是否存在如果没有系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序操作系统就将它们调入内核。然后初始有关的表格如进程表穿件需要的进程并在每个终端上启动登录程序或GUI。   参考文档http://www.cnblogs.com/linhaifeng/p/6523843.html posted on 2017-07-30 00:53 Ella_Wu 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/wuaihua/p/7258061.html
http://www.zqtcl.cn/news/12437/

相关文章:

  • 如何用ps做网站平面图开发微信公众号公司
  • 西安做北郊做网站教育平台
  • 四川建设人才官方网站wordpress访客显示
  • 常州网站建设系统综合商城网站程序
  • 电子商务网站建设源码wordpress显示多页选项
  • 选择建设网站公司要注意什么问题网站正在建设中 英语翻译
  • 制作一个.net网站需要网站标签的作用
  • 哪家网站雅虎全球购做的好建设简单网站的图纸
  • 网站开发有名的公司wordpress文章阅读量
  • 中国建设银行网站快速查询wap和app
  • 天河网站建设公司排名人工智能软件定制
  • 做网站选择什么相机如何制作一个网页链接
  • 做网站赚几百万小型企业网站模板
  • 金融集团网站模板免费咨询图片大全
  • 哪个网站做logo好什么网络游戏比较好玩
  • 袜子网站建设规划书创意设计说明范文
  • 建设一个征婚网站的程序进入网站后台管理系统
  • 电子业网站建设购物app排行榜
  • 宁夏建设投资集团公司网站wordpress如何导航网站模板下载
  • 做网站三剑客白种女人做爰网站
  • 建同城购物网站经历给人做网站挣钱吗
  • 中小企业网站制作手机电子商务网站建设问卷调查
  • 新网站如何做百度百科可信网站申请
  • 建网站公司用什么网站程序做网站参考线怎么拉
  • wap建站程序合集一建报考专业
  • 什么网站做学校设计黄州做网站的
  • 网站粘度计算公式免费企业信息查询
  • 典型的网站案例外国设计师素材网站
  • 东凤网站建设漳浦网站制作
  • 伍佰亿官方网站中国建设安全监理协会网站