1.电脑操作系统到底哪个最好用?

2.程序员开发电脑配置要求

3.程序员用什么系统?

4.电脑系统是怎么做出来的?

5.程序员对于电脑很了解吗

电脑操作系统到底哪个最好用?

程序员电脑系统更新不了-程序员电脑系统更新

电脑硬件大家都知道非常重要,但是除了硬件外操作系统的好坏决定着电脑整体运行,硬件再好要是操作系统不给力,一切都是浮云,正好最近有小伙伴发了一张他电脑的配置图,他想换成w10系统,我告诉他由于驱动问题不能换,他还不信认为我在忽悠他,今天我们就来谈谈电脑操作系统的那些事!(下图就是他要求换w10的配置,小伙伴觉得能换吗?)

说到这个操作系统我应该算有一定发言权,从Windows 98开始我就接触电脑了,我这样说是不是暴露年龄了哈哈,后面又经历过2000,在到后面金典的XP,VISTA然后是w7 w8 w8.1 直到现在的最新w10,我基本上可以说每个系统我都用过,至于那个最好接下来我来谈谈我的看法。

XP曾经的经典

如果抛开硬件不支持这块不谈,单说系统我个人还是非常喜欢xp和w7,其中xp可谓是经典,服役时间之长从2001年开始发布,直到2014年微软彻底宣布取消了XP的技术支持,由于在位时间长很多应用程序,游戏甚至一些工控软件都是基于XP来研发制作以及优化,导致即便是现在还有很多地方在使用XP,不过由于XP本身指令集不能支持后期性能更为强大的新配件,不能支持大于4g的内存,无奈只能被大家无情抛弃。

W7 永恒的纪元

至于w7就更不要说了,它发布于2009年主要就是取代xp的,到现在很多小伙伴至今也不愿意更换到最新的w10 因为他们已经习惯了w7的操作方式,并且不管是软件和硬件对它都支持的比较好,尤其是对游戏方面优化更好,不过微软为了主推w10,在2015年1月开始终止了主流支持,只提供安全补丁,并于2020年1月14停止所有服务,也就是说离我们只有不到2个月的时间了,大家珍惜吧!

W8 昙花一现

至于这个w8 8.1给我的感觉就是出来打酱油的,也就是为小伙伴从w7过渡到w10的垫脚石,但是由于小伙伴不买买账,最终只能昙花一现以失败告终。

W10 全新的起点

最后再来说说这个w10,也是目前微软主推系统,为了让小伙伴从w7到w10微软是想尽了办法,但是还是有很多小伙伴不愿意升级到w10,哪怕有一段时间免费升级到w10都没人愿意更新。

后面微软不得不用软硬夹击比如在硬件方面只支持w10,或者在系统后台自动更新,对于非正版用户大家可以关掉自动更新,但是对于正版用户你即便是关闭自动更新它还是会自动运行,用微软的话叫保护用户安全,体验到更流畅更安全的系统,在这方面微软真的做的很到位。

总体来说目前w10经过这么多年的不断优化,整体体验以及操作界面都还是非常不错的,现在的新硬件基本上也都是基于w10来研发,不过即便是w10在今年也出现了一段小插曲,微软决定对于系统版本为1803不再提供后续服务,让大家升级到新版本1903,但是这个1903缺出现了续航低,内存占用率大的问题,但在1803上夜班缺没有出现所以导致很多小伙伴不愿意升级!

至于这个几个系统到底哪个好用,我们就需要根据硬件的支持情况来决定了,很多小伙伴都认为只要把系统换成想装的就行了,就像上面这个小伙伴非要给老酷睿四核上w10一样,这个基本上是不可能的,主要原因就是本身配置差拉不动w10,另一个致命原因就是没有对应驱动,无法使硬件正常运行。

接下来我就来说说该如何正确选择系统。

★?十几年前的老爷机建议选择XP

以前的大部分老爷机电脑由于硬件本身差,满足不了w10系统需求,另一方面硬件驱动仅对XP系统进行更新和优化,如果你强制给他安装w10只会造成系统无法正常运行,驱动无法正常安装,最终导致系统无法使用,比如以前的老赛扬老酷睿,老速龙,闪龙并且硬件最大支持4G的这种机器,对于这部分机器那么建议你还是选择xp最为合适。

★?五六年前的机器建议使用W7

对于五六年前的机器我个人建议还是W7比较好一些,必定不管是软件还是硬件都对W7支持比较好,相对来说各方面已经非常完善,稳定性与兼容性都是最佳的,尤其是游戏这一块体验更好,适合装W7的CPU最好是英特尔三代到7代,AMD速龙X4,FX系列,A6到A10且内存大于4G的电脑。

★?最近两三年的建议W10

对于W10来说建议最近两三年的电脑并且内存大于8G的安装,一方面是W10对电脑本身配置要求有点高,另外在内存占用率也要大一些,另一个原因就是目前的驱动程序不管是软件还是硬件都是基于W10研发,所以不管你愿不愿意你都得使用W10,其实我看有很多小伙伴还是比较反感W10,其实W10真的还是不错的,只不过在有些操作方式上有一些小改动,但是我个人觉得不管是界面以及外观更加适合目前新生一代,有些时候其实我们也要学会进步,至于操作只是一种习惯而已,慢慢的你就养成了!

最终总结

这个操作系统的选择主要还是根据你硬件的支持情况来选择与其最佳匹配的,一般来说以前的老爷机,内存小于4G的建议使用XP,最近五六年的机器还是建议使用W7吧,最近两三年的硬件对W10支持比较好就建议W10,其实准确的来说后期基本上都是W10系统了,不管你愿不愿意始终还是会被这个时代淹没,就像XP曾经很多人都认为放不下的系统,结果在新一代大军当中很多人都不知道XP是什么,基本上也就留在80后以前小伙伴的映像中了,那中蓝天白云草地也即将在我们映像中慢慢的抹去,在此致敬那些即将逝去的青春!

在结束的时候让我们再来听一下曾经这个经典的开机声音,能听懂的估计已经步入中年了,还是那句话喜欢的别忘点赞关注哦!

程序员开发电脑配置要求

程序员电脑配置要求2021?

要看你是做普通运维、软件开发,还是做高级的算法、AI开发。

如果是普通的运维,用到Linux系统,或软件开发,比如Android开发和iOS开发等,用到Ja、PHP,或者是嵌入式开发,用到C++等。这些用途的开发环境,对电脑配置要求不是很高,Ja的某些编辑器要求稍微高些,需要大内存,不过,一般买个4千、5千元的轻薄本也足够使用了。

如果是做高级的算法研究、AI开发,深度学习,或虚拟现实、VR开发等等用途,那么对电脑的GPU配置要求就比较高了,必须选择游戏本,最少带4G或6G以上独显才行,一般买个5千、或6千元以上的游戏本,可以满足这些中等数据规模下,上述开发的需求。

程序员必备的三大电脑配置?

1.适合的系统:Windows系的用Windows,Linux系的用Linux或者Mac。总之要和自己的需求一致,别给自己找到麻烦。

2.舒服的交互硬件。4k屏用不用的到不好说但是一个27寸以上的显示器都喜欢。双显很有用,三显不好说。因为我们总要开各种资料/网页,IDE,命令行编辑器什么的,小显示器你就慢慢恶心吧。机械键盘或者hhkb请上一个。

3.内存要大,CPU要快,硬盘要SSD。开一堆网页,开IDE都是很占的。编译的速度影响工作效率与心情。

适合程序员的电脑配置?

在学校学习编程如C++,ja等所用计算机配置inteli5以上+SSD硬盘+GTX1030独显(编程学习对显卡没要求,可做影音)+8GBDDR4内存就够了。如果搞游戏编程开发,大型应用程序开发,计算机配置建议用到inteli7以上的8核CPU+16GBDDR4内存+GTX2060以上显卡,如此配置在游戏编译时将达到如虎添翼,如日中天之效果。

对于大多数程序员来说,一般选择电脑的顺序就是:CPU>>内存>硬盘>显卡,因为在做一个项目的时候,经常需要多线程处理,CPU是背后的动力支撑,内存的话能够保证容纳更多程序运行。

公司里程序员需要什么样的电脑配置?

在我的面试简历有一条对公司的要求:提供高性能的电脑

程序员的电脑需要怎么样的配置?当然是越高越好,比如说计算机,比如说天河系列计算机。这些计算机二手也卖很贵好不好!

作为程序员,计算机行业的软件工程师。有一台高性能的电脑是很有必要的,提高开发效率,工作也开心啦!

那程序员到底需要什么样的配置呢?这里我们先对程序员进行分类:

程序员分类

其实这个分法不太严格,举个例子,比如说做android的,还有做android系统的呢!做系统的话编译需要服务器了。但是,这应该是市场上比较常见的程序员!

UI的同学使用苹果的Macpro,然后前端的同学说这个色调不准,前端的同学也申请了Mac电脑。做后台的一看,妈的前端的都用Mac了,我不用不是很亏!于是后端的也用Mac了。

做iOS的用Mac或者垃圾桶也不出奇,android的也在用了。就这样,大家一起用起了一万多的电脑了,配置也不咋滴,哈哈!

除了苹果的生态开发比较封闭以外,同学们,windows才是生产力呀!

android程序员

小时候我们使用的是Eclipse,多省内存呀。现在用的是AndroidStudio,内存马上就上来了。

做android开发:

Android程序员

CPU

(i5能用)i7-7代以上

内存

(8G能用)16G以上

硬盘

256固态+2T机械

其实组装下来,也不是很贵的。我最近组装了一台i9-9900k+32G内存+1T固态一万块左右。用了水冷,散热可以。这个配置编译系统也够的。

jaWeb程序员

JaWeb以前也用Eclipse比较多,现在大家使用idea了,跟AS是同一脉的。跑起来也对内存有一定的要求,以前的4G内存就不够用了。

近年来,流行的微服务,微服务是内存大户来的。当然啦,一般来说,公司有服务器给你测试,如果你是个人开发者的话,配置就要比较高一点了。

JaWeb程序员

CPU

i7-7代以上

内存

16~32G

硬盘

256固态+2T机械

做后台的有php的呀,有python的...有很多!

做iOS的跟平台有关系,总不能用个黑苹果吧!

做人工智能的,可能要大量的运算。

如果说:只是编辑,写代码而已,测试/编译有服务器的话,配置i5以上的都够用。

配置当然越高越好,看看你公司是否舍得,对吧!

我只知道这两个啦,其他的话不再提出来,大家留言吧!分享一下你的电脑配置。

程序员用什么系统?

问题一:做软件开发的程序员都用些什么系统? linux适合编程,以前我也这么觉得,但最近看了一份国外的报道,大部分程序员是用windows的,毕竟大型项目还是要使用IDE什么的,而linux下IDE很少。但Mac是最受欢迎的,很多linuxer有钱以后就上Mac了。。

问题二:程序员实际工作中,大多用什么操作系统 windows居多

问题三:程序员编程用什么系统? 首先要根据你的开发来,如果你开发的是windows应用,那么用windows系统,如果你做的系统运行在linux或者ios上,因为你开发的时候会进行测试,最好都是和运行环境一致,但是有的程序是跨平台的,所以你可以在支持的系统上开发,比如ja你可以在任何支持的平台上开发

问题四:程序员是做什么的?他的具体工作是什么? “厉害咯,他的工资高的有过十几万,主要做编程的多 ”

――――――――――――――――――――――――――――

我的工资才3K多。。。。

――――――――――――――――――――――――――――

有时候人们总把程序员、软件工程师、系统分析员搞混,实际上程序员不是什么神秘的职业,程序员位于软件生产过程的最底层,就像汽车生产工厂中流水线上的技术员,因此有人也称程序员为技术蓝领。程序员的主要工作是根据别人已经设计好的算法编写代码鼎实现某一功能,就像汽车生产工厂中的工人用设备将车轮装到车身上一样。再开发较大规模的软件项目的时候,程序员有可能甚至不知道自己编写的模块被用于那个功能中-_-

问题五:程序员是干什么的啊? 程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。

软考程序员考试属于计算机软件水平考试(简称软考)中的一个初级计算机职称考试。对于软考程序员考试并无学历及资历条件限制,更无论年龄、专业与资历。一年可报考软考程序员考试两次,但一次考试只能报考一种资格,因此报考了程序员考试则无法再报考软考其他级别或科目的考试。同时软考程序员考试用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试方式。

通过国家统一组织的考试,资格考试分:程序员级(原初级程序员)、软件设计师(原高级程序员)以及更高水准的:信息系统项目管理师、系统分析师(原系统分析员)、系统架构设计师、网络规划设计师、系统规划与管理师。

问题六:微软程序员用什么操作系统 有的用windows 有的用linux 有的用le的,微软的系统程序员,有很多都不用VC的,他们更多的是使用vim .....这也就是人们常说的。 汝果欲学诗,功夫在诗外。。

问题七:程序员需要学些什么? 要看你喜好了,做什么都是有兴趣才能学好

想学程序 先确定要学什么 c c++ c# ja pb vb等等

现在流行就是c#和ja c++也可以 不过比较有深度

先学语法 再学程序实例 最后做项目程序员 工资中上等吧 但是很辛苦

如果你认真学习 不到半年你就会学的很好

问题八:想了解程序员用什么电脑 首先,这种配置还要散热好的续航时间都长不了,而且也不会太轻。其次NBA 2K对配置的要求并没有这么高,可以考虑配置稍低但续航较长的电脑,标压i5+860M/960M就可以满足需求,剩下的钱可以加加SSD,内存什么的。其实,还是看你是哪种类型。也就是你的需求。1. 痴迷技术型 我认识一位朋友,大一开始给别人写程序,研究电脑研究技术。大三就自己挣钱买到了第一台thinkpad,大概1w多吧。这种人从硬件开始玩儿,自己组装电脑,慢慢玩儿到软件,对各种技术都玩儿过。如果你是这种的,那么买个性能好配置高的就行,因为你必须得折腾,不断折腾,反正,早坏早换。2. 只是用来写程序 如果只是写写程序,做做开发 - 偏软件的这种。建议直接Macbook Pro。作为一个用过很多年windows刚转到mac 1年的码农来讲,只能说:太爽了!1、适合的系统:Windows系的用Windows,Linux系的用Linux或者Mac。总之要和自己的需求一致,别给自己找到麻烦。2、舒服的交互硬件。4k屏用不用的到不好说但是一个27寸以上的显示器都喜欢。双显很有用,三显不好说。因为我们总要开各种资料/网页,IDE,命令行编辑器什么的,小显示器你就慢慢恶心吧。机械键盘或者hhkb请上一个。3、内存要大,CPU要快,硬盘要SSD。开一堆网页,开IDE都是很占的。编译的速度影响工作效率与心情。4、通畅的网络环境。咦怎么Google打不开?怎么GitHub这么慢?5、其他配置根据不同的需求而定。比如跑GPU的,图形开发的显卡要给力一些。经常出差的还要配个轻便续航强的笔记本。不考虑钱的情况下,笔记本可以有:rmbp15寸低配版dell xps15 2015核显定制版thinkpad t540p核显定制高配版它们的共同特点:顶级CPU(4代以上的四核标压i7)硬盘速度快(256GB+固态硬盘)大内存(16GB)没有独显(CPU集成,低功耗,性能凑合)超长续航(不插电正常使用10小时+)屏幕大且分辨率高(15寸屏,1080p+)轻薄(重2千克左右,厚20毫米左右)人民币1W+这样的笔记本可以让你:开IDE、跑程序嗖嗖的,特别快,不卡开浏览器、开IDE,再多也不担心内存不足码字、作图视野开阔,不担心眼瞎不带电源出去用一天没问题,不用到处找插电带着到处跑不觉得太累合上盖子就可以带走,打开盖子就能用,不用关机杜绝玩游戏(但是阻止不了玩LOL)看题主像是个前端妹子,rmbp比较合适,而且可能也是我列举的那三个里面比较便宜的了。

问题九:成为一名程序员需要什么条件? 前面回答的不少了,我只是再略补充一点建议吧。

1楼主可以上CSDN这样的网站论坛上寻求帮助

2书籍每一门课程(比如数据结构、数据库、操作系统)都有些相对经典的书籍,可以选择容易入门的来看,不一定要追求大、厚、全、

3建议楼主找老师或者报一些辅导课程,完全凭自学,有点难

关于英语的学习,2楼回答的很好了。

问题十:应用程序员是什么 开发应用的。就像手机功能模块,不是有应用么。

电脑系统是怎么做出来的?

你用到的操作系统,是微软公司大量程序员,写出来的。

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件,同时按照应用程序的请求,分配,如:划分CPU时间,内存空间的开辟,调用打印机等。

现代操作系统通常都有一个使用的绘图设备的图形用户界面(GUI),并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或性能导向的服务器通常不会有如此亲切的界面,而是以命令行界面(CLI)加上键盘为输入设备。以上两种界面其实都是所谓的壳,其功能为接受并处理用户的指令(例如按下一按钮,或在命令提示列上键入指令)。

选择要安装的操作系统通常与其硬件架构有很大关系,只有Linux与BSD几乎可在所有硬件架构上运行,而Windows NT仅移植到了DEC Alpha与MIPS Magnum。在1990年代早期,个人计算机的选择就已被局限在Windows家族、类Unix家族以及Linux上,而以Linux及Mac OS X为最主要的另类选择,直至今日。

大型机与嵌入式系统使用很多样化的操作系统。在服务器方面Linux、UNIX和WindowsServer占据了市场的大部分份额。在超级计算机方面,Linux取代Unix成为了第一大操作系统,截止2012年6月,世界超级计算机500强排名中基于Linux的超级计算机占据了462个席位,比率高达92%。随着智能手机的发展,Android和iOS已经成为目前最流行的两大手机操作系统。[1]

2012年,全球智能手机操作系统市场份额的变化情况相对稳定。智能手机操作系统市场一直被几个手机制造商巨头所控制,而安卓的垄断地位主要得益于三星智能手机在世界范围内所取得的巨大成功。2012年第三季度,安卓的市场份额高达74.8%,2011年则为57.4%。2013年第一季度,它的市场份额继续增加,达到75%。虽然 Android 占据领先,但是苹果 iOS 用户在应用上花费的时间则比 Android 的长。虽然在这方面 Android 的数字一度接近苹果,但是像 iPad 3 这样的设备发布之后,苹果的数字还是会进一步增长。Windows Phone 系统在 8.1 版发布后市场份额稳步提高,应用生态正在改善,众多必需应用不断更新,但是速度还略嫌迟缓。微软收购了诺基亚,发展了许多OEM厂商,并不断发布新机型试图扭转WP的不利局面,小有成效。

组成部分

操作系统理论研究者有时把操作系统分成四大部分:

驱动程序:最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。

内核:操作系统内核部分,通常运行在最高特权级,负责提供基础性、结构性的功能。

接口库:是一系列特殊的程序库,它们职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。例如,GNU C运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C和POSIX编程接口的形式。

:是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。例如,在微内核结构中,大部分系统服务,以及UNIX/Linux中各种守护进程都通常被划归此列。

并不是所有的操作系统都严格包括这四大部分。例如,在早期的微软视窗操作系统中,各部分耦合程度很深,难以区分彼此。而在使用外核结构的操作系统中,则根本没有驱动程序的概念。

操作系统中四大部分的不同布局,也就形成了几种整体结构的分野。常见的结构包括:简单结构、层结构、微内核结构、垂直结构、和虚拟机结构。

内核结构编辑

内核是操作系统最基础的构件,因而,内核结构往往对操作系统的外部特性以及应用领域有着一定程度的影响。尽管随着理论和实践的不断演进,操作系统高层特性与内核结构之间的耦合有日趋缩小之势,但习惯上,内核结构仍然是操作系统分类之常用标准!

内核的结构可以分为单内核、微内核、混合内核、外内核等。

单内核(Monolithic kernel),又称为宏内核。单内核结构是操作系统中各内核部件杂然混居的形态,该结构于1960年代(亦有1950年代初之说,尚存争议),历史最长,是操作系统内核与分离时的最初形态。

微内核(Microkernel),又称为微核心。微内核结构是1980年代产生出来的较新的内核结构,强调结构性部件与功能性部件的分离。20世纪末,基于微内核结构,理论界中又发展出了超微内核与外内核等多种结构。尽管自1980年代起,大部分理论研究都集中在以微内核为首的“新兴”结构之上,然而,在应用领域之中,以单内核结构为基础的操作系统却一直占据着主导地位。

混合内核(Hybrid kernel)像微内核结构,只不过它的组件更多的在核心态中运行,以获得更快的执行速度。

外内核(Exokernel)的设计理念是尽可能的减少软件的抽象化,这使得开发者可以专注于硬件的抽象化。外核心的设计极为简化,它的目标是在于同时简化传统微内核的讯息传递机制,以及整块性核心的软件抽象层。

在众多常用操作系统之中,除了QNX和基于Mach的UNIX等个别系统外,几乎全部用单内核结构,例如大部分的Unix、Linux,以及Windows(微软声称Windows NT是基于改良的微内核架构的,尽管理论界对此存有异议)。 微内核和超微内核结构主要用于研究性操作系统,还有一些嵌入式系统使用外核!

基于单内核的操作系统通常有着较长的历史渊源。例如,绝大部分UNIX的家族史都可上溯至1960年代。该类操作系统多数有着相对古老的设计和实现(例如某些UNIX中存在着大量10年代、1980年代的代码)。另外,往往在性能方面略优于同一应用领域中用其他内核结构的操作系统(但通常认为此种性能优势不能完全归功于单内核结构)!

主要功能

操作系统的主要功能是管理,程序控制和人机交互等。计算机系统的可分为设备和信息两大类。设备指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,磁带存储器,显示器,键盘输入设备和鼠标等。信息指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等。

操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代观点而言,一个标准个人电脑的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)中,每台计算机只有一个用户,每次运行一个程序,且次序不是很大,单个程序完全可以存放在实际内存中。这时虚拟内存并没有太大的用处。但随着程序占用存储器容量的增长和多用户多任务操作系统的出现,在程序设计时,在程序所需要的存储量与计算机系统实际配备的主存储器的容量之间往往存在着矛盾。例如,在某些低档的计算机中,物理内存的容量较小,而某些程序却需要很大的内存才能运行;而在多用户多任务系统中,多个用户或多个任务更新全部主存,要求同时执行独断程序。这些同时运行的程序到底占用实际内存中的哪一部分,在编写程序时是无法确定的,必须等到程序运行时才动态分配。[3]

用户界面

用户界面(User Interface,简称 UI,亦称使用者界面[1])是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。

用户界面是介于用户与硬件而设计彼此之间交互沟通相关软件,目的在使得用户能够方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作,用户界面定义广泛,包含了人机交互与图形用户接口,凡参与人类与机械的信息交流的领域都存在着用户界面。用户和系统之间一般用面向问题的受限自然语言进行交互。目前有系统开始利用多媒体技术开发新一代的用户界面。

程序员对于电脑很了解吗

亲身经历告诉你,程序员不一定很懂电脑。

程序员是写程序的,程序本身是以操作系统为平台运行的,也就是说,程序员更多的是和软件系统打交道。

硬件系统被软件系统隔离,程序员并不需要很了解。我的一个朋友,做了十多年程序员,已经是管理层了,对于电脑硬件,白痴一个。