在标准的IO库中

  1. 在标准IO库中,rewind函数作用?

将文件内部的位置指针重新指向一个流(数据流/文件)的开头

  1. 一个完整的信号生命周期包含4个重要的事件,这4个重要事件分别是?

信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处理函数执行完毕

  1. 使用gdb调试程序时,next和step命令的作用?

step 就是单步执行,遇到子函数就进入并且继续单步执行;

next 是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步

  1. 什么是进程?进程资源由哪两部分组成?

进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础

进程资源包括内核空间进程资源和用户空间进程资源

  1. 父进程调用wait() 可能出现的三种情况?(5分)。

(1)如果其所有子进程都还在运行,则阻塞;

(2)如果一个子进程已经终止,正等待父进程获取其终止状态,则取得该子进程的终止状态立即返回;

(3)如果它没有任何子进程,则立即出错返回;

  1. 在进程中,return和exit() 的区别?

return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示一个进程的结束。

在main函数里,return(0)和exit(0)是一样的,子函数用return返回,而子进程用exit退出,调用exit时要调用一段终止处理程序,然后关闭所有I/O流

  1. 什么是孤儿进程?谁负责回收孤儿进程的内核空间资源?

孤儿进程:因父亲进程先退出而导致一个子进程被init进程收养的进程,即孤儿进程的父亲更改为init进程,该进程在孤儿进程退出后回收它的内核空间资源。

  1. 僵尸进程是什么?如何消灭僵尸进程?

僵尸进程:进程已经退出,但它的父亲进程还没有回收内核资源的进程,即该进程在内核空间的PCB没有释放。利用kill函数杀死父进程,僵尸函数会被init进程收养

  1. 简述进程对可靠信号和不可靠信号的处理过程。

如果进程在屏蔽某个信号的时间内,0其他进程多次向其发送同一个信号,不可靠信号只有一次未决记录,当进程解除屏蔽后,该信号只会被捕捉一次;而可靠信号操作系统会记录所有的发送,当进程解除屏蔽后,操作系统会捕捉对等次数。

  1. 简单介绍一下信号的定义及其分类。

信号是表示消息的物理量,是运载消息的工具

信号是软件中断,是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的

分类:确定信号和随机信号;连续信号和离散信;周期信号和非周期信号;能量信号与功率信号;因果信号与反因果信号;实信号与复信号

  1. 简单介绍一下匿名管道及其特点。

匿名管道用于进程之间通信,且仅限于本地父子进程之间通信,结构简单。

1.只提供单向通信,也就是说,两个进程都能访问这个文件,假设进程1往文件内写东西,那么进程2 就只能读取文件的内容。
2.只能用于具有血缘关系的进程间通信,通常用于父子进程建通信
3.管道是基于字节流来通信的
4.依赖于文件系统,它的生命周期随进程的结束结束(随进程)
5。其本身自带同步互斥效果

  1. 请解释一下有名管道和匿名管道的区别?

匿名管道是由pipe函数创建 并打开的
命名管道是由mkfifo函数创建 的 ,打开用open命名          管道和匿名管道唯一的区别就是在创建的打开,一旦这些工作完成后,它们有相同的意义。

  1. 什么是线程?进程和线程的区别?

线程是操作系统能够进行运算调度的最小单位。

进程是运行中的程序,线程是进程的内部的一个执行序列
进程是资源分配的单元,线程是执行行单元
进程间切换代价大,线程间切换代价小
进程拥有资源多,线程拥有资源少
多个线程共享进程的资源

  1. Please describe the difference of signal() and sigaction() in brief

signal在调用handler之前先把信号的handler指针恢复;sigaction调用之后不会恢复handler指针,直到再次调用sigaction修改handler指针。
这样,(1)signal就会丢失信号,而且不能处理重复的信号,而sigaction就可以。因为signal在得到信号和调用handler之间有个时间把handler恢复了,这样再次接收到此信号就会执行默认的handler。(虽然有些调用,在handler的以开头再次置handler,这样只能保证丢信号的概率降低,但是不能保证所有的信号都能正确处理)
2、signal在调用过程不支持信号block;sigaction调用后在handler调用之前会把屏蔽信号(屏蔽信号中自动默认包含传送的该信号)加入信号中,handler调用后会自动恢复信号到原先的值。
(2)signal处理过程中就不能提供阻塞某些信号的功能,sigaction就可以阻指定的信号和本身处理的信号,直到handler处理结束。这样就可以阻塞本身处理的信号,到handler结束就可以再次接受重复的信号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值