0529-linux系统应用编程-课堂纪要1
【知识点详解】 Linux系统应用编程涉及众多核心概念,其中最重要的三个基本抽象是进程、虚拟存储器和文件。这些抽象概念是操作系统实现处理器、主存和I/O设备管理的基础。 1. **进程**: - **进程状态**:在Linux内核中,进程有五种状态:运行状态(TASK_RUNNING)、可中断睡眠状态(TASK_INTERRUPTIBLE)、不可中断睡眠状态(TASK_UNINTERRUPTIBLE)、暂停状态(TASK_STOPPED)和僵死状态(TASK_ZOMBIE)。 - **进程创建与Fork**:`fork()`系统调用用于创建新进程。在`fork()`调用后,父子进程会交替执行,且返回值不同,大于零表示父进程,等于零表示子进程,负值表示错误。 - **Vfork**:与`fork()`类似,但子进程与父进程共享数据段,并且子进程先运行,父进程后运行,常与`exec`系列函数一起使用。 - **孤儿进程与僵尸进程**:孤儿进程是指其父进程已终止的进程,而僵尸进程是已终止但其父进程尚未收集其退出状态的进程。避免僵尸进程的方法是父进程及时调用`wait()`或`waitpid()`收集子进程的退出状态。 2. **虚拟存储器**: - 虚拟存储器是主存和磁盘I/O设备的抽象,它使得程序可以访问超出实际物理内存容量的地址空间。 - `exec`系列函数(如`execl`, `execlp`, `execle`, `execv`, `execvp`等)用于替换当前进程的映像,加载新的程序执行。`execve`是底层系统调用,负责替换进程的代码段、数据段、堆栈段和进程控制块(PCB)。 3. **文件**: - 文件是I/O设备的抽象,提供了一种与硬件无关的访问接口。 4. **进程终止**: - 进程有五种终止方式:正常退出(main函数返回或调用`exit`/`_exit`),异常退出(如调用`abort`引发`SIGABRT`信号),以及由信号导致的终止(如`SIGINT`,通常由Ctrl+C触发)。 5. **环境变量与`atexit`**: - 环境变量是全局的键值对,通过`environ`全局指针访问。 - `atexit()`函数用于在进程正常退出前注册要执行的清理函数,如`bye1`和`bye2`。 6. **进程控制**: - `getpid()`函数获取当前进程ID,`_exit()`是系统调用来立即终止进程,不同于`exit()`,后者会执行清理操作。 Linux系统应用编程涵盖了进程管理、内存管理和文件操作等多个方面。理解和熟练掌握这些基础知识对于编写高效、可靠的Linux应用程序至关重要。在实际编程中,合理利用这些机制可以优化程序性能,确保程序的稳定性和可靠性。
![](https://csdnimg.cn/release/download_crawler_static/86375387/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86375387/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86375387/bg3.jpg)
剩余17页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![xls](https://img-home.csdnimg.cn/images/20210720083658.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![avatar](https://profile-avatar.csdnimg.cn/a387ee7696f1450e8abf581ad908308e_weixin_35752233.jpg!1)
- 粉丝: 78
- 资源: 316
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0