经常有朋友问类似于“Linux好学吗”这样的问题,千锋互联向来不喜欢用广告来说事儿,所以,不如我们一起看看千锋的内部答疑质量如何。
内核中的同步
Q1.什么是临界区?什么是竞争状态?什么是同步?
A:1)临界区(critical regions)就是访问和操作共享数据的代码段,多个内核任务并发访问同一个资源通常是不安全的;
2)如果两个内核任务可能处于同一个临界区,就是一种错误现象;如果确实发生了这种情况,就称它为竞争状态;
3)避免并发和防止竞争状态称为同步(synchronization)。
Q2.简要介绍一下死锁及避免死锁的方法。
A:死锁包括自死锁和ABBA死锁,
1)产生死锁有四个原因:互斥使用、不可抢占、请求和保持,以及循环等待;
2)避免死锁的方法有:破坏“不可剥夺”条件、破坏“请求和保持”条件、破坏“循环等待”条件。
Q3.内核中造成并发执行的原因是什么?
A:“并发”分为“伪并发”和“真并发”两种,内核中造成并发执行的原因有以下几种:
1)中断:它可能随时打断当前正在执行的代码;
2)内核抢占:内核中的任务可能会被另一个任务抢占;
3)睡眠及其与用户空间的同步:在内核执行的进程可能会睡眠,这就会唤醒调度程序,调度一个新的用户进程执行;
4)对称多处理:两个或多个处理器可以同时执行代码。
Q4.给出信号量的定义,并说明down()和up()的含义。
A:1)Linux中的信号量是一种睡眠锁,它是1968年由Dijkstra提出的,如果一个任务试图获得一个已被持有的信号量,信号量会将其推入等待队列,然后让其睡眠;当持有信号量的进程将信号量释放后,在等待队列中的一个任务将被唤醒,从而可以获得这个信号量;
2)信号量支持两个原子操作P()和V(),前者叫做测试操作,后者叫做增加操作;后来的系统把这两种操作分别叫做down()和up();
3)down()操作经过对信号量计数减1来请求获得一个信号量;up()操作用来释放信号量,该操作也被称作“提升”(upping)信号量,因为它会增加信号量的计数值。
千锋Linux云计算课程的研发与内容编排相比其他培训机构更加科学化、实用化、系统化。具体表现在千锋Linux云计算课程全近推出的的课程体系更加注重学员的实践动手能力,提出以“就业为导向”的教学理念,并创新性的将“企业真实生产案例”带入到教学体系中,以确保学员真正的做到“学即所用”,简而言之就是使学员从容过渡到工作岗位。
千锋互联校区
北京天丰利校区(总部):北京市海淀区宝盛北里西区28号
北京沙河校区:北京市昌平区沙阳路18号
广州校区地址:广州市天河区元岗路310号
(注:其他校区咨询老师)
千锋互联一直秉承“用良心做教育”的理念,全力打造互联网技术型研发人才服务优质平台。现在北京、深圳、上海、郑州、广州、大连、武汉、成都、西安、青岛、杭州、重庆、长沙开设分公司。拥有全国的专业教学以及就业保障团队,成为学员信赖的IT培训机构!>> https://kaoshi.china.com/xuexiao/bjqf/
以上就是小编简单的介绍,希望对你有所帮助,还有更多相关的讯息,欢迎咨询,惊喜多多,收获多多。
课程咨询
咨询老师:金老师
咨询电话:010-64707530
咨询微信:15110074071
相关推荐
课程 | 班型 | 费用 |
千锋互联UI设计培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联python培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联HTML5培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联软件测试培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联大数据培训班 | 白天班/晚班/周末班 | 点击了解 |
千锋互联Linux云计算培训班 | 白天班/晚班/周末班 | 点击了解 |