[C++面试高频]操作系统基础(二)

1.说说存储类型

ROM:只读存储器。数据一旦被写入,就无法删除或修改的存储器。

RAM:随机存储器。与CPU进行数据交换的内部存储器,可以随时读写,速度很快。

SRAM:静态随机存储器。所谓静态是指,只要保持通电,里面的数据可以恒常保存,一旦断电,数据将消失。

DRAM:动态随机存储器。内部数据需要周期性更新。刷新充电一次,否则内部数据会消失。

2.说说常用的Linux命令。

man帮助命令
cd切换文件目录
makdir创建文件目录
pwd显示当前文件目录
cp复制文件
top显示操作系统信息,如进程,CPU占用率,内存大小
kill向进程发送终止信息

3.简述互斥锁机制。互斥锁与读写锁的区别。

互斥锁机制:mutex。用于保证在任一时刻都有一个线程访问该对象。如果获取锁的操作失败,线程会受阻,等待锁释放。

区别:①读写锁分读者和写者,互斥锁没有这种区分。

②互斥锁在同一时刻只允许一个线程访问该对象,无论读写;读写锁在同一时刻只允许一个写者,但是允许多个读者同时读该对象。

4.简述互斥锁与自旋锁的使用场景。

互斥锁主要应用在临界区持锁时间比较长的操作,如以下情况:

①临界区有IO操作。

②临界区代码比较复杂,循环量大。

③临界区竞争比较激烈。

④单核处理器。

自旋锁主要用在临界区持锁时间非常短,且CPU资源占有率不高的情况下。

5.公平锁与非公平锁。

公平锁:线程按照申请锁的顺序获取锁,所有的线程进入队列中排队,永远只有队列的第一个才能后渠道锁。

优点:每一个线程都能获取到资源,不会被饿死。

缺点:吞吐量下降,除了第一个线程,其它线程都会被阻塞,CPU唤醒被阻塞线程开销大。

非公平锁:多个线程尝试直接获取锁,如果获取不到锁,就进入队列,如果获取得到,就直接获取到锁。

优点:CPU不必唤醒所有线程,开销小;吞吐效率提高。

缺点:会导致在队列中的线程一直获取不到锁或者长时间获取不到锁而饿死。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值