电脑系统的底层在哪里-电脑系统的底层在哪里打开
1.电脑麒麟系统底层面板看不到已开软件显示
2.硬件与计算机体系结构的关系
3.计算机科学与技术专业就业方向是什么
4.什么是操作系统,简述操作系统的主要功能
5.计算机操作系统的基本任务是什么?
电脑麒麟系统底层面板看不到已开软件显示
1.桌面底部任务栏消失,重启电脑后也还是一样,终端敲命令
mate-panel --reset
2.根据错误提示,发现空间使用不足,继续敲命令检查磁盘空间情况
df -h
3.检查后发现一个磁盘确实是满了,通过进一步分析可得,文件主要是桌面上堆满了,磁盘下索性就将桌面上的文件复制到另一个磁盘下,并将桌面清空,再次敲击命令,发现还是无法重置任务栏。
4.随后使用另一个命令,任务栏即可显示正常。
mate-panel --replace
硬件与计算机体系结构的关系
导读多核和Cell等新型处理结构的出现不仅是处理器架构历史上具有里程碑式的,对传统以来的计算模式和计算机体系架构也是一种颠覆
智能革新
2005年,一系列具有深远影响的计算机体系结构被曝光,有可能为未来十年的计算机体系结构奠定根本性的基础,至少为处理器乃至整个计算机体系结构做出了象征性指引。我们看到,随着计算密度的提高,处理器和计算机性能的衡量标准和方式在发生变化,从应用的角度讲,讲究移动和偏向性能两者已经找到了最令人满意的结合点,并且有可能引爆手持设备的急剧膨胀。尽管现在手持设备也相对普及,但是在计算能力、可扩展性以及能耗上,完全起步到一台手持设备应该具备的作用;另一方面,讲究性能的服务器端和桌面端,开始考虑减少电力消耗赶上节约型社会的大潮流。
本来,这些都应该是此前十年要意识到并解决的问题,却恰恰被高速增长的喜悦淹没,片面追求性能和技术细节简直就带来了一场灾难。电脑到目前为止并没有变得更为方便好用,反而由于可用的层面更广,人们依旧无所适从。现在很多人意识到,必须从硬件设计上就具备某些功能,比如自主的电脑系统管理、编译器层面的多任务分配和通过虚拟或者其他技术实现的各个用户、网络、设备的有效隔离和管理,防止过快扩张从而有效降低IT的维护成本和费用。
未来十年内最会被关注的系统架构大迁移,乃是Cell引领了完全可扩展的架构模式。尽管SONY的初衷可能是生产一个能强悍的游戏机处理器,IBM和东芝却有更深远的打算,它可以从大型机、服务器一直到手机维持统一的架构,需要改变的仅仅是频率、内核数量等等相关参数,从而在开发的时候能够具备在一个机器上开发,在所有机器上运行的可能。尽管其中可能因为种种原因,比如操作系统的不同,无法实现完全的代码共享,但实现代码的二进制共享是完全可能的。由此意味着,使用Cell的手机完全可以与相应的服务器进行直接沟通和共享,从而把这些小集合成为一个庞大的计算,在成就与否定自己的过程中实现的最大化利用。在这个体系之中,每个节点可能是微不足道的,但是每个节点的运算都可能被整个库无穷放大,从而构成一个完整的Cell网络。
Cell本身适应这种变化,同样也是它自己创造了这种变化。因而从它开始就强调了不一样的设计风格,除了能够很好地进行多倍扩展外,处理器内部的SPU(Synergistic Processor Unit协同处理单元)具有很好的扩展性,因而可以同时面对通用和专用的处理,实现处理的灵活重构。也就意味着,通过适当的软件控制,Cell能应付多种类型的处理任务,同时还能够精简设计的复杂程度。
但是,仅仅有这些并不足以让一台电脑更为人性化,电脑的活动需要人多量的干预,不足以抵消它在性能上的进步,“它”没有更体贴人来自电脑无法感知自己本身。下一步需要做的是,让电脑有“感觉”,这样会消耗多量的计算,当然也会让电脑真的能够应对一些需求的时候,变得更为简单和方便。
这里说到的“感知”乃是一些软件的算法搭配硬件,实现对基本线条及其造型的判断,从而达到更为智能的目的。比如说,目前还无法对图像进行有意义的搜索,用户无法通过一个的大概映像在浩如烟海的库中找到自己想要的。而这些往往应为数量巨大没有进行标注,查找就是很麻烦的事情,现在Intel和一家公司正在研究可以进行搜索的软件,如果真的能够判断线条组合的话,将是计算机史上的一大飞跃,这就意味着,电脑真的能够学习了,在IDF Fall2005上,Intel展示了这个软件的初潜功能。
让机器具备识别线条及其组合的几何形状的能力估计将成为人工智能的分水岭,而机器获得的可学习能力将大大扩展他们的用途,一些简单的机器活动将不需要人的参与指挥,这就是图像搜索研究可能带给人们的巨大收益。
机器能自我感知还包含一台互联状态下的电脑,能够清楚互联机器的位置和具体属性。通过信号到达的时间差确定分布,如果进行严格的距离限制,对像Wi-Fi这样的无线信号的跨区域保密,就不再是一个难题,超过距离的请求不回应即可,大大减轻了人们在保密算法上的投资压力。
可以发现,技术正变得更为人性化,正朝着人们想要的方向前进,解决了上述问题,也将为电脑的未来增长提供持续的强大动力。2005年对IT而言值得纪念的事情乃是PC经历过很长时间的徘徊停滞之后,将冲破2亿台年销量的大关,这是像Intel这种注意大量前期投资的公司为什么继续投入的根本原因。
节能是主题
节能的思考方式,将决定系统架构中占据重要位置的处理器设计,这意味着晶体管数量消耗较小的RISC架构还将占据主流位置。现在Intel处理器的设计,借用了RISC的思想,不过为了保证与以前硬件的相互兼容,处理器变得过于复杂。
在绝对能耗和计算密度增加的时候,节能的处理器设计拥有更大的现实意义。可以提供更大计算密度,同样体积的刀片服务器中能够支持更多处理器,从而让更高性能的群集计算成为可能。现在,一些考虑甚至更为细节化,技术有可能让节约任何有用成为可能,Intel甚至展示了一款处理器原型,把电源调整的模块做到了处理器上,以适应高速处理器快速频率变换在电源需求特性上的不一样,同时还能够节约主板空间,把电源模块腾出来就有可能实现更大的计算密度或者更完善的散热措施。
节能也让集成化的思考进入更主流视野。这也是“后频率”时代对片面追求频率而不顾及其他的直接回应,有些部件的集成不仅有利于整个系统的性能提升,也有利于能耗的大大节省。比如像处理器内置内存控制器的做法的确非常好,但是还不够,如果能够把图形芯片和内存控制都集成在处理器内,那样才更有节能价值。这恐怕对那些唯性能论的人不是一个好消息,却绝对是未来笔记本电脑和掌上设备的发展方向。尤其是对于寸土寸金的掌上电脑来说,这种集成更是求之不得。另外,对于多核处理器,需要更为细致的安排,让每个处理器拥有自己的独立访问内存的权利并且能够直接进行信息交流,同样会让处理器的等待时间缩小,从而提高处理器单位能耗的性能表现。
把能耗考虑进去并且通过单位能耗的性能增量看作新的衡量指标,有利于高效率的流水线设计。Pentium 4的超长流水线除了能够带来相应的频率提高外,还意味着处理一个任务的时候,开关的晶体管将要比流水线短的处理器更多,从而意味着更多的能量消耗。
未来以移动平台为核心的处理器系列,将使用更短的流水线,以提供更为合理的能耗。并且,当频率过高的时候,晶体管的泄漏电流将成为处理器功耗的主要来源,那就意味着,未来性能的提升将仰赖处理器的多核安排模式。
还需要注意到,软件对硬件的利用同样左右处理器或者整个电脑系统的功耗。尽管我们的想对像是个人桌面运算系统,这种概念同样适用于服务器以至更广阔的领域。但是不通过细致的电脑管理工具和与底层相关的一些东西紧密结合起来,比如BIOS、操作系统这个层面的理解和配合,大概是无法实现的合理调配,也就无法实现真正的节能。从这个意义上来说,软件和硬件已经变得更相互依赖,尤其是需要提供一些高级特性的时候,这种相互交叉变得不可避免。另外,软件提供合理优秀的算法渐渐被人淡忘,现在开发人员更多通过硬件上的努力抵消软件编制的幼稚,同时开发人员需要代码更好的可读性,也削弱了他们进行优化的积极性。这对节能同样不利,合理、“聪明”的编译器应该是最后能有所作为的防线,但是它的意义会很有限。处理器开发商需要提供更为完善的编译器,能够更为合理地调配成为其中的关键。尤其是在多核处理器逐渐深入人心的时候,对任务的调配就不仅仅应该操作系统层面上的事情,需要上升到系统架构的层面,打通各种环节才有可能实现,否则任何所谓的技术图景在现实中都将是那样苍白无力。
多核处理器到来之后,还将面临一些实际问题。一些没有经过并行编程的应用是无法充分享受到多核处理器的好处的,并且,多核处理器本身有一些需要软件编写人员注意的事项,需要他们在编写软件的时候尽量避免某些可能导致拥塞的事情发生,否则,效率将成为空话。这让并行编程的难度远远高于传统的模式,何况一些软件分成几个部分变成的难度差异很大,如何解决桌面双核利用率不高的问题也是重点之一。总不可能要求用户同时打开数个任务一块跑,那样有可能会有些效果,却不是一个用户愿意听到和看到的。那样就需要提供一个完善的编译器机制,按照合适的分配法则进行请求的分配,以实现硬件设备的完善利用,而不能仅仅依靠操作系统层面上的任务分配方式,那样对双核处理器系统的推广是相当不利的。
即便是针对服务器平台,这样的中间件也是很有价值的,那样可以大大减弱多处理器平台对软件特性的依赖,开发人员也不不要考虑那么详细,对结果影响不大。估计这是未来一段时间内很多人思考的新空间,尤其是针对像OpenGL这种调用,整个程序封装很严密的时候,这种拆散机制将会成为灵活利用的超级工具被人们广泛利用。可能没有特意编制的软件效率那么高,但却符合PC用户的需求,在高端软件都平民化的时候,这尤其重要。
核心还是虚拟化
多核出现的意义还在于可以有用来虚拟化,可以实现更有意思的功能搭配。因此,无论是服务器还是桌面运算系统,在虚拟化这个方向还将走得更远,并且像HDTV这样的数字内容逐步
走向家庭,家用PC的角色将大大转变,除了目前所进行的一些任务外,还需要考虑到这么大容量的内容存储和检索,将成为家用PC的一个重要角色,家用PC也在向家用服务器转移。
但是在这一点上,家用PC将受到像游戏机这样平台的挑战。它们功能相对单一,操作系统和软件相对固定,虽然用户能够参与其中的概率比较小,却可以保证一个相对稳定的工作平台,从而成为家庭信赖和依靠的伙伴。这种单功能的简化产品并无意味着功能的简单化,而是把一部分很需要的功能从电脑里拿出来,进行大大强化从而形成一个独特的产品。
虽然游戏机以前可能不会成为电脑的竞争对手,但是在它们进行拓展之后呈现了明显的这种与电脑试比高的形势,最重要的是它的消费更关注软件层面上的相互衔接和搭配,而不像现在PC抑或是一些中低端的服务器,软件和硬件的搭配不是那么紧密,它们其中的缝隙就有可能成为游戏机的生存空间。尤其是家庭服务器到来的时候,相互直接竞争的关系居然日益明显,像索尼和微软都宣称他们的游戏机不仅仅是游戏机,而是拥有更为广泛而且深刻的含义。
多核和虚拟化也正是应对家庭中家用PC的边缘化成为服务器这一趋势而做。以显示这种输出为中心和以家用服务器(姑且称之)为交换中心的格局正在逐渐形成,家用服务器将关联所有能够联系的数字设备从而成为数字家庭的HUB,存储重要的数字内容,而它的具体性能和运算将通过HDTV以及手持设备进行展现。上升到这个层面,虚拟化不仅将成为管理电脑的强大工具,还将成为关联各种设备很重要的手段。
另外,针对家用服务器所处的地位和它的服务内容,存储和网络连接将是家庭服务器很重要的考核量。为了充分利用处理器,将它们进行虚拟划分以及I/O层面的虚拟化,都将像目前的服务器领域那样具有现实意义。同时,正是这种角色转变,才让虚拟化更加可以深入人心地被充分利用和管理,或许,当虚拟化成为常量的时候,家用PC不向家用服务器转移也是不太可能的事情,否则,驱动家用PC增长的后驱力将会非常弱。
对系统架构而言,需要考虑更多的系统吞吐量,处理器将变得更具备吞吐能力的HUB,而不能仰赖北桥芯片,那样效率低而且也不利于成本和能耗的降低。处理器内部集成内存和I/O控制器乃是时代的必须,绝对不是技术恩怨所能把握和左右的。
处理器向更大容量的2级缓存也是必须。当作为家庭服务器之后,数据的转移交换和解码编码将成为桌面运算平台的主要工作,尤其是这些工作需要同时进行的时候,2级缓存的优势将会体现出来。那些需要大量运算的编码、解码工作将会因为大量的2级缓存变得相对更容易。
一方面,随着生产工艺的提高,2级缓存自然水涨船高;另一方面,新的设计和任务需求需要这大量的缓存,缓存的大小还将继续成为处理器性能的分水岭。
多核架构之乱
现在的多核处理器设计呈现数种倾向。以AMD和IBM的HyperTransport派,可以实现分离缓存的高速共享和数据交换,处理器之间的通信也有直接的通道进行,因此可以通过分离的缓存实现很高的性能。同时因为各个处理器核心具有自己的访问内存机制,不相互干扰,在一些缓存相关性特别严重的应用中,它这种架构是很有优势的。所谓成也萧何,败也萧何,它这种架构具有明显的取向,HyperTransport作为它们传输干道,是分利于小数据块的连续传输,而对大数据块的传输表现一般。对于未来应用,均衡性不是很好,但可以肯定的是,商用性能断然奇佳。
Intel目前的Pentium D核心处理器太像一个模仿出来的产品,由于Pentium 4本身不具备处理器相互通信的机制并且处理器访问内存受到很多限制,这让它的双核处理器并不太成功。尤其是一些考虑数据相关性的应用,两个Cache之间的数据通信都将给总线带来无上压力,从而大大降低了因为多核带来的计算能力提高的好处。尤其是两个核进行通信的时候,双方都无法访问内存,设若某个软件的某个片断有大量的需要进行修改的数据,结果将是灾难性的。
随着移动平台技术迁移到桌面平台,在功耗和性能上达到新的高度之后,新系列的多核处理器还是很值得关注,但是如果Intel不继续改善处理器系统的I/O性能,所能够得到的好处还将因为I/O等待而散失殆尽。尤其是未来10年内,数字内容的爆炸式增长将对处理器的I/O提出严峻挑战,尤其是多核的系统更应该在这方面多花功夫才是正道。
Cell很独特,有一个主控处理器进行分配和负载平衡。其他8个协同处理单元具有很大自主性,因而可以很容易分配到各个运算流水线中去,构成相对独立而又相关联的结构。虽然每个协同运算单元具备独立的内存,但是高速的互联总线让它们可以充分利用整个系统的缓存,并且协同处理器单元之间也拥有完善而且快速的联系通道,成为Cell处理器能够自由组合成为面向多种应用类型的关键。
根据各种应用的不同,Cell就能够相应组合,成为高于通用处理器,在各种应用场合中能够向专用架构发起挑战的处理器。因此,在一些负载很大的场合,从服务器到游戏机,都将是它信马由缰的大好场所,怪不得,东芝还把Cell当作HDTV的处理芯片使用。只要提供良好的编译器环境,它就能针对不同类型的应用进行优化搭配,的确是Cell精当的地方。
Cell的其他好处来自软件的编译,完全的模块化思想,有利于运算的良好搭配,尤其面对协同处理单元这些,不在软件商进行优化搭配,将很大程度上损害Cell的声誉,尽管我们现在无法定论它就能够主宰未来的系统架构,但就目前来看,至少它代表一种趋势毫无疑问,统一的架构对任何人都很必要。
要完成向多核的转变,还需要很多路要走,尤其像功耗这样的问题不可忽略,有可能成为左右多核是否成功的关键因素。Intel以Pentium 4核心的多核必然不可能走得更远,它的移动平台更适合多核;AMD的多核系统也将会功耗过高,发展受到制约;Cell却走了一条完全不一样的道路,很具有现实意义,可以综合能耗、性能以及针对不同的特定任务,实现架构的自由组合变换,乃是未来一段时间的重点,如果说谁会主宰未来的处理器市场,Cell是一个不可忽视的选手。
技术应该是生活化的技术,生活也将成为技术化的生活,任何纯粹的以追求技术而技术的做法都将很难得到认同和发展。很可喜的是,最近的计算机体系结构考虑到了一些生活细节,当然这些还远远不够,站在人类的立场上,请不要认为我们对技术要求过于苛刻。
计算机科学与技术专业就业方向是什么
写给计算机专业的大学生!
首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着进入计算机专业后能遇见很多高手,能交到几个知己,谁之进来后却大失所望。计算机专业的学生有很多以前对计算机不怎么了解,而且还有部分人进大学前连计算机摸都没摸过,对计算机很熟悉的很少,高手更是凤毛麟角,大多数人是服从了父母之命,显而易见,目前社会最热的行业是IT业,工资最高的也是IT业,抱着这个因素,大多数考生的父母都让自己的孩子进入了计算机专业,而大多数学生也天真的认为从计算机专业毕业后就能够像电视里演的大多数白领一样每天只用坐在办公室里和同事们聊聊天,和老板吃吃饭,每天签几个字然后就有高工资等着你去拿。
进校后他们发现其实他们在专业课方面什么都听不懂,自己也一点兴趣都没有,没有兴趣那就没有学习的动力,而且这个专业是要靠悟性的,而兴趣是培养悟性的第一步,然后他们会发现越往后学专业课越难,也越听不懂,好一点的就会狠下心来,硬着头皮苦学一通,有可能也就能走出一片路来,而不好的就会就此放弃,只需要混着考试通过,混毕业,找个单位安心上班。有些人上了几年学连自己上哪些课都不知道;拿个程序他分不清是用C语言写的还是用PASCAL写的;不小心进了DOS不知道怎么再回到WINDOWS。但说起游戏来头头是道,好像每个都是职业玩家一样,有的每天只知道泡在网吧。这就是中国计算机人才下一代的悲哀!
再说现在计算机专业大学生的学习和生活。大多数计算机专业的学生对本专业的发展及前景一无所知,每天都是看、玩游戏、看**、打牌、喝酒、睡觉等等很有"前途"的事情。偶尔看见一两个同学看看与计算机专业有关的书,跑去拿来一看,全是什么"游戏攻略"、"黑客秘技"等此类书籍。还有的人连C语言和C++谁是谁都还没搞清楚,就拿本VC的书"刻苦钻研",真不知他们看懂了没有。好多学生都买了电脑,但用处都是游戏机+碟机+音响,每天都在用电脑玩着各种流行的游戏、看着最新的大片、听着时尚的音乐,就是不用电脑学习。有的学生甚至问我电脑除了玩游戏还能干什么,我问他你为什么这么问,他告诉我他觉得电脑只能用来玩游戏,不知道还能不能干干别的什么。据我了解,近几年在国内好几所高校的计算机专业的毕业生的毕业设计竟然是做网页,在大学了四年,学完了《数据结构》、《软件工程》、《C语言》等专业课后,竟然交了一个没有学过计算机的人自学一两天就能做好的东西!
这就是大多数计算机专业的学生,在我在大学玩了两年之后,我突然明白该为自己的未来打算打算了,但还有许多人仍然还什么都不明白,所以就有了这篇文章。
如果你是以上我说的那种受父母之命来学计算机的学生,如果你看了《计算机应用文摘》第15期的《写给想当程序员的朋友》一文后,发现自己没有当程序员的欲望,那么我这里有几条路给你选择:
1、**页制作,将来去网站工作!
2、学习3D MAX等软件,去作动画!
3、学习美术设计!
4、**络,将来考个CCNA,去专业组网!
5、在保证能顺利毕业的前提下,去疯狂玩游戏,做个职业玩家或做一个或几个网络游戏的GM。(我身边就有这样的人)
6、以上五条都与计算机有关,要有一定的专业知识,但比起你的专业课简单多了。如果你看到这里还不觉得有适合你干的,那这条最适合你:在你们学校去修双学位,修一个自己感兴趣的专业,计算机真的不适合你!
如果以上几条有适合你的,那么你就努力去做适合你的那一片天地,去看杂志的下一篇文章,下面的文字你看了只会浪费你的时间。
如果你是计算机专业的在校大学生,而且想当程序员,那么请往下看:
1、大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘!
2、计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。
3、记住:万丈高楼平地起!基础很重要,尤其是专业基础课,只有打好基础才能学得更深。
4、C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。
5、C语言与C++语言是两回事。就象大熊猫和小熊猫一样,只是名字很像!
6、请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。
7、对编程有一定的认识后,就可以学习C++了。(是C++而不是VC,这两个也是两码事!C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础之上。看VC的书,是学不了C++语言的。)
8、学习编程的秘诀是:编程,编程,再编程;
9、认真学习每一门专业课,那是你的吃饭碗。
10、在学校的实验室就算你做错一万次程序都不会有人骂你,如果你在公司你试试看!所以多去实验室上机,现在错的多了,毕业后就错的少了。
11、从现在开始,在写程序时就要养成良好的习惯。
12、不要漏掉书中任何一个练习题--请全部做完并记录下解题思路。
13、你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。
14、VC、C#、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法!
15、记住:书到用时方恨少。不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋!
16、我还是强调认真听专业课,因为有些课像《数据结构》、《编译原理》、《操作系统》等等,这种课老师讲一分钟能让你明白的内容,你自己看要看好几个月,有的甚至看了好几年都看不明白。
17、抓住在学校里的各种实践的机会,要为自己积累经验,就业时经验比什么都有用。
18、多去图书馆,每个学校的图书馆都有很多好书等你去看!
19、编程不是技术活,而是体力活。
20、如果你决定了要当一个好的程序员,那么请你放弃游戏,除非你是那种每天只要玩游戏就能写出好程序的天才!
21、你要有足够的韧性和毅力!有个高手出了一道题测试你的韧性和毅力:找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
22、找到只属于你自己的学习方法!不要盲目的追随别人的方法,适合自己的才是最好的!
23、请热爱程序员这项工作!
以上的话有些是我的经验,有些是我从高手那里直接COPY来的,但他们都很有用,记住他们,并遵守他们,那你们一定会成功!
对于大多数初学者来说,好多人有这种问题存在:我到底先学什么?学C/C++?还是学VC?还是学Borland C++ Builder呢?还是Delphi?哪一个更好呢?学习程序设计和学习程序设计语言究竟是怎么一个关系?初学者究竟应该如何取舍呢?就这些问题,我从一个高手那里看了一下的这段话,可以帮助在这方面有问题的人:学习程序设计就好比学习射击,而程序设计语言就对应射击中的、、等各种。学习射击必须要选择一种,不可能没有枪还能学好射击的,也不可能同时学会使用所有的。但是,如果掌握一种的射击,再学别的也就触类旁通了。因为在熟悉一种的同时,也学习了射击技术本身。再学其他的,自然事半功倍。学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。在学会系统的编程理念之后,用什么工具都一样!
之所以写这篇文章呢是因为自己眼看身边那么多的同学一个个都"不务正业",荒废了学业,心急如焚,自己也荒废了好几年,眼看微软的Windows从3.X到现在的2003 Server,而中国的软件业还是在原地踏步,难道我们真要每年等微软给他的操作系统换一次名字,我们给他交一次钱吗?这么大的利润为什么不留给我们自己,为什么不让别的国家给我们交钱呢?这是广大中国程序员的一个共同的梦,要实现这个梦的人是现在还在大学里的"准程序员"们,他们是中国软件明天的希望!希望广大计算机业的大学生看到这篇文章后,睡觉的能醒来,玩游戏的能停下来,在网吧的能出来,一起拿起课本,坐在电脑前,用程序写出中国软件业明天的辉煌。
什么是操作系统,简述操作系统的主要功能
简述操作系统的功能具体如下:
一:提供人机交互接口。可以想象没有操作系统这层软件的话,使用计算机会是一个什么样子。计算机使用者将面临一堆计算机硬件进行操作,早期的计算机就是这样的,通过硬开关进行控制。有了操作系统之后,就相当于我们直接和操作系统进行打交道,避免了直接操作硬件带来的麻烦。操作系统的这个提供人机交互接口的功能,是操作系统最大的功能。
二:提供计算机软硬件管理。操作系统第二个功能就是管理计算机的。计算机的包括,软件和硬件,也就是通常所说的软件系统和硬件系统。其中硬件系统是受计算机操作系统的直接控制,比如内存的地址管理,或者控制键盘和鼠标的扫描时序管理等。操作系统也管理着计算机的软件,比如应用程序的执行调度等,包括进程和线程的执行等都是在操作系统的控制下有条不紊的进行的。
计算机操作系统的基本任务是什么?
操作系统是管理计算机硬件,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。目前流行的现代操作系统主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,除了Windows和z/OS等少数操作系统,大部分操作系统都为类Unix操作系统。
操作系统的主要功能是管理,程序控制和人机交互等。计算机系统的可分为设备和信息两大类。设备指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,磁带存储器,显示器,键盘输入设备和鼠标等。信息指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等。
操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代观点而言,一个标准个人电脑的OS应该提供以下的功能:
进程管理(Processing management)
内存管理(Memory management)
文件系统(File system)
网络通讯(Networking)
安全机制(Security)
用户界面(User interface)
驱动程序(Device drivers)
管理
系统的设备和信息都是操作系统根据用户需求按一定的策略来进行分配和调度的。操作系统的存储管理就负责把内存单元分配给需要内存的程序以便让它执行,在程序执行结束后将它占用的内存单元收回以便再使用。对于提供虚拟存储的计算机系统,操作系统还要与硬件配合做好页面调度工作,根据执行程序的要求分配页面,在执行中将页面调入和调出内存以及回收页面等。
处理器管理或称处理器调度,是操作系统管理功能的另一个重要内容。在一个允许多道程序同时执行的系统里,操作系统会根据一定的策略将处理器交替地分配给系统内等待运行的程序。一道等待运行的程序只有在获得了处理器后才能运行。一道程序在运行中若遇到某个,例如启动外部设备而暂时不能继续运行下去,或一个外部的发生等等,操作系统就要来处理相应的,然后将处理器重新分配。
操作系统的设备管理功能主要是分配和回收外部设备以及控制外部设备按用户程序的要求进行操作等。对于非存储型外部设备,如打印机、显示器等,它们可以直接作为一个设备分配给一个用户程序,在使用完毕后回收以便给另一个需求的用户使用。对于存储型的外部设备,如磁盘、磁带等,则是提供存储空间给用户,用来存放文件和数据。存储性外部设备的管理与信息管理是密切结合的。
信息管理是操作系统的一个重要的功能,主要是向用户提供一个文件系统。一般说,一个文件系统向用户提供创建文件,撤销文件,读写文件,打开和关闭文件等功能。有了文件系统后,用户可按文件名存取数据而无需知道这些数据存放在哪里。这种做法不仅便于用户使用而且还有利于用户共享公共数据。此外,由于文件建立时允许创建者规定使用权限,这就可以保证数据的安全性。
程序控制
一个用户程序的执行自始至终是在操作系统控制下进行的。一个用户将他要解决的问题用某一种程序设计语言编写了一个程序后就将该程序连同对它执行的要求输入到计算机内,操作系统就根据要求控制这个用户程序的执行直到结束。操作系统控制用户的执行主要有以下一些内容:调入相应的编译程序,将用某种程序设计语言编写的源程序编译成计算机可执行的目标程序,分配内存储等将程序调入内存并启动,按用户指定的要求处理执行中出现的各种以及与操作员联系请示有关意外的处理等。
人机交互
操作系统的人机交互功能是决定计算机系统“友善性”的一个重要因素。人机交互功能主要靠可输入输出的外部设备和相应的软件来完成。可供人机交互使用的设备主要有键盘显示、鼠标、各种模式识别设备等。与这些设备相应的软件就是操作系统提供人机交互功能的部分。人机交互部分的主要作用是控制有关设备的运行和理解并执行通过人机交互设备传来的有关的各种命令和要求。
进程管理
不管是常驻程序或者应用程序,他们都以进程为标准执行单位。当年运用冯纽曼架构建造电脑时,每个中央处理器最多只能同时执行一个进程。早期的OS(例如DOS)也不允许任何程序打破这个限制,且DOS同时只有执行一个进程(虽然DOS自己宣称他们拥有终止并等待驻留(TSR)能力,可以部分且艰难地解决这问题)。现代的操作系统,即使只拥有一个CPU,也可以利用多进程(multitask)功能同时执行复数进程。进程管理指的是操作系统调整复数进程的功能。
由于大部分的电脑只包含一颗中央处理器,在单内核(Core)的情况下多进程只是简单迅速地切换各进程,让每个进程都能够执行,在多内核或多处理器的情况下,所有进程通过许多协同技术在各处理器或内核上转换。越多进程同时执行,每个进程能分配到的时间比率就越小。很多OS在遇到此问题时会出现诸如音效断续或鼠标跳格的情况(称做崩溃(Thrashing),一种OS只能不停执行自己的管理程序并耗尽系统的状态,其他使用者或硬件的程序皆无法执行)。进程管理通常实现了分时的概念,大部分的OS可以利用指定不同的特权等级(priority),为每个进程改变所占的分时比例。特权越高的进程,执行优先级越高,单位时间内占的比例也越高。交互式OS也提供某种程度的回馈机制,让直接与使用者交互的进程拥有较高的特权值。
内存管理
根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序员通常希望系统给他无限量且无限快的存储器。大部分的现代计算机存储器架构都是层次结构式的,最快且数量最少的暂存器为首,然后是高速缓存、存储器以及最慢的磁盘存储设备。而操作系统的存储器管理提供查找可用的记忆空间、配置与释放记忆空间以及交换存储器和低速存储设备的内含物……等功能。此类又被称做虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,既使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低运行效率的缺点,严重时甚至也会导致进程崩溃。
存储器管理的另一个重点活动就是借由CPU的帮助来管理虚拟位置。如果同时有许多进程存储于记忆设备上,操作系统必须防止它们互相干扰对方的存储器内容(除非通过某些协定在可控制的范围下操作,并限制可访问的存储器范围)。分区存储器空间可以达成目标。每个进程只会看到整个存储器空间(从0到存储器空间的最大上限)被配置给它自己(当然,有些位置被操作系统保留而禁止访问)。CPU事先存了几个表以比对虚拟位置与实际存储器位置,这种方法称为标签页(paging)配置。
借由对每个进程产生分开独立的位置空间,操作系统也可以轻易地一次释放某进程所占据的所有存储器。如果这个进程不释放存储器,操作系统可以退出进程并将存储器自动释放。
虚拟内存
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
在早期的单用户单任务操作系统(如DOS)中,每台计算机只有一个用户,每次运行一个程序,且次序不是很大,单个程序完全可以存放在实际内存中。这时虚拟内存并没有太大的用处。但随着程序占用存储器容量的增长和多用户多任务操作系统的出现,在程序设计时,在程序所需要的存储量与计算机系统实际配备的主存储器的容量之间往往存在着矛盾。例如,在某些低档的计算机中,物理内存的容量较小,而某些程序却需要很大的内存才能运行;而在多用户多任务系统中,多个用户或多个任务更新全部主存,要求同时执行独断程序。这些同时运行的程序到底占用实际内存中的哪一部分,在编写程序时是无法确定的,必须等到程序运行时才动态分配。[4]
为此,希望在编写程序时独立编址,既不考虑程序是否能在物理存储中存放得下,也不考虑程序应该存放在什么物理位置。而在程序运行时,则分配给每个程序一定的运行空间,由地址转换部件将编程时的地址转换成实际内存的物理地址。如果分配的内存不够,则只调入当前正在运行的或将要运行的程序块(或数据块),其余部分暂时驻留在辅存中。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。