Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux操作系统下的多进程编程详细讲解

Linux操作系统下的多进程编程详细讲解

(一) 理解Linux下进程的结构 Linux下一个进程在内存里有三部份的数据,就是“数据段”,“堆栈段”和“代码段”,其实学过汇编语言的人一定知道,一般的CPU象I386,都有上述三种段寄存器,以方便操作系统的运行。“代码段”,顾名思义,就是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段。 堆栈段存放的就是子程序的返回地址、子程序的参数以及程序的局部变量。而数据段则存放程序的全局变量,常数以及动态数据分配...
Linux操作系统上架设VSFTP服务器实例讲解

Linux操作系统上架设VSFTP服务器实例讲解

实验环境:AS4最小化安装 实验目标:架设VSFTP服务器 这次我们来学习Linux系统中的 vsftp服务器的配置。 下面我们开始了!首先我们安装vsftp服务器端的软件。 vsftpd服务器的安装文件位于第1张安装光盘中。 使用rpm命名可顺利安装该软件包。 # rpm -ivh vsftpd-2.0.1-5.i386.rpm 安装完后默认就可以启动vsftp服务了, [root@localhost ~]# service vsftpd start S...
Linux中识别CPU类型的2种方法

Linux中识别CPU类型的2种方法

硬件环境:IA-64AMD Athlon(tm) 64Pentium IIILinux环境:RedHat EL AS 3Mandrake Linux 10 for AMD 64RedHat Linux 7.3 前段时间做系统实施的时候,因为事先没有对服务器的配置做详细说明和检查,导致应用服务器加上后,出现数据乱码的情况,后来经过一系列的调整,好不容易按时实施完成了,真是惊险啊~~回来后对64位的机器做了一些研究,初步得出以下结论,和大家一起讨论一下。方法一...
Linux Shell编程简单实例讲解

Linux Shell编程简单实例讲解

引言:本人学shell也有一段时间了,感觉学习shell和其他语言一样就是多练习程序。网上很多初学shell的朋友,一定为了找不到练习的程序而苦恼,我整合一下学习shell过程中遇到的比较基础的练习题,希望能给初学shell的朋友一些启发。(呵呵也许不该叫整合,习惯说这个词了) 例子没有先后顺序:每个例子可能有多种方法 1.在/home/codfei以及它的子目录中查找含有codfei的所有文件方法一:[root@localhost Linuxos]...
Linux编程学习摘记

Linux编程学习摘记

使用GDB调试程序使用手记gdb是调试应用程序的一个命令行下的工具。用了用,下面是心得:以调试processtest可执行文件为例子。1) gdb processtest2) 设置一个断点,不然程序一下子就执行完了,什么也调试不成。Break 5,表明断点在第5行。删除断点用clear 5即可。3) 键入run,执行开始,并在第5行停止。4) 下面就可以用很多命令了。l "print <symbol>"显示一个符号。l "whatis <...
Windows动态库与Linux共享对象

Windows动态库与Linux共享对象

1 引言 动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用的技术。其目的减少程序的大小,节省空间,提高效率,具有很高的灵活性。采用动态库技术对于升级软件版本更加容易。与静态库(Static Link Library)不同,动态库里面的函数不是执行程序本身的一部分,而是根据执行需要按需载入,其执行代码可以同时在多个程序中共享。 在Windows和Linux操作系统中,都可采用这种方式进行软件设计,但他们的调用方式以...
编程指南 编译Linux内核的操作流程

编程指南 编译Linux内核的操作流程

一、为什么要编译内核; 有时我们为了实现某些功能,比如对iptables的防火墙有些需要内核支持;还有实现一些硬件的支持等,这时我们需要重编内核; 二、内核源码版本的选择; 如果发行版本提供内核源码,最好还是用发行版本提供的;比如Fedora 4.0 提供了很多版本的内核源码;我们安装好后,他自带的配置文件大多能满足我们的需要,对于新手来说,根据自带的内核的配置文件.config ,我们也能学到一点如何配置内核。也没有什么难的,熟能生巧罢了; 如果从 ke...
自己动手 编写Linux系统的设备驱动程序

自己动手 编写Linux系统的设备驱动程序

序言 Linux是Unix操作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下的驱动程序有很大的区别。在Linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的操作要自己来编写,而且调试也不方便。 以下的一些文字主要来源于khg,johnsonm的Write linux device driver, Brennan"s Guid...
Linux驱动程序编写详细说明

Linux驱动程序编写详细说明

一个典型的驱动程序,大体上可以分为这么几个部分: 1、注册设备 在系统初启,或者模块加载时候,必须将设备登记到相应的设备数组,并返回设备的主驱动号,例如:对快设备来说调 用 refister_blkdec()将设备添加到数组blkdev中。并且获得该设备号。并利用这些设备号对此数组进行索引。对于 字符驱动设备来说,要使用 module_register_chrdev()来获得祝设备的驱动号。然后对这个设备的所有调用都用这个设备号来实现。 2、定义功能函数 ...
Linux内核模块编译详解

Linux内核模块编译详解

Linux内核是一个整体是结构。因此向内核添加任何东西。或者删除某些功能 ,都十分困难。为了解决这个问题。引入了内核机制。从而可以动态的想内核中添加或者删除模块。模块不被编译在内核中,因而控制了内核的大小。然而模块一旦被插入内核,他就和内核其他部分一样。这样一来 就会曾家一部分系统开销。同时,如果模块出现问题。,也许会带来系统的崩溃。 模块的实现机制: 启动时,由函数 void inti_modules() 来初始化模块。因为启动事很多时候没有模块。这个函...
Linux系统环境下的Socket编程详细解析

Linux系统环境下的Socket编程详细解析

什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一...
Linux内核升级全过程祥解

Linux内核升级全过程祥解

由于开发环境需要在linux-2.6内核上进行,于是准备对我的虚拟机上的Linux系统升级。没想到这一弄就花了两天时间(反复装系统,辛苦啊~~),总算把Linux系统从2.4.20-8内核成功升级到了2.6.18内核。 网上虽然有很多介绍Linux内核升级的文章,不过要么过时,下载链接失效;要么表达不清,不知所云;更可气的是很多文章在转载过程中命令行都有错误。刚开始我就是在这些“攻略”的指点下来升级的,以致于浪费了很多时间。 现在,费尽周折,升级成功,心情...
定制Linux内核 充分发挥系统的潜能

定制Linux内核 充分发挥系统的潜能

众多的Linux用户在经历了对Linux由好奇到熟悉的过程之后,是否希望按照自己机器的实际配置对Linux进行定制,从而获得最佳的系统性能呢?也许有用户会认为在自己使用Linux的过程中没有碰到到任何问题,Linux确实象人们所宣传的那样“永远不会崩溃”,因此完全没有必要冒着风险对系统内核进行的改动。其实,对Linux系统内核进行定制和修改并不向很多人想象中的那么复杂。如果用户能够根据自己的实际情况对Linux系统内核进行合理的修改,可以有效的简化Linu...
<< 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 >>