华为搬迁,集体飞升
大家好,我是程序员面试刷题平台的鸭鸭!
上海华为搬家的消息传了大半年,终于开始搬了。
10月14日,华为全球最大研发中心正式迎来首批进驻员工,3万多名研发人员将在一年内从浦东金桥分批搬迁到青浦练秋湖。预计明年春节前后,就会有 25000 人进驻办公。
最开心的应该是青浦的房东,租房市场火热,租金涨幅惊人,短短几个月里,就涨了40%~140%。
本地村民坐地起价,有些把自家老宅改别墅,有些直接空房出租,允许装修;还有不少中介上场,从原房东手上盘下房源,坐等上涨。
现在的青浦,有的一居室已经涨到 4000 多一套了。不过青浦的配套还在完善中,鸭鸭已经刷到有人问附近缺什么店,准备过去创业开店了。
房租上涨,房源紧张,租房困难,让一些原本在青浦工作的打工人也受到波及,有人租不到房,有人房租上涨。
这回青浦租房市场的波动,恐怕要等华为搬差不多才能稳定下来。
……
闲聊结束,来看看面试鸭今天的面试题。
什么是软中断、什么是硬中断?
回答重点
软中断和硬中断是操作系统处理外部或内部事件的两种中断方式:
- 硬中断(Hardware Interrupt):是由硬件设备(如键盘、网络卡、定时器等)触发的中断信号。当硬件设备需要与 CPU 交互(如数据传输完成、定时中断等),会通过硬中断通知 CPU。硬中断具有高优先级,通常会立即打断当前执行的程序,进行中断处理。
- 软中断(Software Interrupt):是由软件(程序)触发的中断,通常是通过执行特定指令(如
int
指令)或系统调用产生的。软中断用于在程序运行中请求操作系统的服务,如文件读写、进程调度等。软中断的优先级一般低于硬中断。
扩展知识
硬中断的详细解释
硬中断由外部硬件设备发出。设备通过硬件控制器(如中断控制器)向CPU发送中断信号,通知它完成了某些操作或需要处理的事件(如键盘按键、网络数据到达等)。
每个硬中断都有一个对应的中断向量,中断向量表存储了各个中断处理程序的入口地址。CPU接收到硬中断信号后,通过中断向量表找到对应的中断处理程序。
处理过程:
- 当硬中断发生时,CPU会保存当前执行的上下文,并跳转到中断处理程序。
- 中断处理程序处理完成后,会恢复被中断的程序的上下文,并继续执行。
不同的硬中断有不同的优先级,中断控制器负责管理和调度这些中断,优先处理高优先级的中断信号。例如,定时器中断通常优先级较高,用于维持系统的时间片调度。
软中断的详细解释
软中断是由程序或操作系统内部生成的。它们通常是由程序员在代码中显式调用中断指令(如int
指令)或通过系统调用触发的,用于请求操作系统执行特定服务。
比如程序需要操作系统的服务(如文件操作、网络通信等)时,会触发软中断进入内核态,执行对应的系统调用。
或者当程序运行中出现除零错误、非法内存访问等情况时,也会触发软中断进入异常处理程序。
操作系统也可以通过软中断来进行任务切换和进程调度。例如,在时间片轮转调度中,操作系统可能会使用定时器产生硬中断,然后通过软中断来触发进程的切换。
软中断和硬中断的区别
触发方式:
- 硬中断由外部硬件触发。
- 软中断由软件指令或程序逻辑触发。
优先级:
- 硬中断通常具有更高的优先级,会立即打断当前执行的任务进行处理。
- 软中断通常在硬中断处理完成后,操作系统根据优先级和调度策略进行处理。
应用场景:
- 硬中断用于实时性要求高的事件,如定时器中断、设备数据接收等。
- 软中断用于程序请求操作系统服务或处理内部异常。
最后
再来推荐下我们的面试刷题网站和小程序:面试鸭!