看到以前的笔记,整理下,留作纪念。
操作系统,在开发的笔试面试中是经常出现的,记忆中记得的面试题有如下:
考的最多的:线程进程的定义,关系,区别;进程之间的通信;死锁产生的必要条件和避免,总的来说,大多是都是概念,在笔试的选择题、简单题和一面中经常碰到
{补充:找IT行业开发找工作流程:
笔试->一面->二面->hr面,一般是这样,具体就要看不同的公司而定,eg,微软5技术面无hr面,百度3技术面无hr面,腾讯2技术面1hr面,滴滴3技术面1hr面等等}
一、概述
1、定义: 控制和管理计算机硬件的软件资源、合理地组织和管理计算机的工作流程以方便用户使用的程序的集合。位于硬件(裸机)之上、其他软件之下。
2、特点:
- 并发:并发性(同一间隔内发生)、并行性(同一时刻发生)
- 共享:互斥共享、非互斥共享
- 虚拟:一个物理实体映射为若干个对应的逻辑实体。
- 不确定性:异步性:指在多道程序的并发执行环境下程序的执行顺序、开始时间和执行时间是不确定性。但在相同环境下,不管以上是怎么不确定,只要输入相同,则结果总是相同的。
3、结构:
- 用户观点:操作系统是用户和计算机之间的接口
- 层次机构观点:OSI模型(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层);THE模型(6层)
- 功能观点:模块接口法
二、作业管理和用户接口
作业:用户在一次算法工程中或者一个事务处理过程中要求计算机系统所做工作的总和,它是用户像计算机系统提交一项工作的基本单位。(脱机作业、联机作业)
作业的组成:程序、数据、作业控制信息(作业说明书)
处理过程ÿ