Java秋招复习资料 interview-notebook.pdf
### Java秋招复习资料——操作系统基础 #### 一、操作系统基本特征 1. **并发**:并发是指在宏观上能够同时运行多个程序的能力。而并行则是指在同一时刻能够执行多个指令,通常需要硬件的支持,比如多核心处理器或多流水线架构。在软件层面,操作系统通过进程和线程的概念,使得不同的程序或程序的不同部分能够并发运行。 2. **共享**:共享是指系统中的资源(如内存、文件、设备等)能够被多个并发运行的进程共同使用。这种共享可以通过两种方式实现:互斥共享和同时共享。互斥共享指的是在同一时间内只有一个进程可以访问某个资源,这类资源被称为临界资源,例如打印机。为了实现对临界资源的安全访问,需要使用同步机制,如信号量、互斥锁等。 3. **虚拟**:虚拟技术的核心思想是将一个物理实体转换为多个逻辑实体。主要的虚拟技术包括时分复用和空分复用。例如,在单个处理器上并发执行多个进程时,会采用时分复用技术,即通过时间片轮转的方式,让每个进程轮流占用处理器执行一小段时间。 4. **异步**:异步特性指的是进程的执行是非连续的,即进程的执行可能会暂停,之后再继续执行,这种执行模式使得进程无法以固定的速度前进,而是呈现出一种“走走停停”的状态。 #### 二、操作系统基本功能 1. **进程管理**:进程管理包括进程的创建、终止、同步、通信以及死锁处理等。其中,进程控制涉及到创建(new)、运行(run)、等待(wait)、终止(terminate)和唤醒(wake up)等状态变化;进程同步是指多个进程之间在执行顺序上的协调;进程通信则是指不同进程之间如何交换数据和信息;处理机调度则是决定哪一个进程应当获得CPU资源的过程。 2. **内存管理**:内存管理负责内存的分配、回收、地址映射、内存保护与共享等功能。内存分配策略直接影响到系统的性能和效率,常见的内存分配策略有连续分配、分页、分段和段页式管理等。 3. **文件管理**:文件管理系统负责文件的存储、检索、更新和删除等操作。具体来说,它需要提供文件存储空间的管理、目录管理、文件读写管理和保护等机制。 4. **设备管理**:设备管理的任务是完成用户的输入/输出请求,使用户能够更高效地使用各种输入/输出设备。这包括缓冲管理、设备分配、设备处理和虚拟设备等。 #### 三、系统调用 系统调用是指用户态下的程序向内核请求服务的一种机制。当用户程序需要访问内核提供的资源或服务时,就需要通过系统调用接口来完成。例如,在Linux系统中,系统调用包括但不限于进程控制(fork(), exit(), wait())、进程通信(pipe(), shmget(), mmap())、文件操作(open(), read(), write())、设备操作(ioctl(), read(), write())、信息维护(getpid(), alarm(), sleep())等。 #### 四、大内核与微内核 1. **大内核**:大内核将操作系统的主要功能作为紧密结合的整体放在内核中,各模块之间共享信息,因此具有较高的性能优势。然而,随着操作系统功能的不断增加,大内核的复杂度也随之增加。 2. **微内核**:为了降低内核的复杂性,微内核将部分操作系统功能移出内核,这些功能被划分为多个独立的服务。微内核结构下,只有核心的微内核部分运行在内核态,其他服务均运行在用户态。虽然这种方式能够降低内核的复杂度,但由于频繁的用户态和内核态之间的切换,可能会导致性能上的损失。 #### 五、中断分类 1. **外中断**:由CPU执行指令之外的事件触发,如输入/输出完成中断、时钟中断、控制台中断等。 2. **异常**:由CPU执行指令时发生的内部事件引起,如非法操作码、地址越界、算术溢出等。 3. **陷入**:在用户程序中主动发起的系统调用。 #### 六、进程管理——进程与线程 1. **进程**:进程是资源分配的基本单位,每个进程都有自己的独立内存空间。进程控制块(PCB)是描述进程状态和相关信息的数据结构,创建和撤销进程实际上是对PCB的操作。 2. **线程**:线程是独立调度的基本单位,它位于进程内部,共享进程的资源(如内存空间)。在一个进程中可以创建多个线程,这些线程之间可以共享进程的资源,同时它们也能够并发执行。 3. **进程与线程的区别**: - 资源拥有:进程是资源分配的基本单位,而线程不拥有资源,但可以访问隶属进程的资源。 - 调度:线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换;但如果从一个进程内的线程切换到另一个进程中的线程,则会引起进程切换。 - 系统开销:创建或撤销进程时,系统需要为其分配或回收资源,如内存空间、I/O设备等,这会带来较大的开销;而创建或撤销线程时,仅需分配少量的资源,因此开销较小。 - 通信方面:进程间通信需要使用进程同步和互斥手段来确保数据的一致性;而线程间的通信相对简单,因为它们共享同一进程的内存空间。 以上内容为Java秋招复习资料中关于操作系统的基础知识总结,希望对准备面试的同学有所帮助。































剩余418页未读,继续阅读


- 粉丝: 272
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 应用型人才培养模式下计算机基础课程教学思考.docx
- 互联网+背景下留学生肿瘤学在线课堂的挑战与应对策略.docx
- c--程序设计方案教案.doc
- 互联网+背景下混合式教学模式在大学英语教学中的运用策略探究.docx
- 单片机与接口专业实用技术实验陈青.doc
- 城市轨道交通综合监控系统基于工业以太网架构之网络广播风暴的研究与方法控制.docx
- 基于改进BP神经网络的电加热炉炉温PID控制研究.docx
- 利用单通道算法对MERSI数据进行地表温度的反演研究.docx
- 大数据背景下的高校智慧校园建设.docx
- GSMR数字移动通信应用技术条件第四分册:列车尾部安全防护装置信息传送系统(V.doc
- 电子商务专业人才需求调研报告记录.doc
- 利用FMS+Flash实现实时视频应用-RTMP.docx
- 课程标准-《网络运维技术》(2014.7).doc
- 学生信息管理系统方案设计书范文计算机大学本科方案设计书方案设计书范文优秀大学本科方案设计书范文.doc
- 大数据安全分析研究(分析研究篇).doc
- 浅议人工智能技术在智慧旅游中的应用.docx


