电脑本身有系统,电脑系统有自己思想吗
1.基于冯诺依曼思想而设计的计算机硬件包括
2.电脑系统是什么东西?能用一个实物来比喻吗?
3.简要说明计算机系统的构成与工作原理
4.计算机操作系统的工作原理是什么?
5.冯·诺依曼体系结构的基本思想是什么?
6.linux是个什么操作系统
基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel?64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
基于冯诺依曼思想而设计的计算机硬件包括
1.九九加一原则与中断控制器
让软件设计中的99%工作更加简单易行,从而降低应用程序设计的综合复杂性和难度,对仅有的1%的极端需求更多地考虑可实现性而不是便利性,使应用程序能够实现这些极端功能,又不为了这极少数工作的方便性而使整个系统过于复杂,这个特点在djyos的中断管理中体现得淋漓尽致。
普通的操作系统,只是提供了几个函数,方便程序员编写ISR函数以及开关中断等。而djyos则不同,它把中断看做是一种特殊的事件,把它纳入事件管理的轨道。实际应用中,既有像键盘这样对实时性没有要求的中断,也有对中断响应延时时间非常苛刻的高速信号。
普通操作系统对这两种中断信号不加区分,把所有中断都看做需要快速响应的信号。它为没有实时要求的信号提供快速响应,而不能进一步改善高速信号的响应时间。而djyos却区别对待,它把中断分为实时中断和异步信号,任意一个中断源都可以设定自己属于实时中断还是异步信号。只要你把某中断设为实时中断,它将获得比传统操作系统快得多的响应延时,且在操作系统运行中,永远不会关闭实时中断使能,代价是,实时中断的ISR不能使用所有的操作系统API。而异步信号则响应时间比普通操作系统慢一些,但几乎所有事件服务可以使用的操作系统服务,它都可以使用,比如异步信号ISR允许使用malloc函数,编程上比普通操作系统ISR方便得多。异步信号的第二种响应方式则完全在事件上下文中,比异步信号ISR响应更加慢,但却获得了与主程序相同的操作系统服务。
所以说,在djyos下编程,对于绝大多数实时性要求不是那么高的中断,提供比传统操作系统方便得多的编程环境,而对极少数对响应时间非常苛刻的中断,则提供了比传统操作系统更高的实现的可能性。
2.事件调度,让工程师解放思想硬件和操作系统是舞台,程序员是演员,而项目经理、系统工程师则是导演、编剧。舞台可能是木板、沙石、水泥建造的,而软件开发平台则由硬件、操作系统管理下的线程等组成,就像演员不需要知道舞台是什么材料制造的,只需要用心演绎剧本一样,我们不应该要求程序员了解CPU内部运作过程以及线程和进程这些晦涩难懂的机制,只需要把软件功能实现就可以了。
在传统操作系统中,线程的创建、启动、暂停、停止、删除等无一不是由程序员自己控制的,在桌面系统(包括嵌入式的Windows CE)上,有Visual C++等工具替你包装,简化了多线程编程,在嵌入式环境中,程序员需要熟悉线程的一切。更重要的是,由多线程实现应用程序,是CPU执行过程决定的,要求程序员熟练操作线程,实际上就是要求程序员按照CPU执行过程思考问题。
djyos是按事件调度的,它使程序员可以按照人类认知事物的方式编写程序,没有任何跟线程相关的API函数,程序员只需要做以下两件事
(1)登记事件类型把需要计算机做的事情告诉告诉操作系统。
(2)2、编写事件处理函数。
我们知道,软件是用于解决实际问题的,这些问题可能需要很深的行业背景,比如化工、生物科学等,程序员则很可能是这些行业的专家,这些专家对计算机有可能一知半解,在嵌入式领域尤甚。要他们理解并熟练应用线程知识,需要花费很大的代价,以及很多的培训经费,而djyos下编程,他们就可以摆脱这些束缚,可以尽情地发挥自己的专业知识。
3.小goto与大GOTO写过C代码的都知道,goto是很受忌讳的语句,甚至有人根本不用。我们对函数内的goto耿耿于怀的同时,却无视长期存在的、组件之间、线程之间的大GOTO,甚至有些操作系统还为提供了丰富的大GOTO为卖点,说什么为应用程序提供丰富的服务。
什么是大GOTO呢?我们看看唤醒休眠中的线程函数的执行结果,假设这个函数的函数名是task_resume,并且假设该该操作系统是按优先级调度的。线程A调用task_resume(taskB_id)后,如果线程B的优先级高于A,则立即切换到B的上下文继续执行。所以,对线程A来说,相当于执行了一个跨组件的GOTO,对于线程B来说,它睡得好好的,却被人无缘无故地叫醒。对项目经理来说,即团队A与团队B之间存在直接的交叉控制,或称交叉跳转。
djyos不提供任何类似的操作,所有事件都是自己控制自己的行为,没有任何事件处理函数间交叉控制的可能,djyos认为,事件处理过程中,不会无缘无故地停止,也不会无缘无故地继续,djyos提供各种服务,让应用程序自己控制自己的行为。程序停下来,必定有其理由,要么是要等待一定的时间,djyos提供闹钟同步功能;要么是等待某个锁可用,djyos提供锁同步功能;要么是等待某事件结束,djyos提供事件同步功能……,总之,这些同步功能的支持下,应用程序每个事件都达到自己控制自己行为的目标,而彻底摒弃了应用程序模块之间的交叉控制。也就是说,djyos中不存在跨事件(对应其他操作系统的线程)的大GOTO。
4.友好组划分,帮助项目经理组建和管理团队一个大中型项目,需要划分为多个团队共同开发,项目经理梦寐以求的是,各个团队之间减少扯皮;项目进入联调阶段后,项目经理梦寐以求的是,各组件独立调通后就能协同运行,减少联调扯皮时间。即使一个人的项目,也会划分为多个组件,上述问题同样存在,而且,项目完成后,进入维护期后,组件独立性强的能大大降低维护工作量。
在由多个子团队协同开发的项目中,项目经理以及系统工程师必须考虑的问题是,哪些模块放在一起编译,哪些模块共享命名空间,如果在支持多进程的环境下开发,则还要考虑哪些模块在相同的地址空间运行。这些问题集中到一起,就是如何划分“软件友好组”的问题。在《都江堰操作系统与嵌入式系统设计》一书的第3章,用了相当长的篇幅用于讲述友好组。
友好组的定义很简单,就是可信赖的程序组成一个友好组,什么是可信赖的程序?同一个团队开发的程序是可信赖的。“友好”有两层意思,一是这些代码是为一个共同的目标,密切协作地完成任务;二是这些代码不会主动地、恶意地互相干扰和破坏,也不会故意执行非法操作。有两个特例是,如果同一个团队开发的两个模块将来可能会分成两个团队开发,应该将他们分成两个友好组;第二个特例是,两个模块的可靠性等级相差比较大,也应该分属两个友好组,这样,两个模块就可以使用不同强度的测试手段。
以设计软件的人为核心,是都江堰操作系统的核心思想之一。现代软件开发中,非常强调工程化开发的思想,在工程化开发中,任何软件策略都不能不考虑人的因素。划分友好程序和可疑程序是 djyos 操作系统设计中的一个根本性的策略,划分的依据是开发团队,而不是以技术特征,是都江堰操作系统当然的选择。把协同工作的团队开发的所有代码称作友好程序,划入一个友好组,而把所有不协同工作的团队以及个人开发的程序当成可疑程序,主要考虑的是人的因素。根据这个原则,操作系统自身的所有代码是由一个核心团队开发的,当然地成为一个友好代码组,操作系统开发团队无需与开发应用程序的团队和个人协作,它把所有应用程序都当作可疑程序;同样,一个应用程序是由一个人或者一个密切协作的团队开发的,该程序的所有代码形成一个友好组,而把所有其他应用程序以及操作系统都视为可疑程序。这与传统的观念不同,传统的观念认为,操作系统是可信程序,而用户程序是非可信程序。
djyos建立篱笆墙隔离友好组,使之不能互相影响和互相破坏,以及提供不同友好组之内完整的命名空间。根据硬件支持情况,友好组之间的保护分为两个级别。
(1)如果硬件支持,不同友好组拥有独立的寻址空间,他们之间的代码、数据在物理上互不可见,也就无法互相破坏。
(2)如果硬件不支持,在平板内存模式下实现逻辑隔离,在编写软件时,同一个友好组的代码独立编译,拥有独立的命名空间,友好组之间的函数、变量互不可见,使其不能显式地互相破坏。
5.轻耦合,实现组建独立开发和调试一个系统的各个模块,将不可避免地发生相互联系和相互影响,我们称之为模块间耦合。耦合分为良性耦合和恶性耦合,比如模块间互相传递必要的数据就是良性耦合,而模块间互相使用对方的数据,或者要求对方必须如何如何做,从而使模块间互相依赖,这种耦合叫做恶性耦合,下文中说到的耦合如不说明均指恶性耦合。系统模块级设计的目的就是使各模块间尽可能地互相独立,尽量减少彼此之间的耦合,即使不可避免耦合,也要仔细设计模块间的接口,使之成为良性耦合。这样,各模块就能够独立开发、独立维护、独立生存,能够通过动态裁剪来适应新的需求,使企业能够制定灵活的产品战略,当经营环境发生变化时,能够降低转型的成本。我们知道,耦合是造成团队间不能独立开发、项目开发中互相扯皮的罪魁祸首,且在联调时,模块间耦合越紧密,联调的工作量就越大。djyos致力于从技术的角度,帮助程序设计者降低甚至消除模块间的耦合,为此,djyos做了许多工作,这里略举一例。
我们知道,在操作系统支持下编程,线程执行过程中调用系统服务函数是最常见不过的动作了。这里隐藏着一个问题,系统服务函数会使用当前线程的栈,如果你没有为这些调用准备足够的栈空间,就可能因此造成栈溢出,产生不可预知的故障,这就是操作系统团队编写的代码与应用程序团队编写的线程代码发生了恶性耦合。每个线程在创建时,都会给它指定一个合适大小的栈,在台式机中,一般会在M级以上,这种耦合一般不会出问题,而在嵌入式系统中,由于内存稀缺,栈可能只有几十k。栈尺寸既要能满足线程需求,又不能占用太多的内存,这就要求能够准确估计线程所需的栈尺寸。然而,程序员只能准确估计自己写的代码所需要的栈尺寸,调用系统服务时,系统服务函数需要多少栈呢?应用程序的程序员是很难估算出来的。djyos对这种情况做了处理,他明确告诉程序员,你只需要估计自己写的代码需要的栈,并且详细说明了如何估计栈需求,系统在创建线程时,会自动加上系统服务所需要的栈,这样就避免了系统服务使用线程栈带来的问题。
6.天生匹配多核系统传统的操作系统,线程是调度的目标,而事件是作为被线程处理的数据(资源)而存在的,djyos以事件为调度目标,而把CPU以及线程当资源,这种倒过来的配置方法,天生就更加适合多核,我们有望在只有几十K大小的操作系统上,实现对称多核CPU的完美支持。以后的嵌入式芯片也会往多核方向发展,比如现在ADI公司的blackfin就有对称双核型号,而且blackfin是没有mmu的、典型的嵌入式CPU,其直接竞争对手——Ti也有类似的双核产品。
传统的操作系统下,由应用程序建立线程或进程,并为线程和进程编写代码,线程一般被绑定在某一个内核上,绑定方法有两种,一是由操作系统调配,另一种是由程序员指定,比如ADI的VDK操作系统,就是在编译阶段由程序员指定的。线程与CPU核的绑定,实际上就是应用程序代码与CPU核绑定。一个线程处理相应的计算任务,在传统模式下,即使某线程的计算任务频繁发生,也只能由该线程所在的CPU核上一一处理,你可以做一个实验,在双核机上,用Word把一个大型文件转换成PDF,在转换过程中,如果你没有运行其他程序,CPU占有率会一直在51%左右,就是说,一个CPU核一直忙,另一个则一直闲着。
djyos的事件调度,应用程序只管为事件编制处理程序,而线程是由操作系统分配的,线程绑定在哪个CPU核上,也是由操作系统决定的,这样就解除了应用程序代码与CPU核的绑定。如果某一类事件频繁发生,操作系统将会给它分配多个线程,这些线程将根据各CPU核的繁忙程度,分配到不同的CPU上。
7.拿来拿去主义计算机技术发展到现在,已经有很多技术积累,开发一个复杂的嵌入式产品,要懂得“拿来主义”,不要完全从0开发全部软件和硬件。但是,怎样拿来呢?开发高可靠的产品,对使用外来代码会非常谨慎,甚至只使用有商业支持的外来代码。任何外来代码,都要经过通读、仔细分析,完全测试过以后才允许使用,有商业支持的代码,供应商会提供支持,这个过程进行得就快些;而没有商业支持的所谓开源代码,这些代码甚至没有完整的注释,读懂这样的代码,所花费的时间甚至不会比自己开发少多少。所以,高可靠产品的“拿来主义”,主要靠继承企业自身积累的软件模块,来降低开发工作量。要使新产品开发时有东西可以拿来用,企业产品开发过程只就要非常注重“可拿去性”,一句话,不拿去,何以拿来,而可拿去性,实质上就是可移植性!djyos系统支持下,在系统设计时强调“可拿来性”,即系统融合现成的软件模块的能力;在模块设计方面,强调“可拿去性”,即模块应该能适应不同的运行环境。djyos系统融合现成模块的能力,除了与传统操作系统一样提供并发运行能力外,等多地考虑支持程序设计者组合现有模块成为一个新产品,以及设计可组合模块的能力。djyos有许多特性支持拿来拿去主义,泛设备管理器就是一个典型的、支持拿来主义的模块之一。
按djyos的视点,每一个应用程序模块面对的运行环境,不仅仅包括硬件和操作系统,还包括其他软件模块。即使硬件和操作系统没有任何变化,如果产品中其他模块发生了变化,也看做是运行环境发生了变化,djyos强调要软件模块适应这种变化。一个企业,往往有几十几百种系列化的产品型号,这些型号可能建立在相同的硬件和操作系统平台上的,仅仅是应用程序模块的组合和配置不一样。对这样的企业来说,软件模块的灵活组合能力非常重要。传统操作系统的driver架构,是设计来让应用程序以标准的方式访问硬件,屏蔽硬件平台的差异性,driver的使用者和被驱动者有明显的层次关系。而djyos把应用程序的其他模块也看做环境,driver是用于屏蔽整个环境差异的。djyos从软硬件联合设计的角度出发,软件模块、硬件模块、软硬件相结合的模块之间没有层次关系,而统一称之为系统功能模块。因此driver架构也不分层次,driver的使用者和被操作者是平等的关系,一个应用程序模块通过driver提供标准的与其他模块互相访问的接口,只要企业内所有模块都遵循这个接口,那么这个企业内的所有软件模块都可以灵活组合。
8.实时的malloc函数在RTOS中,通常认为malloc函数是非实时组件,因为即使有充足的内存,malloc函数的执行时间也不可预计,不符合实时系统要求执行时间和结果均可预计的原则。但是djyos的内存管理,在一定条件下是实时的,只要在系统设计时,配备充足的内存,malloc的执行时间是快速而且可以预计的,而在只运行一个应用程序的实时系统中,内存不枯竭是容易做到的。djyos的内存分配使用双金字塔的检索结构,以页为单位,在4G寻址空间,页尺寸为1K,CPU字长是32的系统中,只需要经过5次搜索(共5次比较、5次乘法和5次加法)就可以定位一个空闲页,速度是相当快的。
除实时特性外,djyos的内存管理还能在一定程度上防止内存泄漏,而且malloc函数允许在中断ISR中调用。
电脑系统是什么东西?能用一个实物来比喻吗?
基于冯诺依曼思想而设计的计算机硬件系统包括控制器、运算器、存储器、输入设备、输出设备。
1、运算器:计算机硬件中的运算器主要功能是对数据和信息进行运算和加工。
2、控制器:控制器和运算器共同组成了中央处理器(CPU)。控制器可以看作计算机的大脑和指挥中心,它通过整合分析相关的数据和信息,可以让计算机的各个组成部分有序地完成指令。
3、存储器:存储器就是计算机的记忆系统,是计算机系统中的记事本。而和记事本不同的是,存储器不仅可以保存信息,还能接收计算机系统内不同的信息并对保存的信息进行读取。
4、输入设备:输入设备和输出设备都是进行人机互动的关键设备。
5、输出设备:输出设备也是计算机人机互动的关键设备,它的特点是可以将计算机的信息以画面的形式展现出来,具有很好的直观性。常见的输出设备有显示器、打印机、语音和视频输出装置等。
计算机主板故障
主板是计算机硬件系统中最重要的组成部分之一,是整个计算机系统运行的基础,主板故障往往表现在计算机无法正常启动等难以判断的故障现象。
建议先装好主板驱动,再装显卡、网卡、声卡等其他板卡的驱动。如果主板电池出现问题,可以重设跳线,若问题依旧,可能是主板电池电压不够或损坏,这种情况更新主板电池再试。若因硬件冲突产生蓝屏,BIOS被破坏造成无法显示时,可以用刷BIOS的办法来处理。
另外要仔细检查主板上的元件是否有松动。主板的电源有无接好或主板上的积尘太多也会造成主板发生故障。
简要说明计算机系统的构成与工作原理
简单来说,作为智能设备的电脑系统相当于一个人,硬件系统——就相当于人的肉体,软件系统——就相当于人的大脑中枢中的思维和记忆等内容。软件的存在是依赖于硬件的,就于同大脑的思维活动依赖于脑细胞才能存在。
智能设备的软件和数据是都是用0、1两种数码表示的,因此也称这类设备为数字设备。
软件系统可包括两类:程序和数据。程序决定电脑进行怎样的思维运算活动,数据则是电脑思维和动的“素材”或成果。
具体的细节就比较多了,你可以从网上查找有关资料。
事实上所有的智能设备都是这个原理,但具体的硬件构架差别比较大,比如智能手机,甚至mp3、mp4等。
回过头来说,电脑和人一样,只不过是一架复杂的机器。只是这种机器的控制系统精密而复杂且集成度很高,从而显得自动化程度很高。
这里所说的集成度很高就在于控制机器的大量而复杂、巧妙的指令集中装在电脑内存或人脑中,通过人脑的大脑皮层或电脑的CPU集中处理,通过人脑的脑干脊髓或电脑的南北桥芯片和总线最终控制具体的物理动作(行走,说话,显示,打印)。
计算机操作系统的工作原理是什么?
计算机的工作原理
半个世纪以来,计算机已发展成为一个庞大的家族,尽管各种类型的性能、结构、应用等方面存在着差别,但是它们的基本组成结构却是相同的。现在我们所使用的计算机硬件系统的结构一直沿用了由美籍著名数学家冯?诺依曼提出的模型,它由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成。
随着信息技术的发展,各种各样的信息,例如:文字、图像、声音等经过编码处理,都可以变成数据。于是,计算机就能够实现多媒体信息的处理。
各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。整个过程由控制器进行控制。
? 计算机系统的基本硬件组成及工作原理示意图
计算机系统的基本组成,完整的计算机系统系统包括:硬件系统和软件系统。硬件系统和软件系统互相依赖,不可分割,两个部分又由若干个部件组成。
硬件系统是计算机的“躯干”,是物质基础。而软件系统则是建立在这个“躯干”上的“灵魂”。
计算机硬件
计算机硬件系统由五大部分组成:运算器、控制器、存储器、输入设备、输出设备。
中央处理器 (CPU -- Central Processing Unit )
CPU的内部结构可分为控制单元,逻辑单元和存储单元(寄存器)三大部分。如果将CPU集成在一块芯片上作为一个独立的部件,该部件称为微处理器(Microprocessor,简称MP)。
CPU的工作原理就象一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储器)中,最后等着拿到市场上去卖(交由应用程序使用)。
1.运算器:是计算机中进行算术运算和逻辑运算的部件,通常由算术逻辑运算部件(ALU)、累加器及通用寄存器组成。
2.控制器:用以控制和协调计算机各部件自动、连续地执行各条指令,通常由指令部件、时序部件及操作控制部件组成。
CPU 的主要性能指标是字长和主频。
字长表示CPU每次计算数据的能力(二进制的位数)。如80486及Pentium系列的CPU一次可以处理32位二进制数据。
主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。CPU的主频=外频×倍频系数。很多人以为认为CPU的主频指的是CPU运行的速度,实际上这个认识是很片面的。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力是没有直接关系的。当然,主频和实际的运算速度是有关的,但是目前还没有一个确定的公式能够实现两者之间的数值关系,而且CPU的运算速度还要看CPU的流水线的各方面的性能指标。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。因此主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。时钟频率主要以MHz为单位来度量,通常时钟频率越高,其处理速度也越快。目前的主流CPU的时钟频率已发展到500MHz以上,甚至高达2GHz(2000MHz)以上。
3.存储器 存储器的主要功能是用来保存各类程序的数据信息。
存储器可分为主存储器和辅助存储器两类。
①主存储器(也称为内存储器),属于主机的一部分。用于存放系统当前正在执行的数据和程序,属于临时存储器。
①辅助存储器(也称外存储器),它属于外部设备。用于存放暂不用的数据和程序,属于永久存储器。
存储器与 CPU的关系可用右图来表示。
(1)内存储器
一个二进制位(bit)是构成存储器的最小单位。实际上,常将每 8位二进制位组成一个存储单位,简称字节(Byte)。字节是数据存储的基本单位。为了能存取到指定位置的数据,给每个存储单元编上一个号码,该号码称为内存地址。
度量内存主要性能指标是存储容量和存取时间。存储容量是指存储可容纳的二进制信息量,描述存储容量的基本单位是字节。
信息存储单位? 信息的单位常采用位、字节、字、机器字长等。
1、位(bit,缩写为b)? 度量数据的最小单位,表示一位二进制信息。
2、字节(byte,缩写为B)
一个字节由八位二进制数字组成,1byte=8bit。字节是信息存储中的基本单位。每个英文字母要占一个字节,一个汉字要占两个字节。 其它常用单位有:
KB(千字节)? 1 K=1024 B MB(兆字节)? 1 M=1024 K GB(吉字节)? 1 G=1024 M
3、若干个字节构成一个存储单元,每一个存储单元都有一个唯一的编号,称为“地址”,通过地址对存储单元进行访问。
4、字(word) 字是一个存储单元所存储的内容。常用的固定字长有8位、16位、32位等。
5、机器字长 机器字长指一个存储单元(或一个字)所含有的二进制数的位数,它是衡量计算机精度和运算速度的主要技术指标。机器的功能设计决定了机器的字长。
千,1KB=2的10次方=1024B,
兆,1MB=2的20次方=1024*1024B=1024KB,
吉,1GB=2的30次方=1024*1024*1024B=1024MB,
太,1TB=2的40次方=1024*1024*1024*1024B=1024GB,
拍,1PB=2的50次方=1024*1024*1024*1024*1024B=1024TB,
艾,1EB=2的60次方=1024*1024*1024*1024*1024*1024B=1024PB,
泽,1ZB=2的70次方=1024*1024*1024*1024*1024*1024*1024B=1024EB,
尧,1YB=2的80次方=1024*1024*1024*1024*1024*1024*1024*1024B=1024ZB
存取时间是指存储器收到有效地址到在输出端出现有效数据的时间间隔。通常存取时间用纳秒为单位。存取时间愈短,其性能愈好。?
内存储器按其工作方式可分为随机存储器(Random Access Memory,简称 RAM)和只读存储器(Read Only Memory,简称 Rom)两类。
①RAM
RAM在计算机工作时,既可从中读出信息,也可随时写入信息,所以, RAM是一种在计算机正常工作时可读/写的存储器。在随机存储器中,以任意次序读写任意存储单元所用时间是相同的。目前所有的计算机大都使用半导体随机存储器。半导体随机存储器是一种集成电路,其中有成千上万个存储单元。
根据内存器件结构的不同,随机存储器又可分为静态随机存储器(Static RAM,简称 SARM)和动态随机存储器(Dynamic RAM,简称 DRAM)两种。
静态随机存储器(SARM)集成度低,价格高。但存取速度快,它常用作高速缓冲存储器(Cache)。
Cache是指工作速度比一般内存快得多的存储器,它的速度基本上与 CPU速度相匹配,它的位置在 CPU与内存之间 (如下图所示)。在通常情况下, Cache中保存着内存中部分数据映像。 CPU在读写数据时,首先访问 Cache。如果 Cache含有所需的数据,就不需要访问内存;如果 Cache中不含有所需的数据,才去访问内存。设置 Cache的目的,就是为了提高机器运行速度。
?
动态随机存储器使用半导体器件中分布电容上有无电荷来表示 “0”和 “1”的,因为保存在分布电容上的电荷会随着电容器的漏电而逐步消失,所以需要周期性的给电容充电,称为刷新。这类存储器集成度高、价格低、存储速度慢。
随机存储器存储当前使用的程序和数据,一旦机器断电,就会丢失数据,而且无法恢复。因此,用户在操作计算机过程中应养成随时存盘的习惯,以免断电时丢失数据。
②ROM
只读存储器(ROM)只能做读出操作而不能做写入操作。只读存储器中的信息是在制造时用专门的设备一次性写入的,只读存储器用来存放固定不变重复执行的程序,只读存储器中的内容是永久性的,即使关机或断电也不会消失。
目前,有多种形式的只读存储器,它们在特定条件下可以擦除,重写信息,常见的有如下几种:
PROM:可编程的只读存储器。 (Programmable ROM)
EPROM:可擦除的可编程只读存储器。(Erasable ROM)
EEPROM:可用电擦除的可编程只读存储器。(Electronic Erasable ROM / E2PROM )
CPU(运算器和控制器)和主存储器组成了计算机的主机部分。
(2)外存储器
外存储器大都采用磁性和光学材料制成。与内存储器相比,外存储器的特点是存储容量大,价格较低,而且在断电的情况下也可以长期保存信息,所以称为永久性存储器。缺点是存取速度比内存储器慢(依靠机械转动选择数据区域),常见的外存储器有以下几种:
硬盘:硬盘的特点是可靠性高,存储容量大,读写速度快,对环境要求不高。缺点是不便于携带,切工作时应避免振动。
光盘:光盘是用光学的方式制成的,光盘盘片上有一层可塑材料。写入数据时,永高能激光束照射光盘片,可在可塑层上灼出极小的坑,并以有无小坑表示数字 “ 0”和 “ 1”,当数据全部写入光盘后,再在可塑层上喷涂一层金属材料,这样光盘就不能再写入数据。再读出数据时,永低能激光束入射光盘,利用盘表面上的小坑和平面处的不同反射来区分 “ 0”和 “ 1”。 目前微型计算机中大都配有只读式光盘(COMPACT DISK READ ONLY MEMORY,简称 CD-ROM),每张关盘容量可达 650MB,DVD可达4G,可存放程序,文本,图象,音乐和**等各种信息。
4、输入设备
键盘(Keyboard )、鼠标(Mouse )、手写笔、触摸屏、麦克风 、扫描仪(Scanner )、条形码扫描、视 频输入设备。
5、输出设备
o显示器(Monitor ):目前主要有 CRT (阴极射线管)显示器和 LCD 液晶显示器。
o打印机(Printer ):主要有针式打印机、喷墨打印机、激光打印机。
o绘图仪 o音箱
*总线
计算机总线是一组连接各个部件的公共通信线。计算机中的各个部件是通过总线相连的,因此各个部件间的通信关系变成面向总线的单一关系。但是任一瞬间总线上只能出现一个部件发往另一个部件的信息,这意味着总线只能分时使用,而这是需要加以控制的。总线使用权的控制是设计计算机系统时要认真考虑的重要问题。
总线是一组物理导线,并非一根。根据总线上传送的信息不同,分为数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。
① 地址总线
地址总线传送地址信息。地址是识别信息存放位置的编号,主存储器的每个存储单元及 I/O接口中不同的设备都有各自不同的地址。地址总线是 CPU向主存储器和 I/O接口传送地址信息的通道,它是自 CPU向外传输的单向总线。 地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为2^16=64KB,16位微型机的地址总线为20位,其可寻址空间为2^20=1MB。一般来说,若地址总线为n位,则可寻址空间为2n字节。
②数据总线
数据总线传送系统中的数据或指令。数据总线是双向总线,一方面作为 CPU向主存储器和 I/O接口传送数据的通道。另一方面,是主存储器和 I/O接口向 CPU传送数据的通道,数据总线的宽度与 CPU的字长有关。通常与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以指令代码或状态信息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。
③控制总线
控制总线传送控制信号。控制总线是 CPU向主存储器和 I/O接口发出命令信号的通道,又是外界向 CPU传送状态信息的通道。
我们通常用总线宽度和总线频率来表示总线的特征。总线宽度为一次能并行传输的二进制位数,即 32位总线一次能传送 32位数据, 64位一次能传送 64位数据。总线频率则用来表示总线的速度。
冯·诺依曼体系结构的基本思想是什么?
计算机的基本原理是存储程序和程序控制。预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中。每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。
程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理。
linux是个什么操作系统
(一)冯·诺依曼设计思想
计算机问世50年来,虽然现在的计算机系统从性能指标、运算速度、工作方式、应用领域和价格等方面与当时的计算机有很大的差别,但基本体系结构没有变,都属于冯·诺依曼计算机。
冯·诺依曼设计思想可以简要地概括为以下三点:
① 计算机应包括运算器、存储器、控制器、输入和输出设备五大基本部件。
② 计算机内部应采用二进制来表示指令和数据。每条指令一般具有一个操作码和一个地址码。其中,操作码表示运算性质,地址码指出操作数在存储器的位置。
③ 将编好的程序和原始数据送入内存储器中,然后启动计算机工作,计算机应在不需操作人员干预的情况下,自动逐条取出指令和执行任务。
冯·诺依曼设计思想最重要之处在于他明确地提出了“程序存储”的概念。他的全部设计思想,实际上是对“程序存储”要领的具体化。
(二)计算机基本结构图
(图中实线为数据流,虚线为控制流),我们可以更好地理解“存储程序”和“程序控制”。
输入设备在控制器控制下输入解题程序和原始数据,控制器从存储器中依次读出程序的一条条指令,经过译码分析,发出一系列操作信号以指挥运算器、存储器等到部件完成所规定的操作功能,最后由控制器命令输出设备以适当方式输出最后结果。这一切工作都是由控制器控制、而控制器赖以控制的主要依据则是存放于存储器中的程序。人们常说,现代计算机采用的是存储程序控制方式,就是这个意思。
(三)计算机的工作过程
计算机的工作过程,就是执行程序的过程。怎样组织存储程序,涉及到计算机体系结构问题。现在的计算机都是基于“程序存储”概念设计制造出来的。
了解了“程序存储”,再去理解计算机工作过程变得十分容易。如果想叫计算机工作,就得先把程序编出来,然后通过输入设备送到存储器保存起来,即程序存储。下面就是执行程序的问题。根据冯·诺依曼的设计,计算机应能自动执行程序,而执行程序又归结为逐条执行指令。执行一条指令又可分为以下4个基本操作:
① 取出指令:从存储器某个地址中取出要执行的指令送到CPU内部的指令寄存器暂存。
② 分析指令:把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作。
③ 执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作。
④ 为执行下一条指令作好准备,即取出下一条指令地址。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件。Linux操作系统继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统特点有很多,以下是详细内容介绍:
①稳定的系统:Linux十分稳定,连续运行一年以上不曾宕机是很平常的事情,Linux有众多电脑高手在使用,维护者众多、更新维护快,而Windows则是所有人都会用,且不开源多任务。
②多用户系统:在一个Linux主机上规划出不同等级的用户,每个用户登录时工作环境可以不同,还允许不同用户在同一时间登录主机以使用主机的资源。
③用户组规划:在Linux机器上,文件可以分为可读可写可执行三类。此外,这些属性还可以分为三类:文件拥有者、文件所属用户组、其他非拥有者与用户组者,对于项目或者其他项目开发者具有良好的保密性。
④占用资源少:现在市场上任何一款个人计算机都可以达到使用Linux搭建一个服务上百人以上的主机可定制剪裁,移植到嵌入式平台,可选择多种图形用户界面。
⑤模块化程序:Linux内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特的模块机制可根据用户的需求,实时地将某些模块插入或从内核中移走,使得Linux系统内核可以裁剪得非常小巧。
⑥广泛的硬件支持:Linux能支持X86、ARM、MIPS、ALPHA和PowerPC等多种体系结构和微处理器。目前已成功地移植到数十种硬件平台,几乎能运行在所有流行的处理器上。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。