Kosmos Kosmos

---我们总得选择一条路去前行---

目录
操作系统概要
/  

操作系统概要

本文采用复习拷贝重新阅读大法
本文来自该仓库

基本特征

1. 并发

并发是指宏观上在 一段时间 内能同时 运行多个程序,而并行则指 同一时刻运行多个指令

并行需要 硬件支持,如多流水线、多核处理器或者分布式计算系统。

操作系统通过引入 进程线程,使得程序能够并发运行。

2. 共享

共享是指系统中的资源可以 被多个并发进程共同使用

有两种共享方式:互斥共享同时共享

互斥共享的资源称为 临界资源,例如打印机等,在 同一时间只允许一个进程访问,需要用同步机制来实现对临界资源的访问。
同时共享 就是适合所有程序共同访问资源,但是应该需要访问控制,防止某一进程对资源进行了修改(我的想法)

3. 虚拟

虚拟技术把一个物理实体转换为多个逻辑实体。

主要有两种虚拟技术:时分复用技术空分复用技术

时间片轮转法

多个进程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占有处理器,每次只执行一小个时间片并快速切换。

虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行 页面置换算法,将该页置换到内存中。

页面置换(一种移来移去的算法) 十分任性的概括

4. 异步

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

基本功能

1. 进程管理

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

2. 内存管理

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

3. 文件管理

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

4. 设备管理

完成用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率。

主要包括缓冲管理、设备分配、设备处理、虛拟设备等。

系统调用

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


Linux 的系统调用主要有以下这些:

TaskCommands
进程控制fork(); exit(); wait();
进程通信pipe(); shmget(); mmap();
文件操作open(); read(); write();
设备操作ioctl(); read(); write();
信息维护getpid(); alarm(); sleep();
安全chmod(); umask(); chown();

大内核和微内核

1. 大内核

放了一整个操作系统,操作系统变成了一个整体 -.-
大内核是将操作系统功能作为一个紧密结合的整体放到内核。

由于各模块共享信息,因此有很高的性能。

2. 微内核

就只有一个核心的控制,其他的被分成不同的功能,一般都是这个吧
由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。

在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。

因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。


中断分类

中断分为三类

1. 外中断

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

2. 异常

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

3. 陷入(人为的可控)

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


今日诗词 标题:操作系统概要
作者:ellenbboe
地址:https://ellenbboe.github.io/articles/2019/04/07/1561009672302.html