浅谈操作系统是如何工作的及简单的进程调度的linux实现

1)进程的启动和切换机制

a)进程的启动机制

保存ebp的值到栈,

将esp的值保存在prev->thread.sp,在下一步esp的值被改变

将next->thread.sp的值赋到esp

将next->thread.sp的值赋到ebp

prev->thread.ip值赋为1

保存next->thread.ip的值到栈,跳出本次的进程

b)进程的切换机制

保存ebp的值到栈

保存esp的值到prev->thread.sp

改变esp的值为next->thread.sp

将进程为1的数值号赋值到prev->thread.ip

将next->thread.ip的值保存到栈,切换到别的进程

退出

2)对操作系统如何工作的理解

操作系统是对底层硬件的一种抽象,即为上层使用硬件提供了一个操作硬件的接口。是管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。

王兵 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”

浅谈操作系统是如何工作的及简单的进程调度的linux实现相关推荐

  1. 浅谈Git的基本工作流程与简单的Git命令

    浅谈Git的基本工作流程与简单的Git命令 什么是GIT? 定义:是一个开源的分布式版本控制工具 功能: 代码备份 版本控制 协同开放 代码追溯 场景: 团队协同开放项目 Git仓库工作流程 Git常 ...

  2. 从事医院计算机网络管理工作,浅谈医院计算机网络安全管理工作.doc

    浅谈医院计算机网络安全管理工作 浅谈医院计算机网络安全管理工作 [ 摘 要 ] 随着我国社会经济的不断发展与进步,各项科学技术水平也跟着在不断提高,紧跟时代潮流,医院的工作方式也一改以往主要依靠人力而 ...

  3. 【NXP DN 系列】浅谈 DPAA1 Software Architecture 工作原理

    浅谈 DPAA1 Software Architecture 工作原理 一.介绍 DPAA1 的主要目的是在片上系统( SOC )的 IO 部分内提供智能处理,以进行路由和管 理与流量相关的处理工作, ...

  4. 浅谈html的语义化和一些简单优化,html标签语义化

    1.什么是语义化? 必应网典的解释 语义化是指用合理HTML标记以及其特有的属性去格式化文档内容.通俗地讲,语义化就是对数据和信息进行处理,使得机器可以理解. 语义化的(X)HTML文档有助于提升你的 ...

  5. 浅谈html的语义化和一些简单优化,浅谈HTML的语义化和一些简单优化

    下面小编就为大家带来一篇浅谈HTML的语义化和一些简单优化.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1.什么是语义化? 必应网典的解释 语义化是指用合理HTML标 ...

  6. 浅谈计算机在农业工作中的应用,浅析计算机在农业中的应用论文

    计算机技术在农业科研中的广泛应用,为农业科研工作带来了研究成效,推动农业科研工作的顺利发展.下面是学习啦小编给大家推荐的浅析计算机在农业中的应用论文,希望大家喜欢! 浅析计算机在农业中的应用论文篇一 ...

  7. 浅谈研究生对科研工作的那些认知误区

    最近带了很多硕士研究生做科研,欣喜于年轻一辈的学习动力与热情,以及对工作的认真态度,与我读硕士的时候相比,确实不可同日而语.我那时候,发个EI会议都是值得一说的,现在都要发顶会顶刊,发一般的SCI的期 ...

  8. 浅谈计算机是如何工作的及Linux下的简单反汇编操作

    记得在学ARM编程时候学过如何基本的ARM汇编操作,也涉及到一些非常基础的Linux下的汇编指令形式.但都未真正深入了解,也没写过多少汇编代码,除了能够认识代码的含义以外,真正上手写一些汇编代码进行问 ...

  9. 浅谈操作系统OS与计算机软硬件体系结构,自顶贯穿性与行为回归硬件性

    操作系统OS与计算机软硬件体系结构 使计算机更好用! 这是操作系统的根本要义!! 操作系统这个概念基本上以后会讲一路的,今天的话就基本上讲一下轻量化的概念. 所以操作系统到底是什么?操作系统首先是软件 ...

最新文章

  1. 制定统一业务逻辑基础规则
  2. jsonp和CORS跨域实现
  3. LeetCode 198 打家劫舍
  4. 日志分析工具 Log Parser
  5. opencv+python视频实时质心显示
  6. 【Flink】解决 No ExecutorFactory found to execute the application
  7. 11.06T1 DLZ常数剪枝+DP
  8. Linux系统下文件与目录操作
  9. 运筹优化(三)--线性规划之单纯形法
  10. linux画图工具的下载,Drawing Linux(简单画图工具)最新版下载
  11. HDU 3709 平衡数 数位dp(Java版)
  12. Spring Boot 五种热部署方式
  13. 毕业设计 树莓派指纹识别与RFID考勤系统 - 嵌入式 单片机 物联网
  14. 使用Arduino控制TB6600步进电机驱动器教程(更新于 2022.03.19)
  15. Windows11分辨率无法调整,缩放不能选择调整
  16. 工厂模式简介-作用和好处
  17. 安装Python3.7 spyder
  18. Class Activation Mapping(CAM)介绍
  19. 1D卷积入门:一维卷积是如何处理数字信号的
  20. 常用的设计模式(七)——门面设计模式

热门文章

  1. (8)VTK 鼠标左右键控制模型旋转
  2. html div右下浮动,div 初始化及左右浮动
  3. android 字体淡入淡出,如何让文字在Android中淡入淡出?
  4. python 菜单调用_python---权限管理和菜单生成
  5. java堆内存_java堆内存模型
  6. jquery中each_如何在jQuery中使用each()
  7. python 字符串 变量_Python检查变量是字符串
  8. printf格式化字符串_Java printf()–将格式化的字符串打印到控制台
  9. Python字符串replace()
  10. Python SimpleHTTPServer – Python HTTP服务器