linux系统编程
文章平均质量分 93
小王的笔记仓库
没什么技术,全靠大佬们帮帮
展开
-
linux系统编程(7)--线程
Linux下线程的属性是可以根据实际需要进行设置,如我们对程序的性能提出更高的要求那么需要设置线程属性,比如可以通过设置线程栈的大小来降低内存的使用,增加最大线程个数。//线程的分离状态 int schedpolicy;//线程调度策略 struct sched_param schedparam;//线程的调度参数 int inheritsched;//线程的继承性 int scope;//线程的作用域 size_t guardsize;原创 2023-04-04 22:03:32 · 583 阅读 · 0 评论 -
linux系统编程(6)--守护进程
守护进程(Daemon Process),也就是通常说的 Daemon 进程,是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。一般采用以d结尾的名字。守护进程是个特殊的孤儿进程,这种进程脱离终端,为什么要脱离终端呢?之所以脱离于终端是为了避免进程被任何终端所产生的信息所打断,其在执行过程中的信息也不在任何终端上显示。原创 2023-04-02 21:46:16 · 732 阅读 · 0 评论 -
linux系统编程(5)--进程间通信
管道也叫无名管道,它是是 UNIX 系统 IPC(进程间通信) 的最古老形式,所有的 UNIX 系统都支持这种通信机制。半双工,数据在同一时刻只能在一个方向上流动。数据只能从管道的一端写入,从另一端读出。写入管道中的数据遵循先入先出的规则。管道所传送的数据是无格式的,这要求管道的读出方与写入方必须事先约定好数据的格式,如多少字节算一个消息等。管道不是普通的文件,不属于某个文件系统,其只存在于内存中。管道在内存中对应一个缓冲区。不同的系统其大小不一定相同。原创 2023-04-02 21:20:37 · 380 阅读 · 0 评论 -
linux系统编程(4)--进程管理
程序:是静态的,程序是存放在存储介质上的可执行文件。进程:是动态的,是程序的一次执行过程。进程的状态是变化的,其包括进程的创建、调度和消亡。在 Linux 系统中,操作系统是通过进程去完成一个一个的任务,(如:当前需要用到哪些环境变量,程序运行的目录在哪,当前是哪个用户在运行此程序等)和(如:处理器 CPU 占用率、存储器、I/O设备、数据、程序)。原创 2023-04-02 21:15:50 · 415 阅读 · 0 评论 -
linux系统编程(3)--系统调用
系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内核把请求处理完毕后再将处理结果送回给用户空间。原创 2023-04-02 21:10:10 · 656 阅读 · 0 评论 -
linux系统编程(2)--Makefile
创建变量: 变量名 = 变量值 #使用变量: $( 变量名) ${变量名} #注意: #makefile变量名可以以数字开头 #makefile变量名大小写敏感 #变量一般在makefile的头部定义clean: rm -rf $( OBJS) test #Tips: 使用make clean可以快速清理生成的文件除了使用用户自定义变量,makefile中也提供了一些变量(变量名大写)供用户直接使用,我们可以直接对其进行赋值。CPPFLAGS : C预处理的选项 如:-I。原创 2023-04-02 21:00:21 · 887 阅读 · 2 评论 -
linux系统编程(1)--GCC和GDB
GNU工具集中的调试器是GDB(GNU Debugger),该程序是一个交互式工具,工作在字符模式。除gdb外,linux下比较有名的调试器还有xxgdb, ddd, kgdb, ups。启动程序,可以按照你的自定义的要求随心所欲的运行程序。可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)当程序被停住时,可以检查此时你的程序中所发生的事。动态的改变你程序的执行环境。原创 2023-04-02 20:52:35 · 736 阅读 · 0 评论