linux操作系统实用教程第二版(vim实用技巧第2版pdf)

admin 398 0

各位老铁们,大家好,今天由我来为大家分享linux操作系统实用教程第二版,以及vim实用技巧第2版pdf的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

一、计算机网络设计教程(第二版)习题解答陈明

网络工程需求分析完成后,应形成网络工程需求分析报告书,与用户交流、修改,并通过用户方组织的评审。网络工程设计方要根据评审意见,形成可操作和可行性的阶段网络工程需求分析报告。有了网络工程需求分析报告,网络系统方案设计阶段就会“水到渠成”。网络工程设计阶段包括确定网络工程目标与方案设计原则、通信平台规划与设计、资源平台规划与设计、网络通信设备选型、网络服务器与操作系统选型、综合布线网络选型和网络安全设计等内容。

一般情况下,对网络工程目标要进行总体规划,分步实施。在制定网络工程总目标时应确定采用的网络技术、工程标准、网络规模、网络系统功能结构、网络应用目的和范围。然后,对总体目标进行分解,明确各分期工程的具体目标、网络建设内容、所需工程费用、时间和进度计划等。

对于网络工程应根据工程的种类和目标大小不同,先对网络工程有一个整体规划,然后在确定总体目标,并对目标采用分步实施的策略。一般我们可以将工程分为三步。

网络信息工程建设目标关系到现在和今后的几年内用户方网络信息化水平和网上应用系统的成败。在工程设计前对主要设计原则进行选择和平衡,并排定其在方案设计中的优先级,对网络工程设计和实施将具有指导意义。

计算机与外设、服务器和网络通信等设备在技术性能逐步提升的同时,其价格却在逐年或逐季下降,不可能也没必要实现所谓“一步到位”。所以,网络方案设计中应采用成熟可靠的技术和设备,充分体现“够用”、“好用”、“实用”建网原则,切不可用“今天”的钱,买“明、后天”才可用得上的设备。

网络系统应采用开放的标准和技术,资源系统建设要采用国家标准,有些还要遵循国际标准(如:财务管理系统、电子商务系统)。其目的包括两个方面:第一,有利于网络工程系统的后期扩充;第二,有利于与外部网络互连互通,切不可“闭门造车”形成信息化孤岛。

无论是企业还是事业,也无论网络规模大小,网络系统的可靠性是一个工程的生命线。比如,一个网络系统中的关键设备和应用系统,偶尔出现的死锁,对于政府、教育、企业、税务、证券、金融、铁路、民航等行业产生的将是灾难性的事故。因此,应确保网络系统很高的平均无故障时间和尽可能低的平均无故障率。

网络的安全主要是指网络系统防病毒、防黑客等破坏系统、数据可用性、一致性、高效性、可信赖性及可靠性等安全问题。为了网络系统安全,在方案设计时,应考虑用户方在网络安全方面可投入的资金,建议用户方选用网络防火墙、网络防杀毒系统等网络安全设施;网络信息中心对外的服务器要与对内的服务器隔离。

网络系统应采用国际先进、主流、成熟的技术。比如,局域网可采用千兆以太网和全交换以太网技术。视网络规模的大小(比如网络中连接机器的台数在250台以上时),选用多层交换技术,支持多层干道传输、生成树等协议。

网络系统的硬件设备和软件程序应易于安装、管理和维护。各种主要网络设备,比如核心交换机、汇聚交换机、接入交换机、服务器、大功率长延时UPS等设备均要支持流行的网管系统,以方便用户管理、配置网络系统。

网络总体设计不仅要考虑到近期目标,也要为网络的进一步发展留有扩展的余地,因此要选用主流产品和技术。若有可能,最好选用同一品牌的产品,或兼容性好的产品。在一个系统中切不可选用技术和性能不兼容的产品。比如,对于多层交换网络,若要选用两种品牌交换机,一定要注意他们的VLAN干道传输、生成树等协议是否兼容,是否可“无缝”连接。这些问题解决了,可扩展性自然是“水到渠成”。

网络的拓扑结构主要是指园区网络的物理拓扑结构,因为如今的局域网技术首选的是交换以太网技术。采用以太网交换机,从物理连接看拓扑结构可以是星型、扩展星型或树型等结构,从逻辑连接看拓扑结构只能是总线结构。对于大中型网络考虑链路传输的可靠性,可采用冗余结构。确立网络的物理拓扑结构是整个网络方案规划的基础,物理拓扑结构的选择往往和地理环境分布、传输介质与距离、网络传输可靠性等因素紧密相关。选择拓扑结构时,应该考虑的主要因素有以下几点。

地理环境:不同的地理环境需要设计不同的物理网络拓扑,不同的网络物理拓扑设计施工安装工程的费用也不同。一般情况下,网络物理拓扑最好选用星型结构,以便于网络通信设备的管理和维护。

传输介质与距离:在设计网络时,考虑到传输介质、距离的远近和可用于网络通信平台的经费投入,网络拓扑结构必须具有在传输介质、通信距离、可投入经费等三者之间权衡。建筑楼之间互连应采用多模或单模光缆。如果两建筑楼间距小于90m,也可以用超五类屏蔽双绞线,但要考虑屏蔽双绞线两端接地问题。

可靠性:网络设备损坏、光缆被挖断、连接器松动等这类故障是有可能发生的,网络拓扑结构设计应避免因个别结点损坏而影响整个网络的正常运行。若经费允许,网络拓扑结构的核心层和汇聚层,最好采用全冗余连接,如图6-1所示。

网络拓扑结构的规划设计与网络规模息息相关。一个规模较小的星型局域网没有汇聚层、接入层之分。规模较大的网络通常为多星型分层拓扑结构,如图6-1所示。主干网络称为核心层,用以连接服务器、建筑群到网络中心,或在一个较大型建筑物内连接多个交换机配线间到网络中心设备间。连接信息点的“毛细血管”线路及网络设备称为接入层,根据需要在中间设置汇聚层。

分层设计有助于分配和规划带宽,有利于信息流量的局部化,也就是说全局网络对某个部门的信息访问的需求根少(比如:财务部门的信息,只能在本部门内授权访问),这种情况下部门业务服务器即可放在汇聚层。这样局部的信息流量传输不会波及到全网。

主干网技术的选择,要根据以上需求分析中用户方网络规模大小、网上传输信息的种类和用户方可投入的资金等因素来考虑。一般而言,主干网用来连接建筑群和服务器群,可能会容纳网络上50%~80%的信息流,是网络大动脉。连接建筑群的主干网一般以光缆做传输介质,典型的主干网技术主要有100Mbps-FX以太网、l

000Mbps以太网、ATM等。从易用性、先进性和可扩展性的角度考虑,采用百兆、千兆以太网是目前局域网构建的流行做法。

汇聚层的存在与否,取决于网络规模的大小。当建筑楼内信息点较多(比如大于22个点)超出一台交换机的端口密度,而不得不增加交换机扩充端口时,就需要有汇聚交换机。交换机间如果采用级连方式,则将一组固定端口交换机上联到一台背板带宽和性能较好的汇聚交换机上,再由汇聚交换机上联到主干网的核心交换机。如果采用多台交换机堆叠方式扩充端口密度,其中一台交换机上联,则网络中就只有接入层。

接入层即直接信息点,通过此信息点将网络资源设备(PC:等)接入网络。汇聚层采用级连还是堆叠,要看网络信息点的分布情况。如果信息点分布均在距交换机为中心的50m半径内,且信息点数已超过一台或两台交换机的容量,则应采用交换机堆叠结构。堆叠能够有充足的带宽保证,适宜汇聚(楼宇内)信息点密集的情况。交换机级连则适用于楼宇内信息点分散,其配线间不能覆盖全楼的信息点,增加汇聚层的同时也会使工程成本提高。

汇聚层、接入层一般采用l00Base-Tx快速变换式以太网,采用10/100Mbps自适应交换到桌面,传输介质是超五类或五类双绞线。Cisco

3500/4000系列交换机就是专门针对中等密度汇聚层而设计的。接入层交换机可选择的产品根多,但要根据应用需求,可选择支持l~2个光端口模块,支持堆叠的接入层变换机。

由于布线系统费用和实现上的限制,对于零散的远程用户接入,利用PSTN电话网络进行远程拨号访问几乎是惟一经济、方便的选择。远程拨号访问需要设计远程访问服务器和Modem设备,并申请一组中继线。由于拨号访问是整个网络中惟一的窄带设备,这一部分在未来的网络中可能会逐步减少使用。远程访问服务器(RAS)和Modem组的端口数目一一对应,一般按一个端口支持20个用户计算来配置。

广域网连接是指园区网络对外的连接通道.一般采用路由器连接外部网络。根据网络规模的大小、网络用户的数量,来选择对外连接通道的带宽。如果网络用户没有www、E-mail等具有internet功能的服务器,用户可以采用ISDN或ADSL等技术连接外网。如果用户有WWW、E-mail等具有internet功能的服务器,用户可采用DDN(或E1)专线连接、ATM交换及永久虚电路连接外网。其连接带宽可根据内外信息流的大小选择,比如上网并发用户数在150~250之问,可以租用2Mbps线路,通过同步口连接Internet。如果用户与网络接入运营商在同一个城市,也可以采用光纤10Mbps/100Mbps的速率连接Internet。外部线路租用费用一般与带宽成正比,速度越快费用越高。网络工程设计方和用户方必须清楚的一点就是,能给用户方提供多大的连接外网的带宽受两个因素的制约,一是用户方租用外连线路的速率,二是用户方共享运营商连接Internet的速率。

无线网络的出现就是为了解决有线网络无法克服的困难。无线网络首先适用于很难布线的地方(比如受保护的建筑物、机场等)或者经常需要变动布线结构的地方(如展览馆等)。学校也是一个很重要的应用领域,一个无线网络系统可以使教师、学生在校园内的任何地方接入网络。另外,因为无线网络支持十几公里的区域,因此对于城市范围的网络接入也能适用,可以设想一个采用无线网络的ISP可以为一个城市的任何角落提供高达10Mbps的互联网接入。

目前,网络操作系统产品较多,为网络应用提供了良好的可选择性。操作系统对网络建设的成败至天重要,要依据具体的应用选择操作系统。一般情况下,网络系统集成方在网络工程项目中要完成基础应用平台以下三层(网络层、数据链路层、物理层)的建构。选择什么操作系统,也要看网络系统集成方的工程师以及用户方系统管理员的技术水平和对网络操作系统的使用经验而定。如果在工程实施中选一些大家都比较生疏的服务器和操作系统,有可能使工期延长,不可预见性费用加大,可能还要请外援做系统培训,维护的难度和费用也要增加。

网络操作系统分为两个大类:即面向IA架构PC服务器的操作系统族和UNIX操作系统家族。UNIX服务器品质较高、价格昂贵、装机量少而且可选择性也不高,一般根据应用系统平台的实际需求,估计好费用,瞄准某一两家产品去准备即可。与UNIX服务器相比,Windows

2000 Advanced Server服务器品牌和产品型号可谓“铺天盖地”,

同一个网络系统中不需要采用同一种网络操作系统,选择中可结合Windows 2000 Advanced

Server、Linux和UNIX的特点,在网络中混合使用。通常WWW、OA及管理信息系统服务器上可采用Windows 2000 Advanced

Server平台,E-mail、DNS、Proxy等Internet应用可使用Linux/UNIX,这样,既可以享受到Windows 2000 Advanced

Server应用丰富、界面直观、使用方便的优点,又可以享受到Linux/UNIX稳定、高效的好处。

首先,应根据需求阶段的调研成果,比如网络规模、客户数量流量、数据库规模、所使用的应用软件的特殊要求等,决定Windows 2000

Advanced Server服务器的档次、配置。例如,服务器若是用于部门的文件打印服务,那么普通单处理器Windows 2000Advanced

Server服务器就可以应付自如;如果是用于小型数据库服务器,那么服务器上至少要有256MB的内存:作为小型数据库服务器或者E-mail、Internet服务器,内存要达到512MB,而且要使用ECC内存。对于中小型企业来说,一般的网络要求是有数十个至数百个用户,使用的数据库规模不大,此时选择部门级服务器。1路至2路CPU、512-1024MB

ECC内存、三个36GB(RAID5)或者五个36GB硬盘(RAID5)可以充分满足网络需求。如果希望以后扩充的余地大一些,或者服务器还要做OA服务器、MIS服务器,网络规模比较大,用户数据量大,那么最好选择企业级服务器,即4路或8路SMP结构,带有热插拔RAID磁盘阵列、冗余风扇和冗余电源的系统。

2000 Advanced Server服务器时,对服务器上几个关键部分的选取一定要把好关。因为Windows 2000 Advanced

Server虽然是兼容性相对不错的操作系统,但兼容并不保证100%可用。Windows 2000 Advanced

Server服务器的内存必须是支持ECC的,如果使用非ECC的内存,SQL数据库等应用就很难保证稳定、正常地运行。Windows 2000 Advanced

server服务器的主要部件(如主板、网卡)一定要是通过了微软Windows 2000 Advanced Server认证的。只有通过了微软Windows

2000 Advanced Server部件认证的产品才能保证其在Windows 2000 Advanced

Server下的100%可用性。另外,就是服务器的电源是否可靠,因为服务器不可能是跑几天歇一歇的。

第三,在升级已有的windows 2000

Advanced Server服务器时.则要仔细分析原有网络服务器的瓶颈所在,此时可简单利用Windows 2000 Advanced

Server系统中集成的软件工具,比如Windows 2000 Advanced

Server系统性能监视器等。查看系统的运行状况,分析系统各部分资源的使用情况。一般来说,可供参考的Windows 2000 Advanced

Server服务器系统升级顺序是扩充服务器内存容量、升级服务器处理器、增加系统的处理器数目。之所以这样是因为,对于Windows 2000 Advanced

Server服务器上的典型应用(如SQL数据库、OA服务器)来说,这些服务占用的系统主要资源开销是内存开销,对处理器的资源开销要求并小多,通过扩充服务器内存容量提高系统的可用内存资源,将大大提高服务器的性能。反过来,由于多处理器系统其本身占用的系统资源开销大大高于单处理器的占用。所以相对来说,增加系统处理器的升级方案,其性价比要比扩充内存容量方案差。因此,要根据网络应用系统实际情况来确定增加服务器处理器的数目,比如网络应用服务器要处理大量的并发访问、复杂的算法、大量的数学模型等。

我们所谓的PC服务器、UNIX服务器、小型机服务器,其概念主要限于物理服务器(硬件)范畴。在网络资源存储、应用系统集成中。通常将服务器硬件上安装各类应用系统的服务器系统冠以相应的应用系统的名字,如数据库服务器、Web服务器、E-mail服务器等,其概念属于逻辑服务器(软件)范畴。根据网络规模、用户数量和应用密度的需要,有时一台服务器硬件专门运行一种服务,有时一台服务器硬件需安装两种以上的服务程序,有时两台以上的服务器需安装和运行同一种服务系统。也就是说,服务器与其在网络中的职能并不是一一对麻的。网络规模小到只用l至2台服务器的局域网,大到可达十几台至数十台的企业网和校园网,如何根据应用需求、费用承受能力、服务器性能和不同服务程序之间对硬件占用特点、合理搭配和规划服务器配制,最大限度地提高效率和性能的基础上降低成本,是系统集成方要考虑的问题。

有关服务器应用配置与均衡的建议如下。

大中型网络或ISP/ICP的服务器群配置

网络安全体系设计的重点在于根据安全设计的基本原则,制定出网络各层次的安全策略和措施,然后确定出选用什么样的网络安全系统产品。

尽管没有绝对安全的网络,但是,如果在网络方案设计之初就遵从一些安全原则,那么网络系统的安全就会有保障。设计时如不全面考虑,消极地将安全和保密措施寄托在网管阶段,这种事后“打补丁”的思路是相当危险的。从工程技术角度出发,在设计网络方案时,应该遵守以下原则。

强调对信息系统全面地进行安全保护。大家都知道“木桶的最大容积取决于最短的一块木板”,此道理对网络安全来说也是有效的。网络信息系统是一个复杂的计算机系统,它本身在物理上、操作上和管理上的种种漏洞构成了系统的安全脆弱性,尤其是多用户网络系统自身的复杂性、资源共享性,使单纯的技术保护防不胜防。攻击者使用的是“最易渗透性”,自然在系统中最薄弱的地方进行攻击。因此,充分、全面、完整地对系统的安全漏洞和安全威胁进行分析、评估和检测(包括模拟攻击),是设计网络安全系统的必要前提条件。

强调安全防护、监测和应急恢复。要求在网络发生被攻击、破坏的情况下,必须尽可能快地恢复网络信息系统的服务。减少损失。所以,网络安全系统应该包括3种机制:安全防护机制、安全监测机制、安全恢复机制。安全防护机制是根据具体系统存在的各种安全漏洞和安全威胁采取的相应防护措施,避免非法攻击的进行:安全监测机制是监测系统的运行,及时发现和制止对系统进行的各种攻击;安全恢复机制是在安全防护机制失效的情况下,进行应急处理和及时地恢复信息,减少攻击的破坏程度。

网络安全应以不能影响系统的正常运行和合法用户方的操作活动为前提。网络中的信息安全和信息应用是一对矛盾。一方面,为健全和弥补系统缺陷的漏洞,会采取多种技术手段和管理措施:另一方面,势必给系统的运行和用户方的使用造成负担和麻烦,“越安全就意味着使用越不方便”。尤其在网络环境下,实时性要求很高的业务不能容忍安全连接和安全处理造成的时延。网络安全采用分布式监控、集中式管理。

良好的网络安全系统必然是分为不同级别的,包括对信息保密程度分级(绝密、机密、秘密、普密),对用户操作权限分级(面向个人及面向群组),对网络安全程度分级(安全子网和安全区域),对系统结构层分级(应用层、网络层、链路层等)的安全策略。针对不同级别的安全对象,提供全面的、可选的安全算法和安全体制,以满足网络中不同层次的各种实际需求。

网络总体设计时要考虑安全系统的设计。避免因考虑不周,出了问题之后“拆东墙补西墙”的做法。避免造成经济上的巨大损失,避免对国家、集体和个人造成无法挽回的损失。由于安全与保密问题是一个相当复杂的问题。因此必须注重网络安全管理。要安全策略到设备、安全责任到人、安全机制贯穿整个网络系统,这样才能保证网络的安全性。

网络系统的设计是受经费限制的。因此在考虑安全问题解决方案时必须考虑性能价格的平衡,而且不同的网络系统所要求的安全侧重点各不相同。一般园区网络要具有身份认证、网络行为审计、网络容错、防黑客、防病毒等功能。网络安全产品实用、好用、够用即可。

第一步、确定面临的各种攻击和风险。

安全策略是网络安全系统设计的目标和原则,是对应用系统完整的安全解决方案。安全策略的制定要综合以下几方面的情况。

系统整体安全性,由应用环境和用户方需求决定,包括各个安全机制的子系统的安全目标和性能指标。

对原系统的运行造成的负荷和影响(如网络通信时延、数据扩展等)。

(3)便于网络管理人员进行控制、管理和配置。

可扩展的编程接口,便于更新和升级。

(5)用户方界面的友好性和使用方便性。

模型的建立可以使复杂的问题简化,更好地解决和安全策略有关的问题。安全模型包括网络安全系统的各个子系统。网络安全系统的设计和实现可以分为安全体制、网络安全连接和网络安全传输三部分。

安全体制:包括安全算法库、安全信息库和用户方接口界面。

(2)网络安全连接:包括安全协议和网络通信接口模块。

网络安全传输:包括网络安全管理系统、网络安全支撑系统和网络安全传输系统。

物理层的安争:物理层信息安全主要防止物理通路的损坏、物理通路的窃听和对物理通路的攻击(干扰等)。

链路层的安全:链路层的网络安全需要保证通过网络链路传送的数据不被窃听。主要采用划分VLAN(局域网)、加密通信(远程网)等手段。

(3)网络层的安全:网络层的安全需要保证网络只给授权的客户使用授权的服务,保证网络传输正确,避免被拦截或监听。

操作系统的安全:操作系统安全要求保证客户资料、操作系统访问控制的安令,同时能够对该操作系统上的应用进行审计。

应用平台的安全:应用平台指建立在网络系统之上的应用软件服务,如数据库服务器,电子邮件服务器,Web服务器等。由于应用平台的系统非常复杂,通常采用多种技术(如SSL等)来增强应用平台的安全性。

应用系统的安全:应用系统是为用户提供服务,应用系统的安全与系统设计和实现关系密切。应用系统使用应用平台提供的安全服务来保证基本安全,如通信内容安全、通信双方的认证和审计等手段。

网络安全产品主要包括防火墙、用户身份认证、网络防病系统统等。安全产品的选型工作要严格按照企业(学校)信息与网络系统安全产品的功能规范要求,利用综合的技术手段,对产品功能、性能与可用性等方面进行测试,为企业、学校选出符合功能要求的安全产品。

一个完整的设计方案,应包括以下基本内容:

对系统工程起动的背景进行简要的说明:主要包括:

业主发展的需要(对需求分析书进行概括)

在这一部分阐述整个系统设计的总体原则。主要包括:

对所采用的技术进行详细说明,给出全面的技术方案。主要包括:

对整个系统项目进行预算。主要内容包括:列出整个系统的设备、材料用量表及费用;成本分析;以综合单价法给出整个系统的预算表。

对整个项目的实施进行管理控制的方法。主要包括:

二、求:linux操作系统原理与应用(陈莉君)课后习题解析

这个题目很大,给人一种感觉我好像很成功,其实不然。实际上自己水平不高,甚至很低,但是做过了一些曲折的学习道路,同时把自己真实的学习历程表达出来,希望对后来者有借鉴的意义,甚幸!

我2000年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作,家里八辈是农民,并且很偏远,能够进入这样的地方是祖坟有风水。但在毕业前夕有个进入it的机会,我本想进去的,家里人极力反对,阻力可想而知。同时要交4000元的违约金,对我来说是天文数字。大学里的费用很多是借的,几乎将近一半的费用是在大学勤工俭学挣的,为了省钱,高中一个学期回家一次,大学一年回去一次。并且我个人也有特殊的人生背景(悲景更确切),这里不多说了,写十篇也写不完,同时偏离主题。这样我就参加了工作。一张报纸一杯茶的日子,几乎下班后有种很空虚和恐慌的感觉。在工作中虽然是与自己专业有点关系,但是很少。专业几乎荒废。我自己也思考,如果再不出去,自己将会成废人,只好让国家养了。两年后决定出去,但是几成废人,谁要呢,只好到学校去镀金。这是中国教育和社会的悲哀!

至于专业就改为计算机方面,听说好找工作,我说实话不是很对计算机特别感兴趣,生存第一需要。不要笑我,哈哈!

考研成绩出来,超过了国家线几十分。那个方向要两个,我第三,但是那年非碘,不面试就按分数来排,自然我落选了。其实给我面试机会也不一定要我,哈哈,自己几斤几两很清楚。

最后调剂到另外一个学校,交钱,咬咬牙,交吧!现在仍然债台高筑!

为什么要把这段列出,看后就知道了。

单位有网络,经常上网查些英语资料,在那里唯独英语没有丢很多。于是我就在网上查资料,学什么好呢,最后确定学嵌入式把,听说跟硬件相对比较紧密!而我在大学里多少学习了数字电路,单片机等,所以多少也有所利用,不会真的一无所知。当然在这之前也自学过数据结构,计算机组成原理等。C语言在大学就学了。哈哈这就是我的家底。

我知道自己的基础差,于是我就拿操作系统,数据库、数据结构、c++来看,机关有这个好处,空余时间多,于是平常就看书,很痛苦,没有人请教。

另外就上网到论坛上去,我就到各个专业的技术论坛,其实是电子论坛和嵌入式论坛。我几乎没有发帖,几乎把几个大型的出名的论坛的帖子翻遍了,虽然有很多重复的,我才知道嵌入式是个什么东东。这些帖子对我以后的学习产生了极大的影响。

知道了这两点,好办!我就开始规划学习路线。计算机的基本理论不能丢,于是重点看组成原理,数据机构,操作系统、c++。同时论坛上了解到,实时操作系统 ucos是一个很好的嵌入式操作系统,对初学者很好。于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的问题,我就看书,分析代码,一遍不行就两遍,三遍,这样才看了入了门,才知道什么是进程。原来看操作系统书时,根本就不知道进程是个什么东西。

在这段时间掌握的东西不多,但是,对我以后的影响很大,我想起了大学时一个同学跟我说过了一句话:大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。

对我来讲,再次进入大学不再是大学,而是避难所。希望这次进入给我喘气和养精蓄锐的机会和时间。我是这样认为和实践的。

在学校我有三件事:上课,上图书馆,上网。

对于上课,学校开了很多课程,非常好,很多是名人名师讲解,于是很多同学都想学,都去听。我也考虑过,最后放弃。我是这样认为的,时间是有限的,什么都想学,什么都学不成。于是我把我自己学的课进行了分化,一般的课程通过就行,重要的一定好好学。我希望不要什么争论学习课程多和少的问题,这仅仅是我的看法。所以我的成绩应该是很差的。分数低。好在后来的单位没有要我的成绩单,否则就惨了。

我个人感觉是上图书馆的效率比在寝室里高多了,这是我的经验。

上网,我给自己定了规矩:不玩游戏,不灌水,少看电影!因为时间对我来说太少和宝贵了,我没有资格和资本来浪费这些。上网我就在几个重要的专业技术网站上逛,下载技术资料。我一个朋友最近开了一个嵌入式网站,

里面的资料相当一部分是我在网上找的资料。那个网站很不错,资料丰富,找嵌入式方面,特别是嵌入式linux的资料,异常丰富。

有人会问,您下了那么多资料,怎么看的完和消化的了呢?

网上资料比较零散,不系统,但是如果把差不多的东西收集起来看就相对完整了,(嵌入式的图书就是这两年特别多,特别是2004年,简直是向外涌!2003年想买本嵌入式,特别是嵌入式linux的不多。)

2、对于像我这种入门的来说,很多看不懂,没关系,反复看,我个人对学习方法的一个总结是:重复是最好的老师!

3、即使有的用不上,也可以收集以后用的上时查阅。

但是我并非什么都要,目前我的技术路线是嵌入式linux,所以像wince之类基本上不收集。

总之,我在学校里我充分利用时间来学习,我看到一些同学整天的挂在网上打游戏,发些无关痛痒的帖子,浪费时间呀!我真的很痛心!

在这里我把它单独列出,文章有点紊乱,但是内容希望有益。

根据我在论坛的了解,我选择学习嵌入式linux,刚好我们学校也重视嵌入式linux,从实验室到课程安排都是关于嵌入式linux方面,天时地利!这里我把学习linux的经验和教训说说。

可以这样说,在论坛里说道学习linux差不多就学习linux内核。于是我电脑里安装了linux就开始看linux内核方面的书了。我记得来学校以前就买到一本陈莉君的讲linux内核的第一版,现在有第二版了。我就开始看那本说,大家说linux内核情景分析不错,我就买了上下册,后来又买了《深入理解linux内核》,最后也买了毛德操的《嵌入式系统》也是分析linux内核代码的,主要讲arm相关的。

看内核期间是个非常痛苦的过程,看情景分析有种在森林中找出路,其间我组织了一些同学学习内核,几乎没有几个能坚持下来的。我认为我是坚持下来了。情景分析在看第一、第二遍是几乎没有摸到门道,我分析有三个方面的原因:1、自己的基础差,这是最关键的。2、内核本身很难。3、没有交流和高人指点。到了第三遍时我才摸到门,才差不多知道个linux的大概脉络,很多细节也是稀里糊涂。

学习linux总结,这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。声明:一孔之见!不可深究!

在学习linux内核过程中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。我个人推荐一个学习路线是:使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。

关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别的话,如什么拳法,什么刀法等,那么linux

内核应该是一个人的内功的反应。

怎么开始学linux内核:最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。

先看《深》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错。如果没有学习操作系统的,像我这样的,最好先看看操作系统原理的书。看了几遍后,就看情景分析,最好对着《深》看。两本交叉看,《深》是纲,《情》是目。最后深入代码。

学习嵌入式,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm。操作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos。那是开源的,同时很小。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发现,做linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决自己又长进了!相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!

至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然化钱,我认为值。对我实习和工作产生了很大的影响。

如果没有开发板,那是纸上谈兵。有人说,那要1000-2000亚,的确是,兄弟,看长远的,对您的职业和发展那点钱不算什么!有的人说我站着说话不腰痛,好吧,钱这东西对我影响很大,我在大学里扫厕所,扫的不错,奖5元/月。兄弟你有过吗?我认为教育投资是效益最有保障的!我实习拿3k,很多同学拿1-2k,当然比我高的也有。虽然我现在没有毕业,但一家公司就签了。从事目前流行的高档的消费电子的研发。对于我两年前一无所知的我,应该有质的变化,我感谢学校收了我这个废品。当然我也非常的努力。说这么多并不是要炫耀我什么,实际上根本不值得炫耀,虽然现在工作环境和待遇比较满意,但是,我发现我很差,特别是代码能力,我希望平常大家少玩游戏,多编程。编程才是硬道理!

你可以不接受培训,但是不能不买开发板。如果你想学习嵌入式一定要买块学习板,最好买块arm9的,贵些也值。可以跑高级操作系统。这个不要什么品牌公司的,一般不会出什么问题,市场上的板子一般是三星的2410,基本上是抄的。如果是做产品那要注意些。一般的公司一般要2000,加lcd要3000甚至更多。我接触到有的板只要1200,加lcd也就2000,差别比较大,我认为学习都够啦。

对于培训,如果有条件最好参加,主要是嵌入式相对别的不同,自己摸索很费时,如果有高手指点非常的好,进步快。特别是认识做这些的朋友。我接受过培训,认识个朋友。在以后的工作中帮我很多,在这里谢谢他!我记得哈佛的一个MBA的学生这样说,大意是:在哈佛学到什么不重要,最重要的是这些未来各大公司的高级管理人员是我的同学!真是有远见!

目前市场是培训比较贵,一个星期两三千,真正算起来也要,那些讲师待遇绝对不会低。但是有个致命的问题是连续上课,一连几天,效果不佳。我希望社会上多出些1000元左右,并且时间长些,如一个月,一周一到两次课。如果没人做,我来做,哈哈!

没有想到,一下写了这么多,其实还想写的,比如在中科院的一位老兄是怎样学习linux内核和看书的,真的很感动。他的为人我很钦佩。也想介绍毛德操的《嵌入式系统》那本书,对学习arm

linux的很好,也想介绍实习和工作的东西,太长了,耽误大家时间。

三、Linux学习书籍求推荐

1、《Linux与Unix Shell编程指南》

1、《C Primer Plus,5th Edition》【美】Stephen Prata著

2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K& R)著

3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)

4、《嵌入式Linux应用程序开发详解》

1、《深入理解Linux内核》(第三版)

2、《Linux内核源代码情景分析》毛德操胡希明著

1、《UNIX Network Programming》(UNP)

4、《Linux设备驱动开发》(LDD)

1、《ARM体系结构与编程》杜春雷著

1、《嵌入式系统――体系结构、编程与设计》

2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操胡希明著

3、《Building Embedded Linux Systems》

3、《计算机组织与体系结构?性能分析》

4、《深入理解计算机系统》【美】Randal E. Bryant David O’Hallaron著

5、《操作系统:精髓与设计原理》

《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。

《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解

浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作。另外赵炯的《LINUX内核完全剖析–基于0.12内核》也非常不错,对内核代码进行了详细的注释,非常有助于对内核的理解和代码的分析。

不用说了肯定是《unix环境高级编程》被称为unix编程的圣经。

《TCP/IP详解》作者W.Richard Stevens也是《unix环境高级编程》的作者,牛人出的书没有一本不是经典的。但是英年早逝,默哀一下。

《The C Programming Language》正是作者造出来的c语言,书能垃圾就怪了

《c和指针》和《c缺陷和陷阱》两本必备。包含了c语言最容易出错的地方,加深c语言功力的好材料。

1熟悉linux基本环境>>>《鸟哥的私访菜》《unix初级教程》《linux编程宝典》(市面上无,图书馆有),等等。

2熟悉操作系统的基础知识>>>《现代操作系统》《操作系统概念》

3熟悉系统编程>>>《unix环境高级编程第二版》《unix操作系统设计与实现》

4内核按先后顺序:《 linux内核设计与实现》《linux设备驱动程序》《深入理解 linux内核》《linux内核源代码情景分析》《深入理解linux虚拟内存系统》

5其他一些书籍:《freebsd操作系统设计与实现》《solaris内核结构》《unix高级教程:系统技术内幕》《现代体系结构的unix系统:内核程序员的smp与cache技术》《保护方式下的80386及其编程》(后3本市面上没了,大学图书馆里一般都有》《Intel64 and IA-32 Arichitectures Software Developer’s Manual》

6其实内核玩深了,体系和编译也要学好《计算机体系结构:量化研究方法》《编译原理》(龙书)

Advanced Bash Scripting Guide(如果你使用的是 GNU/Debian系统,可以用 apt-get install abs-guide安装该文档)

BASH Programming– Introduction HOW-TO

Advanced Programming in the UNIX Environment(中文版《UNIX环境高级编程》第二版)作者 W.Richard

GNU/Linux编程指南作者 Kurt Wall

Linux程序设计权威指南作者于明俭、陈向阳、方汉

《The Art of Unix Programming》作者 E.S.R

Computer Systems A Programmer’s Perspective

(中文名)《深入理解计算机系统(修订版)》

《Unix Systems Programming》(中文版《UNIX系统编程》)作者:(美)KAY

A.ROBBINS, STEVE ROBBINS译者:陈涓赵振平

Unix Network Programming V1& V2,Unix网络编程卷1、2作者 W.Richard Stevens

Definitive Guides to the X WindowSystem作者 Dan Heller, Paula M. Ferguson

内核源代码阅读(结合源代码)和编程

《深入分析Linux内核源代码》陈莉君

《 Understanding Linux Network Internals》即《深入理解Linux网络内幕(英文影印版)》Christian Benvenuti

《The Linux Kernel Module Programming Guide》

Linux设备驱动程序/Linux Device

Drivers作者 Alessandro Ruibini

如果你还想了解更多这方面的信息,记得收藏关注本站。