课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Linux编程开发是目前比较热门的一个互联网技术发展方向,而今天我们就通过案例分析来了解下,学习Linux能做什么。
一、Linux运维工作内容和职责
我们先来看运维。运维又可以根据不同的工作内容细分为很多不同的方向,但是,主流的分法一般就是开发与运维几个方向。
虽然运维也分很多方向,但很多公司,特别是中小公司,基本是一个人干完上面这些所有工作。所以,从事运维工作的话也是需要掌握不少技术的。
不管是什么方向的运维,工作内容基本都可以概括为两句话。一是:保障业务长期稳定运行。就是说,公司的服务器,你不仅要学会搭建,而且要保证上面的业务要做到长期稳定运行,任何出一点点差错,运维人员可能就要背这个锅了。所以,运维人员经常自嘲自己是“背锅侠”。
二是:保障数据安全可靠。这句话比较好理解,现在数据泄漏太严重了,像之前facebook数据泄漏事件让facebook吃了不小的罚单。所以如何保证数据的安全也是运维人员一项非常重要的工作。
二、Linux开发工作内容和职责
以上这些就是对运维方向的介绍,我们再来看另一大方向:开发方向。开发方向又分为两个:应用层开发及底层开发。先来看应用开发。我现在做的工作就是Linux应用开发。那应用开发到底做些什么工作呢?
一般而言,应用开发又分细分为这三个:桌面应用开发、嵌入式应用开发、服务器运用开发。
不管是什么应用开发,简单而言,都是在Linux下开发各种各样的应用程序。那什么又是应用程序呢?我举个例子你们就明白了。就好比在Windows下,我们有QQ、微信、以及后面要介绍的虚拟机等,这些都统称为应用程序。这就是应用程序的概念。
同样的,如果在Linux下也开发一些类似这种的应用程序,就是属于应用开发。在Windows下,我们看到的那些应用程序大部分是带图形界面的,然而,在Linux下的应用程序,有些会带有界面,而相当一部分是不带界面的。
Linux下带界面的应用程序所使用的开发工具之一就是QT,所以有个岗位就叫作QT工程师,做的就是这个活。当然QT程序是可移植的,Linux下同样一套代码可以不用作任何修改就可以在Windows下编译运行。
那嵌入式Linux应用开发又是什么?很多嵌入式设备,比如一些机器人玩具,一些智能家居设备,以及汽车的中控等,很多跑的是Linux系统。那对应的我们也需要给这些设备开发一些应用程序,就是所谓的嵌入式Linux应用开发。这些应用程序通常是不带界面的,它们通常会在后台默默运行,完成相应的业务工作。当然也有一些嵌入式应用程序是带界面的,但其实很多也是直接跑QT的。
不管是使用什么开发语言,都需要考虑事件处理、高并发之类的需求,同时也要学会使用框架,要站在巨人的肩膀上,才走得更快更远。
我们再来看看Linux底层开发。其实,只要有接触到Linux,都会听说过内核、文件系统、uboot之类的名词,这些就是底层开发人员天天打交道的东西。
一般而言,内核、文件系统、uboot的移植很多芯片厂商都已经给你做好了,你只需学会维护即可。而对于内核裁剪、定制之类的工作,那就需要底层工程师来做了。
除此之外,你还要学会开发驱动,这部分的工作应该是比较多的。什么是驱动开发呢?大家知道,在Linux下一切皆文件,设备也是。所以应用工程师需要操作硬件,比如IO口,只需操作对应的设备文件即可。那这个设备文件怎么实现对IO口进行操作?这就是驱动开发的工作了。很多公司对驱动开发的需求比较大,所以诞生出一个专门的岗位叫驱动开发工程师。
而随着物联网的发展,现在很多设备,特别是智能家居类的设备,很多跑的是安卓系统。所以在嵌入式设备上移植一个安卓系统,也是底层开发工程师的一个工作内容。当然不是所有的底层开发工程师需要做这个工作,一切视公司的业务而定。但如果有时间,底层开发相关的工作都应该要学会。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。