操作系统学习笔记与总结(一)

总结下学习的内容,梳理下思路。

学习内容:启动, dd命令,bochs基本用法,as86,ld86

实验:使用bochs模拟开机启动过程,熟悉常用命令。

总结:

  1.机器启动到加载bootsect:

       a,开机进入实模式,实模式主要特点软件可以直接访问硬件和只有20位的寻址空间

       b, 计算机刚刚加电时cs=f000,ip=fff0,机器执行ffff0处的BIOS的第一条指令

         c,BIOS检查计算机的硬件,加载中断向量表和中断服务程序

       d,执行int 0x19中断在读取软盘第一个扇区的512个字节,复制到内存的0x07c00处

  2.dd命令:这里主要用于讲boot写入引导扇区

        主要应用的参数:if=输入 of=输出 bs(ibs obs)=一次读写的字节数,也是指定的一个块的大小

             count=blocks 拷贝blocks的个数,块大小等于ibs指定的字节数。

             skip=blocks 从输入文件开头跳过blocks个块,在复制

             实验使用的命令 dd bs=32 if=boot of=a.img skip=1(备份什么的以后用的在学)

  3.bochs基本用法 :

      a,必备的资源:bochs执行文件,bios映像文件(BIOS-bochs-latest),vga bios映像文件(VGABIOS-lgpl-latest),引导磁盘的映像文件(a.img),配置文件

      b,配置文件:主要用来寻找磁盘映像,配置模拟机器的一些信息。megs模拟内存容量,romimage,vgaromimage,floppya(1_44=a.img static=inserted(已插入。ejected未插入) )

             log(日志信息)boot(启动的驱动器 =floppy)

       c,启动 bochs -f bochsrc (指定配置文件)

       d,用到的指令 c运行,r查看寄存器内容,b addr 设置断点

  4.as86汇编

      a,使用了inter语法,Linux中用来创建16位的启动引导扇区程序和初始设置程序

      b,学习语法使用的程序

.global begtext
.text
begtext
.text
BOOTSECT=0X07C0
entry start                ;ld86链接后执行的第一条指令
start:
    jmpi    go,    BOOTSECT       ;执行后 cs=BOOTSECT
go:
    mov    ax,    cs
    mov    ds,    ax
    mov    es,    ax
    mov    [msgl+17],ah
    mov    cx    #20
    mov    dx,    #0x1004
    mov    bx,    #0x000c
    mov    bp,    #msgl
    mov    ax,    #0x1301
    int    0x10

loopl:     jmp    loopl
msgl:    .ascii    "Loading System..."
         .byte    13,10
    .org    510
    .word    0xAA55          ;引导扇区结尾必须为[510]=55,[511]=AA

      c,as86 -0 -a -o boot.o boot.s         ld86 -0 -s -o  boot boot.o(生成的boot为MINIX格式有544b需要除去minix文件头的32b)

时间: 2024-09-30 20:15:55

操作系统学习笔记与总结(一)的相关文章

Linux 操作系统学习笔记

一,unix 1.unix 特点 伸缩性强,开放性好, 2.基本原则 所有对象,硬件都是文件 配置数据以文本形式保存 短小的单目的程序构成 多个程序合作完成复杂任务 3.gnu 基本原则是共享,建立自由开放的unix系统 1984年 richard stallman 发起 基本体系是micro kernel 4.gpl Copyleft 原作者所有权 5.linux起源 Linustorvalds, 自由的类unix操作系统, 遵循gnu和gpl 6.linux 可以实现unix功能 遵循开源许

计算机操作系统学习笔记_1_操作系统概述

操作系统概述 一.操作系统的概念.特征.功能和提供的服务 1.操作系统的概念     操作系统是计算机系统中最重要.最基本的系统软件,操作系统位于硬件和用户程序之间.    对于用户来讲:它能向用户提供使用计算机的接口;    从资源管理角度来看:它能管理计算机软硬件资源,提高其利用率;    再者,利用虚拟机技术(如WMWare,VirtualBox,Java虚拟机等),扩展了计算机的功能和使用范围.     因此,操作系统的定义为:操作系统是控制和管理计算机软.硬件资源,以尽可能合理.高效的

RTX51 Tiny实时操作系统学习笔记—初识RTX51 Tiny

 一,RTX51 Tiny简单介绍 RTX51 Tiny是一种实时操作系统(RTOS),能够用它来建立多个任务(函数)同一时候运行的应用(从宏观上看是同一时候运行的,但从微观上看,还是独立运行的).嵌入式应用系统常常有这样的需求.RTOS能够提供调度.维护.同步等功能. 实时操作系统能灵活的调度系统资源,像CPU和存储器,而且提供任务间的通信.RTX51 Tiny是一个功能强大的RTOS,且易于使用,它用于8051系列的微控制器.该RTOS最多支持16个任务,基于RTX51 Tiny构建的应用程

计算机操作系统学习笔记_2_进程管理 --进程与线程(上)

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { fon

计算机操作系统学习笔记_4_进程管理 --处理机调度

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Sans",sans-serif; f

操作系统学习笔记----进程/线程模型----Coursera课程笔记

操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进程创建.撤销.阻塞.唤醒.... 0.2 线程模型 为什么引入线程 线程的组成 线程机制的实现 用户级线程.核心级线程.混合方式 1. 进程的基本概念 1.1 多道程序设计 允许多个程序同时进入内存运行,目的是为了提高CPU系统效率 1.2 并发环境与并发程序 并发环境: 一段时间间隔内,单处理器上

ucos实时操作系统学习笔记——操作系统在STM32的移植

使用ucos实时操作系统是在上学的时候,导师科研项目中.那时候就是网上找到操作系统移植教程以及应用教程依葫芦画瓢,功能实现也就罢了,没有很深入的去研究过这个东西.后来工作了,闲来无聊就研究了一下这个只有几千行代码的操作系统,也没所有的代码都看,只是看了其中部分内容.自己还自不量力的尝试着去写过简单的操作系统,最后写着写着就被带到了ucos的设计思路上了,后来干脆就“copy”代码了,虽说对操作系统内核的理解有很大的帮助,但是很是惭愧啊,智力不够,对操作系统内核的设计者更加仰慕,O(∩_∩)O哈哈

ucos实时操作系统学习笔记——任务间通信(消息)

ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了queue机制还要用mbox呢,只要设置queue的msg只有一个不就行了?其实很简单,就是为了节约资源,因为使用queue的话需要专门描述queue的机构体os_q,同时需要分配一段内存用来存放msg,而如果直接使用mbox机制的话,就好多了,节约..... 首先从mbox的创建开始,mbox创建的函

操作系统学习笔记——线程

这篇博客是本人操作系统课的学习笔记,因为是"双语授课",所以有些中英夹杂. 本篇文章禁止转载 版权声明:本文为博主原创文章,未经博主允许不得转载.

操作系统学习笔记——信号量

这篇博客是本人操作系统课的学习笔记,因为是"双语授课",所以有些中英夹杂. 本篇文章禁止转载 版权声明:本文为博主原创文章,未经博主允许不得转载.