01_实验一_操作系统的启动start】的更多相关文章

通过从代码层面分析Linux内核启动来探知操作系统的启动过程 前言说明 本篇为网易云课堂Linux内核分析课程的第三周作业,我将围绕Linux 3.18的内核中的start_kernel到init进程启动过程来深入探知操作系统的启动,文中的代码来自Linux Kernel Organization的3.18.9内核源码 本篇关键词:init进程,idle进程,Linux内核启动 分析 分析说明 分析过程将把主要精力放在关键代码的分析上,代码分析的方式我是采用注释说明的方法,这样比较简洁直观,对于…
前言 今天本来的任务看书和把之前写的FragileOS整理一下,但是到现在还在摸鱼,书也只看一点.后来整理了一下写这个系列的思路,原本的目的是对操作系统原理性的学习和对之前写的一个玩具型操作系统的回顾,就是想对操作系统的知识的轮廓能有一个了解,现在想来想减少对之前写的系统的回顾,毕竟也只有2000多行,但是还是要有对整个思路的展现.然后增加对Linux 0.12源码的一些学习.所以离标题可能比较远了一点,但是就这样吧 什么是操作系统 原本这一节是写计算机系统和操作系统概述的,但是写到一半觉得太水…
关于ISO.WIM.GHO三者的正确理解. ISO(Isolation)文件一般以ISO为扩展名,是复制光盘上全部信息而形成的镜像文件. WIM是英文Microsoft Windows Imaging Format(WIM)的简称,它是Windows基于文件的映像格式.WIM 映像格式并非现在相当常见的基于扇区的映像格式,它是基于文件的.WIM 文件存储一个或多个操作系统的副本(称为映像).可以在未启动操作系统的情况下,离线添加和删除驱动程序.更新内容以及 Windows 组件. GHO是Gho…
x86启动顺序 CS+EIP决定启动地址. CS部分后面又4个0,相当于是左移了4位.总之就是要让CS左移4位之后加上EIP来得到要跳转的地址. 0x7c00地方开始的512字节的内容就是bootloader.这么做的原因是BIOS只能加载一个扇区,所以只能通过bootloader来加载系统. 段机制 这边uCore没有实现段机制,因为可以通过页机制来很方便地实现. 但是还是绕不开段模式,只要启了保护模式段就enable了(而且页机制基于段基址实现),所以还是要建立好段机制.下面这种映射关系近似…
一.总体功能 1.从通电到BIOS跳转 1.1 CPU在通电后,先进入实模式,设置CS=0XFFFF,IP = 0X0000(指向BIOS) 1.2 BIOS进行执行系统监测,并且在地址=0处初始化中断向量 1.3 将启动设备的第一个扇区(引导扇区,512B)读入0x7c00处 1.4 设置CS=0X07C0,IP=0X0000,跳转到该地址 2.BootSect.S 2.1 跳转到0x7c00时,该部分存放的是BootSect.S的程序,操作系统的所有故事从这开始 2.2 开始执行后,把自身移…
MySQL数据库服务器通常指的的是mysqld,而命令行mysql则是mysql客户端程序,这两个概念通常容易混淆.通常启动mysql服务器即是启动mysqld进程,mysqld启动后,可以通过mysql连接到mysql服务器.本文主要描述了mysql服务器的几种启动方式以及如何关闭mysql服务器. 1.直接使用mysqld启动 mysqld 即是mysql服务器,可以调用该命令直接启动mysql服务器 mysqld 从配置文件中读取[mysqld]以及[server]选项组的内容,也可以通过…
作者:吴乐  山东师范大学 <Linux内核分析> 孟宁 MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.程序设计与分析 mymain.c编写如下,参考了孟宁老师的设计. /* * linux/mykernel/mymain.c * * Kernel internal my_start_kernel * * Copyright (C) 2013 Mengning * */ #include <linux/types.h&g…
简单的sql注入1 看着这个简单的界面,一时间没有特别好的思路,先输入一个1',发生了报错 初步猜测这是一个字符型的注入,他将我们输入的语句直接当成sql语句执行了,按题目的意思后面肯定过滤了很多注入语句,我就先来尝试一些基本的语句 难道把union select都给过滤了?一阵绝望后接着试,试了好多后完全没思路 接着大概就是传说中的运气吧 这两个现象让我猜测过滤的是两个空格以及空格中间的字符串,绕过空格有好多方法:+,/**/,%0a,这里我用/**/代替空格构造一个查询语句: 拿到数据库,接…
天下武功唯快不破 第一反应就去抓包,看到返回包的header中有FLAG的值,base64解码后得到下图所示 这就要求我们在请求头中post相应key的值,我直接在burp中尝试了多次都没有用,想起来这道题讲的应该是快,所以果断拿出python跑一跑 import requests import base64 url = 'http://ctf5.shiyanbar.com/web/10/10.php' r = requests.get(url).headers['FLAG'] key = ba…
四.实验结论 1.       实验内容1 (1)源代码: assume cs:code code segment mov ax,0b800h mov ds,ax mov bx,07b8h mov cx,16 s: mov [bx],0403h add bx,2 loop s mov ah,4ch int 21h code ends end (2)修改后运行结果: 2.       实验内容2 (1)源代码: assume cs:code code segment mov ax,0 mov ds…