当前位置: 代码迷 >> 综合 >> 计算机操作系统基本特征、基本功能、系统调用、宏内核、微内核、中断
  详细解决方案

计算机操作系统基本特征、基本功能、系统调用、宏内核、微内核、中断

热度:16   发布时间:2023-11-25 16:23:09.0

认识操作系统的基本特征:

并发

是指宏观上在一段时间内能同时运行多个程序,且这几个程序都是在同一个处理器上运行,
但任一个时刻点上只有一个程序在处理机上运行。

竞争

并发容易导致的问题,
竞争就是两个或两个以上的进程同时访问一个资源( 硬件资源和软件上的全局变量等 ) ,同时引起资源的错误(竞争状态)。
因此操作系统中,内核提供并发控制机制,对共享资源进行保护。操作系统通过引入进程和线程,使得程序能够并发运行。

进程和线程处理:

处理并发的常用技术是加锁或者互斥,即保证在任何时间只有一个执行单元可以操作共享资源。
在 Linux 内核中主要通过 semaphore 机制 (信号量)和spin_lock 机制 (自旋锁)实现。

并行

并行则指同一时刻能运行多个指令。多个执行单元同时被执行,并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。

共享

共享是指系统中的资源可以被多个并发进程共同使用。
有两种共享方式:互斥共享和同时共享。
互斥共享的资源称为临界资源,例如打印机等,在同一时刻只允许一个进程访问,需要用同步机制来实现互斥访问。

虚拟

虚拟技术把一个物理实体转换为多个逻辑实体。
主要有两种虚拟技术:时(时间)分复用技术和空(空间)分复用技术。

多个进程能在同一个处理器上并发执行使用了时分复用技术,
让每个进程轮流占用处理器,每次只执行一小个时间片并快速切换。
虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间
地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,
执行页面置换算法,将该页置换到内存中。

异步

异步, 指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进。

基本功能

进程管理

进程控制、进程同步、进程通信、死锁处理、处理机调度等。

内存管理

内存分配、地址映射、内存保护与共享、虚拟内存等。

文件管理

文件存储空间的管理、目录管理、文件读写管理和保护等。

设备管理

完成用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率。
主要包括缓冲管理、设备分配、设备处理、虛拟设备等。

系统调用

如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而陷入内核,由操作系统代为完成。
在这里插入图片描述

Linux 主要系统调用:
Task Commands
进程控制 fork(); exit(); wait();
进程通信 pipe(); shmget(); mmap();
文件操作 open(); read(); write();
设备操作 ioctl(); read(); write();
信息维护 getpid(); alarm(); sleep();
安全 chmod(); umask(); chown();

宏内核和微内核

宏内核

宏内核是将操作系统功能作为一个紧密结合的整体放到内核。
由于各模块共享信息,因此有很高的性能。

微内核

由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。
移出的部分根据分层的原则划分成若干服务,相互独立。

微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。
因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。
在这里插入图片描述

中断分类

外中断

由 CPU 执行指令以外的事件引起,如 I/O 完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。
此外还有时钟中断、控制台中断等。

异常

由 CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。

陷入

在用户程序中使用系统调用。

汤子瀛, 哲凤屏, 汤小丹. 计算机操作系统[M]. 西安电子科技大学出版社, 2001.
Bryant, R. E., & O’Hallaron, D. R. (2004). 深入理解计算机系统.
史蒂文斯. UNIX 环境高级编程 [M]. 人民邮电出版社, 2014.
原文链接:https://leetcode-cn.com/leetbook/read/tech-interview-cookbook/oo6zng/

  相关解决方案