【操作系统】常见问题

1.什么是操作系统?

操作系统是管理计算机硬件和软件资源的计算机程序,提供一个计算机用户与计算机硬件系统之间的接口。

向上对用户程序提供接口,向下接管硬件资源。

操作系统本质上也是一个软件,作为最接近硬件的软件系统,负责处理器管理、存储器管理、设备管理、文件管理和提供用户接口

2.操作系统有哪些分类?

操作系统常规可分为:批处理操作系统、分时操作系统、实时操作系统

若一个操作系统兼顾批操作和分时的功能,则称为该系统为通用操作系统。

常见的通用操作系统:Windows、Linux、MacOS等

3.什么是内核态和用户态?

为了避免操作系统和关键数据被用户程序破坏,将处理器的执行状态分为:内核态和用户态。

内核态是操作系统管理程序执行时所处的状态,能够执行包含特权指令在内的一切指令,能够访问系统内的存储空间。

用户态是用户程序执行时处理器所处的状态,不能执行特权指令,只能访问用户地址空间。

用户程序运行在用户态,操作系统内核运行在内核态。 

4.如何实现内核态和用户态的切换

处理器从用户态切换到内核态的方法有三种:系统调用,异常和外部中断。

1.系统调用是操作系统的最小功能单位,是操作系统提供的用户接口,系统调用本身就是一种软中断。

2.异常,也叫内中断,是由于错误所引起的,如文件损坏、缺页故障等。

3.外部中断,是通过两根信号线来通知处理器外设的状态变化,是硬中断。

5.并发和并行的区别

1.并发(concurrency):指宏观上看起来两个程序在同时运行,比如说单核CPU上的多任务。但是从微观上看两个程序的指令是交织着运行的,指令之间交错执行,在单个周期内只运行一个指令。这种并发并不能提高计算机的性能,只能提高效率(如降低某个进程的相应时间)。

2.并行(parallelism):指严格物理意义上的同时运行,比如多核CPU,两个进程分别运行在两个核上,两者之间互不影响,单个周期内每个程序都运行自己的指令,也就是运行两条指令。这样说来并行的确提高了计算机的效率。所以现在的CPU都是往多核方面发展。 

6.什么是进程?

进程是操作系统中最重要的抽象概念之一,是资源分配的基本单位,是独立运行的基本单位。

进程的经典定义就是一个执行中程序的实例。系统中的每个程序都运行在某个进程的上下文(context)中。

上下文是由程序正确运行所需的状态组成的。这个状态包括存放在内存中的程序的代码和数据,它的栈、通用寄存器的内容、程序计数器、环境变量以及打开文件描述符的集合。

进程一般是由:

1.进程控制块(PCB),是进程的唯一标志,包括进程标识符(PID),进程当前状态,程序和数据地址,进程优先级,CPU现场保护(用于进程切换),占有的资源清单等。

2.程序段

3.数据段 

未完待续 

猜你喜欢

转载自blog.csdn.net/weixin_46601559/article/details/124975493