LeetCode 【Operating System】(二)

来源:互联网 发布:clock页面置换算法 编辑:程序博客网 时间:2024/05/23 01:16

最近看的书好杂乱,基础知识的学习也没能坚持住。反思之后,决定开始按部就班的学习项目和基础。
个人不喜欢刷OJ,最近倒是看了看codewar。依旧当做小习惯坚持。代码最短意味着高逻辑,代码的可读性就会差很多。好吧,是我的反应慢。我喜欢把代码写的简单大方。扯远了,今天继续答OS。

这里补充一段,昨天吃饭的时候,和朋友说起代码习惯。

if x == 10:    return truereturn false

这种代码应该被唾弃,所以要看别人的源码,return x == 10才是正确的打开方式。

-1- interrupt vs system call 中断和系统调用
中断有三类:
**1>**CPU外部,I/O中断,时钟中断,控制台中断
**2>**CPU内部,异常(CPU故障,代码故障)
**3>**program uses request, causing a trap, it’s an interrupt.无意、被动。
中断处理:保存寄存器,核心调用中断处理程序。
详解中断
**系统调用:**CPU核心对我们的program是untrust,所以要调用系统API去完成相关操作。
参考资料

-2- What is wrong with the code : x = x + a , in context of a concurrent system?
并发,我目前最讨厌的词语没有之一。每次面试总会被问到,顺带立个flag,一定要写出一个高并发的系统,体验一回精通并发是什么感觉。
闲话少叙,什么是并发?我的理解是多线程轮流使用处理器。那么做个加法怎么了?按照评论的解释,做加法有三步,第一步取出来x,第二步做加法,第三步,放回寄存器。于是问题发生了,线程1做加法的同时,线程2取x,取出的是old_x,并不准确。所以,安全的做法是写个锁。
顺带复习一下并行。
并行就是两个咖啡厅,两队人,各排各的队伍,各喝各的咖啡,没有共享资源。多处理器并行,单处理器并发。

-3-What are the steps involved when switching from one thread to another thread in multi threading program?
多线程程序切换线程的步骤:
1>保存当前进程的寄存器,将保存的PCB存入等待队列ReadyQueue
2>运行新的线程,运行结束之后,从等待队列取出PCB,恢复之前的状态,继续运行。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 数学思维反应慢怎么办 不小心逆行了怎么办 格力手机老卡顿怎么办? 华为3g手机充不上电怎么办 外地上成都牌照怎么办 小汽车牌照坏了怎么办 买车上郑州牌照怎么办 汽车前牌照丢失怎么办 有人套我车牌怎么办 在本地怎么办外地车牌 二手车卖了车牌怎么办 科目四预约失败怎么办 车子过户了车牌怎么办 检车没有保险怎么办 异地超速12分怎么办 驾驶证考试过期了怎么办 买了库存车怎么办 车龄长了油耗高怎么办 新车发现补过漆怎么办 魅蓝note3内存不足怎么办 汽车安全检测证怎么办 a证被扣12分怎么办 突发事作后事故单位怎么办 如果遇到突发事故怎么办? 班级遇到突发事故怎么办 高速上出车祸怎么办? 安卓车载中控大屏卡怎么办 车辆交通信息卡怎么办 成都焊工压力容器证怎么办 天车钢丝绳绞住怎么办 受伤了怎么办安全教案 复读后学籍档案怎么办 开车就是开不好怎么办 货车提不了档案怎么办 二手车档案丢了怎么办 车辆档案丢了怎么办 手续跟车都丢了怎么办 二手车无法核档怎么办 高尔夫6天窗漏水怎么办 司机违章辞职了怎么办 年检可以推迟了怎么办?