欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 【笔试题面试题】IO类2 知识点汇总(笔试面试题)

【笔试题面试题】IO类2 知识点汇总(笔试面试题)

2024/10/24 13:28:28 来源:https://blog.csdn.net/2301_77133426/article/details/141034875  浏览:    关键词:【笔试题面试题】IO类2 知识点汇总(笔试面试题)

         书接上文,配上前文一起实用更加,持续更新,督促自己学习

目录

1、详细描述一下什么是IO以及标准IO和文件IO的区别(补充)

2、什么是死锁,如何避免死锁(补充)

3、为什么引入同步互斥机制,请详细描述同步互斥机制的内容

4、进程的状态有哪些?请画出进程切换图,要给出状态转换的原因

5、特殊进程有哪些?


1、详细描述一下什么是IO以及标准IO和文件IO的区别(补充)

        IO全称为Input/Output,即输入/输出,它指的是计算机系统中数据的输入和输出过程。
1、标准IO属于库函数,调用封装好的相关库函数,来实现数据的输入输出;文件IO属于系统调用,调用系统(内核)提供的相关函数,来实现数据的输入输出
2、标准IO操作的是文件指针,文件IO操作的是文件描述符
3、标准IO有缓冲区,文件IO没有缓冲区


2、什么是死锁,如何避免死锁(补充)

        在多线程编程中,死锁是一种情况,其中两个或多个线程被永久阻塞,因为每个线程都在等待其他线程释放它们需要的资源,在C语言中,这通常涉及互斥锁(mutexes),当多个互斥锁被不同的线程以不同的顺序获取时,很容易发生死锁

避免死锁的方式:
        1. 避免持有和等待:尽可能让线程在开始执行前一次性获取所有必需的资源。
        2. 资源排序:规定一个全局顺序来获取资源,并且强制所有线程按这个顺序获取资源。
        3. 使用超时:在尝试获取资源时使用超时机制,这样线程在等待过长时间后可以放弃,回退,并重新尝试。
        4. 检测死锁并恢复:运行时检测死锁的存在,一旦检测到死锁,采取措施(如终止线程或回滚操作)来解决。


3、为什么引入同步互斥机制,请详细描述同步互斥机制的内容

        同步互斥机制是确保多线程程序中数据一致性、任务正确顺序执行、系统性能优化以及防止死锁等关键问题的重要技术手段。

        同步是指在不同任务之间协调执行顺序,确保任务按照特定的顺序执行。

        互斥则是指在任何时刻,只允许一个任务访问特定的资源或执行特定的代码段(称为临界区)。这是为了防止多个任务同时访问同一资源,从而避免数据不一致或竞态条件的发生


4、进程的状态有哪些?请画出进程切换图,要给出状态转换的原因


5、特殊进程有哪些?

        1、0号进程:也成为 idel 进程,他是操作系统启动后执行的第一个进程,这个进程也叫空闲进程,当没有其他进程执行时,系统会默认执行该进程。1号进程和2号进程都是由0号进程创建出来的。

        2、1号进程:也称init进程,该进程由0号进程产生,主要完成系统创建时一些软件硬件的初始化工作。当其他进程的父进程死亡后,会托管其子进程

        3、2号进程:也称kthreadd,该进程由0号进程产生,也成为调度进程,当某个就绪进程时间片轮到时,该进程负责进程的调度工作

        4、孤儿进程:当前进程的父进程死亡后,但是当前进程还没有结束,那么当前进程称为孤儿进程,孤儿进程会由1号进程收养

        5、僵尸进程:当前进程已经死亡,但是其父进程没有为其收尸,那么该进程为僵尸进程

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com