Linux教程
操作系统复习
本文主要是介绍操作系统复习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
操作系统复习导图
1 操作系统概述
操作系统概论
概念(定义)
功能和目标
负责管理协调与硬件、软件等计算机资源的工作
为上层用户、应用程序提供简单易用的服务
是一种系统软件
资源的管理者
处理机管理
存储器管理
文件管理
设备管理
向用户提供服务
命令接口
程序接口
GUI用户图形界面
联机命令接口
脱机命令接口
由一组系统调用组成
对硬件机器的扩展
扩充机器
主要特征
并发
共享
虚拟
异步
互斥共享方式(如对摄像头设备的共享使用)
同时共享方式(如对硬盘资源的共享使用)
空分复用技术(如虚拟存储技术)
时分复用技术(如虚拟存储器技术)
操作系统的发展和分类
手工操作阶段
批处理阶段
单道批处理系统(引入脱机输入输出技术)
多道批处理系统(操作系统开始出现)
分时操作系统
实时操作系统
OS的运行机制和体系结构
运行机制
两种指令
特权指令
非特权指令
两种处理器状态
核心态
用户态
两种程序
内核程序
应用程序
操作系统内核
时钟管理
中断处理
原语
是一种特殊的程序,其执行具有原子性
对系统资源进行管理的功能
进程管理
存储器管理
设备管理
操作系统的体系结构
宏内核
微内核
中断和异常
中断机制的诞生
为了实现多道程序并发执行而引入的一种技术
中断的概念和作用
发生中断,就意味着需要操作系统介入开展管理工作,CPU会立即进入核心态
中断的分类
“中断”是CPU从用户态进入核心态的唯一途径
内中断(异常、例外、陷入)
自愿中断——指令中断
强迫终端
硬件故障
软件中断
外中断(中断)
外设请求
人工干预
补充:内中断的另一种分类方式
陷阱、陷入(trap)
故障(fault)
终止(abort)
外中断的处理过程
每条指令执行结束后,CPU检查是否有外部中断信号
若有外部中断信号,则需要保护被中断进程的CPU环境
根据中断信号类型转入相应的中断处理程序
恢复原进程的CPU环境并退出中断,返回原进程继续往下执行
系统调用
定义与作用
操作系统提供给应用程序使用的接口
应用程序通过系统调用来请求获得操作系统的服务
系统调用会使处理器从用户态进入核心态
分类
设备管理
文件管理
进程控制
进程通信
内存管理
系统调用和库函数的区别
系统调用是操作系统向上层提供的接口
有的库函数是对系统调用的进一步封装
当今编写的应用程序大多是通过高级语言提供的库函数间接地进行系统调用
系统调用背后的过程
1. 传递系统调用参数
2. 执行陷入指令
3. 执行系统调用相应服务程序
4. 返回用户程序
这篇关于操作系统复习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
您可能喜欢
git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
12-18
Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
12-18
Linux C++项目实战入门教程
12-13
Linux C++编程项目实战入门教程
12-13
Linux部署Scrapy教程:新手入门指南
12-11
怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
12-11
Linux常用命令
12-10
谁看谁服! Linux 创始人对于进程和线程的理解是…
12-06
操作系统教程:新手入门及初级技巧详解
12-04
操作系统入门:新手必学指南
12-04
操作系统入门指南:从零开始学习操作系统
12-04
linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
11-23
如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
11-12
linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
11-08
在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
11-08
栏目导航
前端开发
HTML5教程
CSS教程
Javascript
jQuery教程
AJAX教程
Node.js教程
XML教程
正则表达式
后端开发
Go教程
C/C++教程
消息队列MQ
Net Core教程
Asp.net教程
Java教程
PHP教程
移动端开发
微信公众号开发
小程序开发
Swift教程
IOS教程
Kotlin教程
Android开发
数据库
Redis教程
MongoDB教程
PostgreSQL教程
Oracle教程
MariaDB教程
SqLite教程
MySql教程
SqlServer教程
服务器运维
Kubernetes
Docker容器
linux shell
Nginx教程
网站安全
PowerShell教程
Linux教程
人工智能
TensorFlow教程
Python教程
机器学习
人工智能学习
区块链
区块链技术
游戏开发
游戏编程
Unity3D教程
网站运营
网站策划
网站优化
建站知识
大数据/云计算
云计算
Hadoop教程
软件工程
软件/开发工具使用
Git教程
资讯