PC置初值,不断的取指执行


边烧水边去洗衣服
从而造成程序切换:跳转(用栈)



用户栈 内核栈 TCB1 TCB2
TCB切换完成后内核栈切换
再用户栈切换

交替的在屏幕打出A B(linux0.01):进程的切换


fork就是系统调用执行的就是int 0x80
jne 208 :




父进程返回就要进行调度了(schedule)

因为创建了打出A的进程,那么还需要进行打出B,则又一次int 0x80

wait() 父进程进入阻塞态,调用schedule
他的核心结构就是:一个进程产生出两个子进程(打出A,打出B),子进程的TCB分别贴好,分别是打A和B的函数,父进程进入阻塞态,调用schedule

schedule选择一个进程阻塞(A),选择完了就可以切换回去(switch to)

发现TSS可以完成任务的切换:CPU的寄存器拍在照片里保存在TSS中,用下一个TSS的内容扣在CPU上
A的TSS扣给CPU,把CPU的内容拍照拍给当前进程(current)的TCB里
拍下来-》扣过来

当前eip等于100,从4行继续往下执行,eax返回的0那么就是返回的A
现在屏幕出现A

需要调度点,
当前在用户态打A,怎么才能打B?调度B 则需 schedule ,那么久要进入内核? 考的是中断,时钟中断

2初始化时钟中断。
每到一个进程时,就让当前进程的counter-1,剪刀0时,调用schedule

有那么一次时钟中断。counter刚好等于0,A的时间片用完了。就不再执行
调用schedule,进行switch to,switch to找到B,从B的TSS取出内容,发现eip=300,Bj就开始执行了

完成了切换,怎么切?把当前CPU的东西放给A进程的PCB的TSS
再把B的TSS东西赋给CPU

此时取出的地址是300,执行300,,打出B

L13操作系统之树(过程)相关推荐

  1. 40.简述操作系统中调用过程?

    讲过程之前,让我们先明白什么是调用? 但是讲调用之前又需要明白两个概念 核心态和用户态. 操作系统中的状态可以分为核心态(管态)和用户态(目态). 程序有些是特权指令,特权指令是只能在核心态运行,不能 ...

  2. 深度系统linux deepin如何按装,U盘快速安装深度操作系统Deepin详细过程 体验不一样的桌面系统...

    深度操作系统Deepin其实已经发展多年,虽然也是基于Linux系统进行桌面美化版本,在用户体验上尽可能的在美观.功能上满足用户需求,只不过前面有Windows系统.MAC系统以及其他Debian桌面 ...

  3. 5. linux操作系统bios启动过程需要执行哪几个操作?,Linux系统启动的大致过程

    Linux系统启动的大致过程 Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日.下面小编准备了关于Linux系统启动的大致过程 ...

  4. 中科方德服务器操作系统虚拟机安装过程记录

    没啥技术含量,就是过程中踩了一些坑,我做个记录,方便后续查阅以及其他人参考什么的. 1.新建虚拟机向导---选择典型配置 2.选择:稍后安装客户机操作系统 3.选择客户机操作 系统以及版本,中科方德服 ...

  5. C语言——操作系统内存分配过程

    内存分配机制的发展过程: 第一阶段--程序直接操作物理内存. 某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存100.计算机在给程序分配内存时会采取这样的 ...

  6. 银河麒麟桌面操作系统V10安装过程

    文章目录 下载镜像导入VMware 启动安装 下载镜像导入VMware 首先去麒麟生态网站注册登录,找到适合自己版本的操作系统 打开VMware新建虚拟机 把镜像放进来 选择Liunx的ubuntu版 ...

  7. 【Windows + Linux】专业级:安装操作系统 + 多系统 + GhostCast Server PXE 网刻基础坑精通详解

    目录 前言 1.BIOS 和 UEFI 与 MBR 和 GPT 的装机简述 GPT & MBR 硬盘分区表模式 BOOT 引导流程 & 启动管理器 如何选择一种 BOOT Mode 启 ...

  8. 【操作系统】操作系统知识点整理;C++ 实现线程池与windows 线程池的使用;

    文章目录 体系结构 冯诺依曼 存储结构 cache常见的组织结构 cache命中 缓存一致性 硬中断.软中断 操作系统结构 内核 Linux宏内核 内存管理 虚拟内存 内存管理 - 分段 - 分页 - ...

  9. 操作系统课程课程笔记

    第一章 概述 1.1 操作系统的定义 1.1.1 操作系统在计算机系统中所处位置 操作系统位于计算机硬件之上,系统工具之下的一层. 1.1.2 操作系统的定义 ​ 控制和管理计算机的软.硬件资源,合理 ...

最新文章

  1. log包在Golang语言的标准库中是怎么使用的?
  2. 英特尔CEO:微软Windows 7是PC更新的催化剂
  3. 11年的计算机二级vf考试试题,2011年计算机等级考试二级VFP 辅助练习题及答案
  4. linux docker搭建 minecraft 我的世界游戏服务器
  5. python语言跨平台语言吗_python属于跨平台语言吗?
  6. python 每次读一行-转载 python每次读入文件一行的问题(血的教训啊)
  7. cogs 539. 牛棚的灯
  8. 紫书动规 例题9-10 UVA - 1626 Brackets sequence 区间dp
  9. SQL 性能优化梳理
  10. wordpress插件feed count中文版
  11. java+jsp+sqlserver 2008+Tomcat实现一个简单的搜索引擎
  12. java保存文件的时候提示系统找不到路径_java.io.FileNotFoundException (系统找不到指定的路径。)...
  13. OneNote插件Notehighlight个性化设置
  14. SAP ABAP开发入门-徐春波-专题视频课程
  15. FIT2CLOUD入选2018 Gartner Cool Vendor
  16. java计算机毕业设计会议查询系统源程序+mysql+系统+lw文档+远程调试
  17. 【论文阅读】Extract Free Dense Labels from CLIP
  18. Tomcat安装及环境配置教程
  19. JavaSE常用类练习
  20. iOS内存分配与五大区域

热门文章

  1. 数据中台的使命、愿景、本质和六大核心能力
  2. linux软件包安装及自制yum源
  3. 使用继承思想,去开发一款组件(element-ui collapse组件为例子)
  4. 区块链100讲:ERC20 中文版
  5. [NOIP2005] 提高组 洛谷P1051 谁拿了最多奖学金
  6. 有趣 IOS 开展 - block 使用具体解释
  7. route 更改网络设置
  8. 你可能不需要 jQuery!使用原生 JavaScript 进行开发
  9. 毕业准备:外企面试--基本涵盖了所有问题【附带有答案版本】
  10. Win2008配置终端服务网络负载平衡实战 -2