
Linux
Dezeming
研究方向:数学原理,GPU加速技术,数据结构与算法,机器学习,深度学习神经网络,3D可视化,计算机图形学,图像处理,计算机视觉,Qt程序设计,C++编程
曾学习和研究过:Java,51,stm32,msp430等单片机,嵌入式ARM,DSP,模拟/数字电路,树莓派
展开
-
操作系统笔记整理
时隔多年,打算重温一下操作系统。之前学习的课程是以Unix为基础的操作系统原理介绍 ,但是学习过程中没有多少源码学习,而且感觉就像是在背课本。各种类似于多批次之类的术语也是一知半解。 什么是操作系统,操作系统又是怎么工作的呢?听到有人说哈工大李治军的操作系统讲的很不错,里面用的源码是Linux的,我想跟着这个课程再把操作系统好好学习一下。 虽然已经用了很久的Linux,...原创 2020-04-11 21:06:58 · 7790 阅读 · 0 评论 -
操作系统内核级线程
操作系统全部笔记目录见:操作系统笔记整理 为什么没有用户级进程?这是因为进程需要分配资源,资源是统一分配的。 多处理器,多核,如果系统没有核心级线程,多核是没什么用的。多处理器中,每个CPU都有自己的一套映射,而多核是公用同一套映射。核心级线程中,多核可以共用同一套MMU和缓存。 如果是用户级线程,操作系统看不到,就没法分配资源,没法发挥多核的价值。 多核级线程(难度大,可以以后进行学习) 核心级线程就不是两个栈了,而是两套栈。因为用户级线程只会在用户栈里跑,但是使用核心级线程的程序,既.原创 2020-05-22 16:25:36 · 7148 阅读 · 0 评论 -
操作系统 用户级线程
操作系统全部笔记目录见:操作系统笔记整理 一个进程执行一堆指令,执行的时候通过映射表来确定地址。我们在切换的时候,这个映射表(资源)需不需要切换呢? 这样只是切pc,内存和表不用切。在每个大的进程里,有很多小的线程,并行的时候只需要改每个小的线程的PC指针,而不需要切换映射表。所以切换分为两个部分:线程的切换和进程的切换(资源,映射表的切换)。 网页从一打开到显示出来,需要时间,包含文本数据和图像数据。有一段程序来读数据,一段程序来显示。因为有多线程处理,所以效果是先文字显示出来,然.原创 2020-05-20 14:32:07 · 5836 阅读 · 0 评论 -
操作系统多进程图像
操作系统全部笔记目录见:操作系统笔记整理 上层用户启动多个进程,开始使用计算机。下层系统负责记录和管理每个进程。 比如如果计算机变慢,可以打开任务管理器,查看哪个进程的CPU占用率高。 一个程序正在使用,其他程序在等待。用PCB结构体形成一个队列,操作系统需要知道正在执行的进程,不同的进程PCB放在不同的地方。有的进程在进行,有的在就绪,有的在等待: 根据状态区分开,比如你在银行排队的就是就绪态,屋子装不下就去别的屋子先等着。 多进程图像必须要实现切换。getNext.原创 2020-05-18 12:05:57 · 5201 阅读 · 0 评论 -
操作系统 CPU管理
操作系统全部笔记目录见:操作系统笔记整理 程序存放在内存里以后,设置一个PC指针,然后CPU根据PC指针发出取值命令,然后内存开始工作,把内存中地址为PC的地方的指令传给CPU,然后CPU解释和执行这句话。 一旦设置好PC初值以后,就不用管了,它就自己取值执行去了。(管理CPU最直接的方法) 但是可能存在问题: 当使用io语句的时候,会特别慢。假如我们我们程序有5.7*10^5条计算加一条写io,它计算完以后就会先启动io,启动io设备需要较长时间,所以这个时候CPU就不工作,而是等io处.原创 2020-05-18 00:37:10 · 6119 阅读 · 0 评论 -
操作系统实验一 熟悉实验环境
操作系统全部笔记目录见:操作系统笔记整理 先把实验楼里的简介放进来,原封不动: x86 模拟器 Bochs Bochs 是一个免费且开放源代码的 IA-32(x86)架构 PC 机模拟器。在它模拟出的环境中可以运行 Linux、DOS 和各种版本的 Windows 等多种操作系统。而 Bochs 本身具有很高的移植性,可以运行在多种软硬件平台之上,这也是我们选择它做为本书的指定模拟器的主要...原创 2020-04-18 14:22:24 · 7934 阅读 · 0 评论 -
操作系统学习任务
操作系统全部笔记目录见:操作系统笔记整理 多进程+文件操作 CPU+内存管理——内存管理 IO设备+磁盘——文件管理 操作系统立起来以后,上层应用通过系统调用来访问系统。 进程管理+文件管理,就实现了单机。通过接口进入系统。内存通过地址进入 ...原创 2020-04-16 11:13:25 · 6145 阅读 · 0 评论 -
操作系统的历史
操作系统全部笔记目录见:操作系统笔记整理原创 2020-04-16 10:57:04 · 6075 阅读 · 0 评论 -
系统调用
操作系统全部笔记目录 见:操作系统笔记整理 系统调用是如何实现的呢? 这个系统叫什么名字也在内核里,而且系统函数也在内核里。既然内核里的函数也是函数,也在内存里,为什么上层应用不能直接去调用它呢? 不能,不能跳到内核里,否则就是程序调用了,而不是内核调用。为什么不能呢?因为操作系统里有很多很重要的东西,一旦能随意访问,会有安全问题,比如密码可能就会泄露。 不能jmp到内核程序是硬件决定...原创 2020-04-15 21:38:25 · 6559 阅读 · 0 评论 -
操作系统system模块执行
操作系统全部笔记目录见:操作系统笔记整理 注意我们程序执行时就是按照首先读第一个扇区,然后第一个扇区的bootset继续读后面的扇区,所以代码的安排必须要合理: 需要用makefile来自己设计编译细节。设计哪个放在前面,哪个放在后面。编译出来以后,操作系统叫image,一定要符合上图的样子。我们需要写到0磁道0扇区。 makefile如下: disk: Image dd bs=8...原创 2020-04-12 22:37:21 · 6428 阅读 · 0 评论 -
操作系统启动
操作系统全部笔记目录 见:操作系统笔记整理 上一节说到把setup和操作系统弄到内存里了,现在开始执行setup程序。 start: mov ax,#INITSEG mov ds,ax mov ah,#0x03 xor bh,bh int 0x10//取光标位置dx mov [0],dx //取出光标位置(包括其他硬件参数)到0x90000处 mov ah,#0x88 int 0x15 mo...原创 2020-04-12 21:41:34 · 6159 阅读 · 0 评论 -
操作系统引导扇区
操作系统全部笔记目录见:操作系统笔记整理 go: mov ax,cs //cs=0x9000 mov ds,ax mov es,ax mov ss,ax mov sp,#0xff00 load_setup: //载入setup模块 mov dx,#0x0000 mov cx,#0x0002 mov bx,#0x0200 mov ax,#0x0200+SETUPLEN int 0x13 //...原创 2020-04-12 01:00:13 · 7903 阅读 · 0 评论 -
操作系统课程简介与引导扇区
该课程只学比较基础的操作系统知识: 即单核CPU,以及内存管理文件系统等最基本的知识,而暂不涉及网络管理等更高级的知识。 课程目标:能够设计,修改操作系统相关模块,掌控操作系统,保证完成八个大作业。(因为要自己动手实践,所以,比较难。老师原话:很难。) 看了斯坦福的操作系统目标,都不好意思说自己学过操作系统了。世界计算机最牛逼的学府卡内基梅隆的要求是给一个板子,自己通过数据手册来...原创 2020-04-12 00:12:49 · 7764 阅读 · 0 评论