[OS] 概述&学习资料
2024-09-07 20:42:47
计算机启动
- 启动自检
- 初始化启动
- 启动加载
- 内核装载
- 登录
中断
- 硬件中断
- I/O设备
- CPU
- Timer:时间片结束后,发中断给CPU
- Scheduler:将CPU合理分配任务使用
- 异常中断
- 内存:使多任务共享内存资源
- 软件中断
- 内核态:操作系统运行的状态
- 用户态:用户程序运行的状态(必须通过操作系统访问硬件)
- 状态寄存器:位于CPU内,获取当前进程状态,通过int指令将用户态变为内核态
- 系统调用函数:操作系统中用于控制硬件的函数,运行在内核态。CPU运行到系统调用函数时执行int指令,产生软件中断唤醒操作系统,执行函数内容,结束后返回用户态
多运行环境管理
- 进程:操作系统为可执行程序提供的运行环境。包括代码段、数据段、栈、堆、BSS段、PCB等
- 三状态模型
- 运行态:进程在CPU上运行时
- 就绪态:可被CPU运行时
- 阻塞态:等待某事件发生时
- 进程调度:动态地把CPU分配给出于就绪序列中的进程。策略有先来先服务,短任务优先等
文件系统
- 文件类型:普通文件、目录文件、块设备文件、字符设备文件
- 树结构
- 绝对路径:从根到目标文件的完整路径
- 相对路径:从当前目录到目标文件的路径
参考:
操作系统公开课(清华大学)
http://www.xuetangx.com/courses/course-v1:TsinghuaX+30240243X+sp/about
http://os.cs.tsinghua.edu.cn/oscourse/OS2019spring
Operating Systems: Three Easy Pieces
http://pages.cs.wisc.edu/~remzi/OSTEP/
Linux中断(interrupt)子系统之一:中断系统基本原理
https://blog.csdn.net/DroidPhone/article/details/7445825
Linux C编程一站式学习
http://docs.linuxtone.org/ebooks/C&CPP/c/
设计64位操作系统
https://zhuanlan.zhihu.com/p/86475224
Linux IO 模型
https://zhuanlan.zhihu.com/p/113467811
阻塞/非阻塞/同步/异步
https://www.zhihu.com/question/19732473/answer/20851256
最新文章
- node.js里npm install --save 与 npm install --save-dev 的区别
- Django models .all .values .values_list 几种数据查询结果的对比
- 《BI项目笔记》——微软BI项目笔记连载
- 使用markdown编辑evernote(印象笔记)的常用方法汇总
- cutpFTP设置步骤
- 初次学习c语言
- UltraEdit打开UTF-8文件后显示中文乱码的问题
- 基于linux2.6.38.8内核启动过程完全解析[一]
- 使用rar打包多个文件为exe可执行文件
- HTML5 基础
- Thinkpad X200 屏幕备案
- wireshark使用方法
- 【EF6学习笔记】目录
- eclipse的这几个小玩意
- IP路由配置之---------debugging调试
- Convert PLY to VTK Using PCL 1.6.0 or PCL 1.8.0 使用PCL库将PLY格式转为VTK格式
- Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法
- Java 中 byte、byte 数组和 int、long 之间的转换
- 拖动条SeekBar
- redis---在CentOS6.5下安装与配置
热门文章
- 简易计算器实现:while循环+switch语句
- 使用KeepAlived来实现高可用的DR模型
- [GDKOI2021] 普及组 Day2 总结
- [树形DP]电子眼
- PhpStorm/WebStorm实用技巧
- 软件工程第一次作业:Warm Up
- .NET Core3.1 Dotnetty实战系列视频
- Linux 网络工具中的瑞士军刀 - socat &; netcat
- 通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解
- Go-15-flag.String 获取系统参数