前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[linux] C语言Linux系统编程进程基本概念

[linux] C语言Linux系统编程进程基本概念

作者头像
唯一Chat
发布2019-09-10 10:43:06
1.2K0
发布2019-09-10 10:43:06
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

1.如果说文件是unix系统最重要的抽象概念,那么进程仅次于文件。进程是执行中的目标代码:活动的、生存的、运行的程序。

除了目标代码进程还包含数据、资源、状态以及虚拟化的计算机。

2.进程体系:

每一个进程都有一个唯一的正整数标识,即进程ID(pid).第一个进程的pid是1,接下来每一个进程接受一个新的唯一的pid.

在linux中,进程有一个严格的层次结构,这就是广为人知的进程树。进程树以第一个进程,也就是init进程为根。新进程通过fork()系统调用创建。fork()复制了调用进程,原进程称为父进程,新进程称为子进程。除了第一个进程外,每一个进程都有父进程。

3.信号

信号是一种单向异步通知机制,信号可能是从内核发送到进程,也可能是从进程到进程,或者进程给自己。信号一般用于通知进程发生某些事件。

linux内核实现了大约30个信号,每一个信号由一个数字常亮和文本名表示。除了SIGKILL(进程中断)和SIGSTOP(进程停止)外,进程能够根据接收到的信号进行控制。

4.进程间通讯

允许进程间交换信息和通知彼此所发生的事件是操作系统最重要的工作之一。linux内核实现了传统的unix的进程间通讯(IPC)机制。

linux支持的进程间通讯机制包括管道、命名管道、信号量、消息队列、共享内存、快速用户空间互斥体

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-12-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档