前言
操作系统理论性非常强,刚开始学起来非常粗糙。然而,面试过程中经常会被问到计算机网络或者操作系统,有兴趣的同学可以看我这篇有关于计算机网络的文章(https://blog.csdn.net/xiaoming100001/article/details/81109617 ),相信会有所收获。本篇文章主要讲述面试可能遇到的重点内容,金九银十,希望可以帮到大家,下面主要按照如下思路展开:
概述
定义: 操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。
在操作系统的发展过程中,主要是分时系统和实时系统,分时系统是提供多个终端供多个用户使用,具有人机交互,多用户共享主机的优点,例如现在使用的Windows系统。实时系统是能够及时响应,并规定时间内完成,控制所以实时任务协调一致的运行,例如嵌入式系统。
基本特性
- 并发: 两个或多个程序在
同一时间段
内发生,注意并行是指同一时刻
多个事件发生。 - 共享: 系统中的资源可供内存中多个并发执行的进程共同使用,注意限定了
进程在内存期间
。 - 虚拟: 利用
时分复用
和空分复用
技术来实现把一个物理实体虚拟多个。 - 异步: 在多道程序环境下,系统允许多个进程
并发执行
,以走走停停的方式执行的,并以不可预知的速度推进,现在操作系统都是这样了。
主要功能
- 处理器管理: 处理器管理最基本的功能是处理中断事件。其中处理机分配是以进程为单位,可以理解为对进程的管理,包括进程同步、进程通信和进程调度等。
- 存储器管理: 简单理解对内存的管理,当然还有一些虚拟内存等。主要任务是:分配内存空间,保证各作业占用的存储空间不发生矛盾,并使各作业在自己所属存储区中不互相干扰。
- 设备管理: 管理所有的外围设备,包括完成用户的IO请求、为用户进程分配IO设备等。
- 文件管理: 管理用户文件和系统文件,方便使用同时保证安全性。
进程和线程
进程
定义
进程是程序的一次执行过程,进程实体的运行过程,是系统进行资源分配和调度的一个独立单位,例如打开QQ或者微信都是一个进程。
生命周期
就绪状态: 等待进程调度装填,进程获得了除处理机之外的一切所需资源,如果得到处理机即可运行。
运行状态: 进程正在处理机上运行。
阻塞状态(等待状态ÿ