存储器讲课
‘壹’ 云课堂和在线课堂有什么区别
云课堂是指利用服务器已经存储好的讲课视频进行教学,而在线课堂是指双方利用网络实现实时教学
‘贰’ 信息技术作业!~
我们在基本配置中已经认识了主机箱、显示器、键盘、鼠标、音箱和话筒。这些我们能够看得见、摸得着的设备就是我们常常说起的"硬件",它就好比我们人类的大脑和身体,是物质的,是进行一切活动的基础。 键盘、鼠标和话筒都是给计算机送信号的,于是我们叫它们"输入设备",而显示器、音箱是为计算机向外界传达信息的,于是我们叫它们"输出设备"。这就好像我们的眼睛、耳朵和鼻子是给我们以视觉、听觉、嗅觉信息的,而我们的嘴、面部表情和四肢是表达我们的看法和感情的。是否还有其他的输入和输出设备呢?不但有,而且还非常多。事实上,正是各种功能各异的外围设备使我们的计算机变得更加丰富多彩。主要的输入设备还有扫描仪、数码相机甚至影碟机,输出设备有各种打印机。
中央处理单元(CPU)
CPU这三个字母是英文"Central Processing Unit"的缩写,中文意思是"中央处理器"。CPU读起来省事又好记,所以,很少有人说它的中文全名了。 中央处理器,顾名思义,就是"把数据收集到一起集中进行处理的器件"。CPU是一个电子元件,直接处理计算机的大部分数据,它处理数据速度的快慢直接影响着整台电脑性能的发挥,所以人们把CPU形象地比喻为电脑的心脏。 CPU的速度是用什么来表的呢?我们常常听人这样说:"这个CPU的主频是166兆赫兹。"CPU有主频、倍频、外频三个重要参数,它们的关系是:主频=外频×倍频,主频是CPU内部的工作频率,外频是系统总线的工作频率,倍频是它们相差的倍数。CPU的运行速度通常用主频表示,以赫兹(Hz)作为计量单位。兆是10的6次方,"兆赫兹"写作"MHz"。CPU的工作频率越高,速度就越快,性能就越好,价格也就越高。目前的CPU最高工作频率已达到1500MHz以上。
计算机之所以能够在二十几年中在全世界迅速普及,主要原因是它功能的强大、操作的简便化和价格的直线下降。而计算机功能的每一次翻天覆地的变化都是由于CPU功能的大幅度改进。我们常说的286、386、486到今天的586、Pentium Ⅱ都是CPU的型号。CPU的主要生产厂商Intel公司用"80X86"系列作为自己生产的CPU名称,例如,486就是80486的简称。 90年代以后,由于其他CPU厂家的CPU型号也是用486、586来表示的,这就使很多人误以为凡是标明为486、586的CPU都是Intel公司的产品。为了与其他厂家区别开来,Intel 公司将自己的586改名为"Pentium",中文译为"奔腾"。近年来,Intel公司又相继推出了Pentium MMX和Pentium Ⅱ。CPU每一次技术的革新,都带来相应的名称变化和计算机速度的大幅度提高。 目前,着名的CPU生产厂家除了Intel公司外,还有AMD公司、Cyrix公司等,他们的CPU性能也不错,同等档次的产品价格较Intel公司的低一些。
内存与硬盘
您可能经常听别人说,某台电脑的内存不够了,硬盘太小了之类的话。这里的"不够"、"太小"都指的是它们的容量,而不是他们的数量或几何形状的大小。内存和硬盘都是计算机用来存储数据的,它们的单位就是我们刚刚谈过的"Bytes"。 那么,为什么一个叫内存,一个叫硬盘呢?我们知道,计算机处理的数据量是极为庞大的,就好比一个人在堆满了谷物的仓库里打谷子,那怎么施展得开,工作效率又怎会高呢?于是,人们把谷子堆在仓库中,自己拿了一部分谷子到场院中去打,打完了再送回去。这下子,可没什么碍事的东西了,打谷子的速度快多了,内效率提高了。计算机也是这样解决了同类的问题。它把大量有待处理和暂时不用的数据都存放在硬盘中,只是把需要立即处理的数据调到内存中,处理完毕立即送回硬盘,再调出下一部分数据。硬盘就是计算机的大仓库,内存就是它干活的场院。 内存简称RAM,是英文Random Accessmemory的缩写。在个人计算机中,内存分为静态内存(SRAM)和动态内存(DRAM)两种,静态内存的读写速度比动态内存要快。目前市面上的内存条以"MB"为单位,比如32MB的和64MB的内存条。硬盘容量要比内存大得多,现在以"GB"为单位已属常见。当然了,内存和硬盘容量都是越大越好。可是容量越大,价钱就越高。重要的是,我们要选购够用而又不造成浪费的内存条和硬盘。如图-5所示为一块硬盘。
驱动器
要想了解软盘和光盘中的信息,就必须把他们分别插入到软盘驱动器和光盘驱动器中,供计算机对上面的数据信息进行识别和处理。软盘驱动器和光盘驱动器都位于机箱中,只把它们的"嘴巴"露在外面,随时准备"吃进"软盘和光盘。至于硬盘,由于它是不可移动的,所以被固定于驱动器之中,也就是说,硬盘和硬盘驱动器是一体的。将软盘插入软盘驱动器时要注意方向,3.5吋盘在插入时应该使转轴面向下,金属片朝前,听到驱动器口下方的弹出按钮"喀哒"一声弹出,说明软盘插好了。取出时,应该先按一下弹出按钮,软盘会自动弹出一部分,接着将软盘抽出。现在,使用5.25吋盘的人越来越少,计算机上已很少安装5.25吋软盘驱动器。 值得注意的是,软盘驱动器的上方或下方有一个小小的指示灯,当指示灯亮时,说明计算机正在读或写这个驱动器内的软盘,硬盘驱动器的指示灯也位于主机箱前面板上,指示灯亮时,表明计算机正在读或写硬盘。驱动器指示灯亮时,不能取出相应驱动器内的软盘或关机,否则可能会对磁盘造成损坏。 一台计算机可能有不止一个软、硬盘驱动器,怎样区别它们呢?我们采取给驱动器取名字的办法。驱动器的名字都是用单个的英文字母表示的,用A和B来表示软盘驱动器,用C、D、E来表示硬盘驱动器,光盘驱动器一般用字母H来表示。这样,就有了我们常说的"A驱、B驱、C驱、D驱",每台计算机一般只有一个光盘驱动器,所以经常简称之为"光驱"。
计算机之所以能够具有如此强大的数据处理能力,是因为主机箱内的重要部件忠实的各司其职。想认识一下这些功臣吗?用螺丝刀拧下机箱壳上的螺丝,轻轻的取下机箱壳,就可以看见计算机的庐山真面目了。 如下图所示,机箱中有一块电源、一个硬盘驱动器、一个光盘驱动器、一个软盘驱动器、一块插满了电子元件的电路板--主板及带状的导
线,叫做数据线。下面我们一一介绍它们的作用。
计算机电源 如图-9所示为计算机电源。计算机内部所需电压不超过12V,而市电电压是220V。计算机电源相当于一个变压器,把220V电压转化为计算机内硬件设备所需的电压,并向各部件供电。电源上有一束各种颜色带接口的导线,它们用来与主板、软驱、光驱、硬盘、CPU风扇等部件的电源接口相连,给它们供电。
电源插座 计算机需要电才能运作。计算机机箱里有一个电源,电源上有很多导线及接口。计算机电源是给主机箱中的各个硬件设备供电的。导线及接口要分别接到主板、硬盘、光驱、软驱的电源插座上。
系统主存插槽与内存条 上文说过,内存是计算机干活的"场院",是它处理数据的地方。那么内存以何种形式存在呢? 在主板上,有专门用来安插内存条的插槽,叫做"系统主存插槽"。大部分Socket 7架构主板提供72线(白色)和168线(黑色)的内存插槽。72线插槽叫做DRAM插槽,用来插DRAM内存条;168线插槽叫做SDRAM插槽,用来插SDRAM内存条。而Slot 1架构主板上只提供168线的黑色SDRAM插槽。 通常,DRAM内存条又称作SIMM,SDRAM内存条又称做DIMM。按容量大小内存条可分为8MB、16MB、32MB、64MB等种类。您可以根据自己主板上的内存插槽类型和个数酌情增插SIMM或DIMM扩充计算机内存。
扩展槽与扩展总线 扩展槽为个人电脑提供了功能扩展的接口。它可以连接声卡、显卡等设备,并把它们的信号传给主板电路,同时,将主板的信号传递给外部设备。扩展槽成了主板与外界交流的桥梁, 使个人电脑的用途得以扩展。扩展槽的接口有ISA、PCI、AGP三种。ISA接口用处不大,但仍不可缺少;PCI接口用途较广;AGP是新兴的3D图形加速端口。PCI扩展槽为白色,AGP和ISA扩展槽一般为黑色。 如图1-12所示为PCI扩展槽。 图1-11 PCI扩展槽 总线是主板与插到它上面的板卡的数据流通通道。有了总线,各板卡才能与主板建立联系,供计算机使用。扩展槽口中的金属线就是扩展总线,板卡插到扩展槽中时,其管脚的金属线与槽口的扩展总线相接触,就达到了信号互递的作用。扩展槽有ISA、PCI、AGP三种类型,相应的扩展总线也分为ISA、PCI和AGP三种类型。
RAM、ROM是什么?它们的特点是什么?区别是什么?
简单地说,在计算机中,RAM 、ROM都是数据存储器。RAM 是随机存取存储器,它的特点是易挥发性,即掉电失忆。ROM 通常指固化存储器(一次写入,反复读取),它的特点与RAM 相反。ROM又分一次性固化、光擦除和电擦除重写两种类型。
RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)。
不过,当电源关闭时RAM不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中(例如硬盘)。正因为如此,有时也将RAM称作“可变存储器”。RAM内存可以进一步分为静态RAM(SRAM)和动态内存(DRAM)两大类。DRAM由于具有较低的单位容量价格,所以被大量的采用作为系统的主记忆。
RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM就不会。4~8M的RAM对于一般应用程序的运行已经足够,如果追求多媒体功能,64M的RAM容量也只能够算是基本要求。
ROM(Read Only Memory)的全名为唯读记忆体,它相当于PC机上的硬盘,用来存储和保存数据。ROM数据不能随意更新,但是在任何时候都可以读取。即使是断电,ROM也能够保留数据。但是资料一但写入后只能用特殊方法或根本无法更改,因此ROM常在嵌入式系统中担任存放作业系统的用途。现在市面上主流的PDA的ROM大小是64MB以及128MB。
RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM就不会。
电子计算机系统包括什么?
计算机系统是能按照人的要求接受和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。计算机系统由两大部分组成:硬件(子)系统和软件(子)系统,其中硬件子系统是系统赖以工作的实体,它是有关的各种物理部件的有机的结合。软件子系统由各种程序以及程序所处理的数据组成,这些程序的主要作用是协调各个硬件部件,使整个计算机系统能够按照指定的要求进行工作。
硬件子系统包括中央处理器、主存存储器、输人输出控制系统和各种外围设备。
软件子系统包括 系统软件 、支援软件 、应用软件 三个部分。
计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。
软件(中国大陆及香港用语,台湾作软体)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
软件并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。
软件被应用于世界的各个领域,对人们的生活和工作都产生了深远的影响。
软件的正确含义应该是:
(1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。
(2)程序能够满意地处理信息的数据结构。
(3)描述程序功能需求以及程序如何操作和使用所要求的文档。
软件具有与硬件不同的特点:
(1)表现形式不同
硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。
(2)生产方式不同
软件是开发,是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。
(3)要求不同
硬件产品允许有误差,而软件产品却不允许有误差。
(4)维护不同
硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。
系统软件
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。
应用软件
应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统
较常见的有:
文字处理软件 如WPS、Word等
信息管理软件
辅助设计软件 如AutoCAD
实时控制软件
教育与娱乐软件
按操作系统分类
BeOS
DOS
Linux
Mac OS
Unix
Windows
软件开发
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。
软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发
软件许可
不同的软件一般都有对应的软件许可,软件的使用者必须在同意所使用软件的许可证的情况下采能够合法的使用软件。从另一方面来讲,某种特定软件的许可条款也不能够与法律相抵触。
未经软件版权所有者许可的软件拷贝将会引发法律问题,一般来讲,购买和使用这些盗版软件也是违法的。
二进制与十进制如何转换
1、常用进位计数制
(1)十进制
数码:0、1、…… 8、9
基数:10
位权: 10i (i=……-2,-1,0,1,2,……)
逢10进1
(2)二进制
数码:0、1
基数:2
位权: 2i (i=……-2,-1,0,1,2,……)
计算机语言包括哪些?各自特点是什么?
虽说C语言在内存管理方面存在严重的缺陷,不过它还是在某些应用领域里称王称霸。对于那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。
C良好的可移植性也为它加了分。不过现在很多其他的语言可移植性越来越好,C在这方面的优势可能会逐渐丧失。
现有的很多程序可以产生非常棒的C代码,比如语法分析器、GUI Builder等,这时候C语言也是有吸引力的,因为你所需要编写的代码只是整个程序的一小部分。
再有,我们当然应该认识道,C语言对于程序员来说具有无可替代的价值。就我这里讨论的每一种语言而论,只要你发掘的足够深,到最后你会看到它们的内核都是用纯正的、可移植的C写成的。
到了今天这个时候,我们最好把C看成是UNIX虚拟机上的高级汇编语言。
就算是其他的高级语言完全可以满足你的工作需要,抽出时间来学习C语言也仍然有益,它能帮助你在硬件体系的层次上思考问题。
即使到了今天,最好的C语言教程仍然是1988年出版的K&R第二版The C Programming Language.
总结:C最出色的地方在于其高效和贴近机器,最糟糕的地方在它的内存管理地狱。
C++
C++最初发布于1980年代中期,当时面向对象语言被认为是解决软件复杂性问题的银弹。C++的面向对象特性看相去使其全面超越了C,支持者认为C++将迅速把上一代语言挤到陈列馆里去。
但是历史并非如此。究其原因,至少有一部分归咎于C++本身。为了与C兼容,C++被迫作出了很多重大的设计妥协,结果导致语言过分华丽,过分复杂。为了与C兼容,C++并没有采用自动内存管理的策略,从而丧失了修正C最严重问题的机会。
另外一部分原因,恐怕要算到面向对象身上。看起来OO并没有很好的达成人们当年的预期。我就这个问题调研过,我发现使用OO方法导致组件之间出现很厚的粘合层,并且带来了严重的可维护性问题。今天让我们来看看开放源码社区,你会发现C++的应用还是集中在GUI,游戏和多媒体工具包这些方面,在其他地方很少用到。要知道,面向对象也只是在这些领域被证明非常成功,而开放源码社区的选择,很大程度上体现了程序员的自由意志,而不是公司管理层的胡乱指挥。
也许C++实现OO的方法有问题。有证据表明C++程序在整个生命周期的开销高于相应的C, Fortran和Ada程序。不过,究竟这是否应该归咎与C++的OO实现上,还不清楚。
最近几年,C++加入了很多非OO的思想,其异常思想类似Lisp,STL的出现是非常了不起的。
其实C++最根本的问题在于,它基本上只不过是另一种传统的语言。STL中的内存管理比先前的new/delete和C的方案要好的多,但是还是没有解决问题。对于很多应用程序而言,其OO特性并不明显,相比与C,除了增加复杂度之外没有获得很多好处。
总结:C++优点在于作为编译型语言,把效率与泛型和面向对象特性结合起来,其缺点在于过于华丽复杂,倾向于鼓励程过分复杂的设计。
Java
Java的设计很聪明,它采用了自动内存管理,这是最大的改进,支持OO设计带来的好处虽然不那么突出,不过也很值得赞赏,相比C++,其OO设计规模小而且简单 。
相对于Python而言,Java有一些明显的失误。有些地方设计的还是太复杂,甚至有缺陷。Java的类可见性和隐式scoping规则太复杂了。Interface机制是为了避免多继承带来的问题而设计的,但是要理解和使用它还是挺难。内部类和匿名类导致令人困惑的代码。缺乏有效的析构机制,使得除了内存之外的其他资源(比如互斥量和锁)管理起来很困难。Java的线程不可靠,其I/O机制很强大,但是读取一个文本文件却非常繁琐。
Java没有管理库版本的机制,从而形式上重蹈了了Windows DLL地狱的覆辙。在类似应用服务器这样的环境里,这引起了大量的问题。
总体而言,我们可以说除了系统编程和对效率要求极高的程序之外,Java在大部分领域优于C++。经验表明,Java程序员似乎不太容易象C++程序员那样构造过度的OO层,不过在Java中这仍然是个严重问题。
Java是否优于诸如Perl, Python这样的语言?我们还不是很清楚,很大程度上似乎跟程序规模有关。其擅长的领域基本上于Python相似,在效率上无法跟C/C++相提并论,在小规模的、大量使用模式匹配和编辑的项目里也无法匹敌Perl。在小项目里,Java显得过分强大了。我们猜测Python更适合小项目,而Java适合大项目,不过这一点并没有得到有力的证明。
Python
Python是一种脚本语言,可以与C紧密整合。它可以与动态加载的C库模块交换数据,也可以作为内嵌脚本语言而从C中调用。其语法类似C和模块化语言的杂合,不过有一个独一无二的特征,就是以缩进来确定语句块。
Python语言非常干净,设计优雅,具有出色的模块化特性。它提供了面向对象能力,但不强迫用户进行面向对象设计。其类型系统提供了强大的表达能力,类似Perl,具有匿名lambda表达式,这点又让Lisp黑客们感到亲切。Python依靠Tk提供方便的GUI界面开发能力。
在所有的解释型语言里,Python和Java最适合多名程序员以渐进方式协同开发大型项目。在很多方面,Python比Java要简单,它非常适合与构造快速原型,这一点使得它对于Java有独特优势:对于那些既不很复杂,又不要求高效率的程序,Python十分合适。
Python的速度没法跟C/C++相比,不过在今天的高速CPU上,合理地使用混合语言编程策略使得Python的上述弱点被有效地弥补。事实上,Python几乎被认为是主流脚本语言中最慢的一个,因为它提供了动态多态性。在大量使用正则表达式的小型项目,它逊于Perl。对于微型项目而言,shell和Tcl可能更好,Python显得太过强大了。
总结:Python最出色的地方在于,它鼓励清晰易读的代码,特别适合以渐进开发的方式构造大项目。其缺陷在于效率不高,太慢,不但跟编译语言相比慢,就是跟其他脚本语言相比也显得慢。