操作系统解析
Posted 秃头小宝儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统解析相关的知识,希望对你有一定的参考价值。
操作系统
1.冯诺依曼体系结构
- 输入单元:包括键盘,鼠标,扫描仪,写板等
- 中央处理器(CPU):含有运算器和控制器等
- 输出单元:显示器,打印机等
面试题:内存VS磁盘
1.内存一般比较小,磁盘比较大。
2.造价不同,内存造价比较贵,磁盘便宜。
3.内存是以纳秒级别读写速度、磁盘读写单位为微秒;内存的操作速度比磁盘快。
4.内存不能进行持久化,磁盘可以持久化。
注意事项:
输入设备、输出设备和CPU不能直接交互,他们需要通过中介也就是存储来进行交换。
2.操作系统(Operator System)
(1)概念
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:
- 内核(进程管理,内存管理,文件管理,驱动管理)
- 其他程序(例如函数库,shell程序等等)
(2)设计OS的目的
1.与硬件交互,管理所有的软硬件资源(对内且对下)
2.为用户程序(应用程序)提供一个良好的执行环境(对外且对上)
3.进程
(1)进程的认识
对于操作系统来说,一个任务就是一个进程(process)。
进程是组成操作系统的基本单位,正在执行的程序,它是分配系统资源(CPU时间、内存)的实体,是具有动态特性的。
注意: 进程和可执行文件的关系:当把一个可执行文件加载到内存当中,运行起来之后可执行文件就变成了一个进程。
进程的组成:
1.PID(每次启动都是不一样的)
2.状态(新建、就绪、运行中、终止、阻塞(等待))
3.优先级
4.一组指针(资源)
5.记账信息(解决资源分配不均的问题)
6.上下文(当没有时间片这时候需要保持状态等待下次执行,这个暂存状态和后面的运行状态就是一个上下文)
(2)时间片
操作系统(如Windows、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。
任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就绪状态等待下一个属于它的时间片的到来。
(3)面试题: 并发与并行
- 并发编程:所有程序轮流执行任务。(宏观上来看是同时执行的,而微观上来看是轮流执行的)。
- 并行编程:所有程序同时执行任务。
(4)内核态与用户态
- 操作系统内核作为直接控制硬件设备的底层软件,权限最高,称为内核态,或核心态。
- 用户程序的权限最低,称为用户态。
(5)进程的状态
- 就绪:进程处于可运行的状态,只是CPU时间片还没有轮转到该进程,则该进程处于就绪状态。
- 运行:进程处于可运行的状态,且CPU时间片轮转到该进程,该进程正在执行代码,则该进程处于运行 状态。
- 阻塞:进程不具备运行条件,正在等待某个事件的完成。
以上是关于操作系统解析的主要内容,如果未能解决你的问题,请参考以下文章
spring系统架构源码解析AutowireCandidateResolver