计算机启动

  • 启动自检
  • 初始化启动
  • 启动加载
  • 内核装载
  • 登录

中断

  • 硬件中断

    • 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

[OS] 概述&学习资料的更多相关文章

  1. os x 10.10 測试版系统下载 swift语言学习资料下载

    http://pan.baidu.com/s/1eQ5oj1S               这是下载地址 ! 刚学完oc 就出了 swift!这----  只是还是非常高兴看了一点swith得东西感觉 ...

  2. webapi的学习资料

    猿教程_-webapi教程-WebAPI教程 猿教程_-webapi教程-Web API概述 猿教程_-webapi教程-新建Web Api项目 猿教程_-webapi教程-测试Web API 猿教程 ...

  3. 【转】iOS超全开源框架、项目和学习资料汇总

    iOS超全开源框架.项目和学习资料汇总(1)UI篇iOS超全开源框架.项目和学习资料汇总(2)动画篇iOS超全开源框架.项目和学习资料汇总(3)网络和Model篇iOS超全开源框架.项目和学习资料汇总 ...

  4. iOS学习资料整理

    视频教程(英文) 视频 简介 Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS S ...

  5. iOS 学习资料汇总

    (适合初学者入门) 本文资料来源于GitHub 一.视频教程(英文) Developing iOS 7 Apps for iPhone and iPad斯坦福开放教程之一, 课程主要讲解了一些 iOS ...

  6. Wmyskxz文章目录导航附Java精品学习资料

    前言:这段时间一直在准备校招的东西,所以一晃眼都好长时间没更新了,这段时间准备的稍微好那么一点点,还是觉得准备归准备,该有的学习节奏还是要有..趁着复习的空隙来整理整理自己写过的文章吧..好多加了微信 ...

  7. 这月薪过万的Java高级学习资料,难得一遇的干货,不下载真可惜了!

    大家有没有想我呢 不管你们想不想我 我挺想你们的 通过昨天我不断的 死气白咧各种说好话 最终 要到了Java学科的Java集合学习资料 里面包含视频+资料+源码 堂兄也有一个愿望 希望你们月薪过万后 ...

  8. 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)(1)

    原文:http://developer.51cto.com/art/201501/464174.htm 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定 ...

  9. 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)

    介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...

随机推荐

  1. K8S 本地 配置 Local PV 实践

    上面我们创建了后端是 hostPath 类型的 PV 资源对象,我们也提到了,使用 hostPath 有一个局限性就是,我们的 Pod 不能随便漂移,需要固定到一个节点上,因为一旦漂移到其他节点上去了 ...

  2. C++并发与多线程学习笔记--atomic

    std::atomic std::async std::atomic 一般atomic原子操作,针对++,--,+=,^=是支持的,其他结果可能不支持. 注意 std::atomic<int&g ...

  3. Windows10家庭版安装docker

    在公司,一直使用mac系统,在mac上安装使用docker还是比较方便的,可本人心血来朝,家里是win10 home版,就想在windows上刷一刷. 好了,废话不多说,直接上干货. 为了不误导广大爱 ...

  4. mysql 批量操作,已存在则修改,不存在则insert,同时判断空选择性写入字段

    注:如果是批量插入需要在 Java 连接数据库的字串中设置 &allowMultiQueries=true 针对单行数据有则修改无则新增 本案例的建表语句是: -- auto-generate ...

  5. 使用 nodejs 中的 http 模块实现几个超实用的工具

    nodejs 方便了我们前端开发者进行一些服务端上的操作,可以进行无缝地衔接.像其他一些后端语言,如 php, golang, java 等,都需要一定的学习成本,而 nodejs 则就是为前端开发者 ...

  6. Day09_46_Set集合_SortedSet03

    SortedSet03 让SortedSet集合完成比较,还有另外一种方法,那就是单独编写一个比较器. java.util.comparator 在TreeSet集合创建的时候可以在集合中传入一个比较 ...

  7. 手把手教你搭建自己的Angular组件库 - DevUI

    摘要:DevUI 是一款面向企业中后台产品的开源前端解决方案,它倡导沉浸.灵活.至简的设计价值观,提倡设计者为真实的需求服务,为多数人的设计,拒绝哗众取宠.取悦眼球的设计.如果你正在开发 ToB 的工 ...

  8. mysql is null 和 =null 区别

    数据库中 null 表示 不可知,不确定所以 判断都用 字段 is null的方式进行判断而 = null .<> null 的判断结果,仍然是不可知,不确定,所以 不会返回任何结果.或者 ...

  9. 1- java语言特性

    Java概述 Java是面向对象程序设计语言和Java平台的总称 Java体系 JavaSE(j2se)(标准版) JavaEE(J2ee)(企业版) JavaME(J2me) 面向对象 面向对象是J ...

  10. ARM详细指令集

    算术和逻辑指令 ADC : 带进位的加法 (Addition with Carry) ADC{条件}{S} <dest>, <op 1>, <op 2> dest ...