linux编程-基本概念

学习linux,是为了用而学习,不是学了为用。

首先,要学Linux编程,你得会用Linux,也就是得在命令行环境下生存下来。

其次,Linux下开发,两种基本语言,C和C++;利用Linux的API进行开发;Linux的API是遵循POSIX标准的;POSIXIEEE为要在各种UNIX操作系统上运行的软件,而定义API的一系列互相关联的标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISOIEC 9945;它基本上是Portable Operating System Interface(可移植操作系统接口)的缩写,而X则表明其对Unix API的传承。

再次,Linux下程序开发几大块。文件操作:这个很重要,Linux下的一个思想叫一切皆文件,可见文件读写的重要。I/O模型,五大I/O模型,阻塞,非阻塞,复用,信号驱动和异步I/O,最重要的当属复用,就是select,poll和epoll,要知道他们的适用范围和优缺点。进程和线程,包括进程和线程的概念和区别,进程和线程的建立,同步,通信,互斥等等。网络编程,就是socket编程,Linux编程,还得了解一下TCP/IP协议,编程方面主要是那几步,申请socket,bind,listen,accept几步,要熟悉常见的服务器模型,进程池线程池方式,多进程方式,复用方式,最重要的是复用方式。

最后,Linux这么多人用,好处在哪里;内核源码,内核的进线程调,内核链表。在学习的过程中,要不断积累和了解最新的东西,最起码要知道个概念,比如分布式,大数据,云计算,机器学习,计算机视觉,JIT等等,形成知识链,这样不会导致你最后不知道学啥。

相关书籍:

《鸟哥的Linux私房菜 基础篇》
《C程序设计语言》 丹尼斯写的
《Linux C编程一站式学习》 宋劲杉写的
《Eensstial C++》
《C++ Primer》
《Effective C++》

《Linux网络编程》 宋劲彬写的
《Unix环境高级编程》
《Unix网络编程》 两部
《Linux高级程序设计》 华清远见的

《MySQL必知必会》
《数据库系统概念》

《大话数据结构》
《算法导论》

《Linux内核情景分析》
《深入理解Linux内核》

《深入理解计算机系统》
《现代操作系统》
《深入理解计算机网络》
《TCP/IP》的三卷经典书

廖雪峰的Python学习网站




你可能感兴趣的:(转载文章,linux编程,入门学习概念)