自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 09.调色板绘制系统界面

简介上一节我们使用C语言绘制了简单的图形界面,实现了汇编语言和C语言共同开发操作系统,只有当C语言力不能逮,特别是需要操作硬件时,才会使用汇编语言。我们实现图像绘制的办法是,给每一个像素设定指定的数值,这个数值只能位于0-256这个范畴,256种颜色显然是不够用的,而且还不论颜色的亮度,饱和度等这些成分呢。为能够比较好的表示颜色的,一般都使用RGB模式,表示一个RGB颜色需要24位数,便开发了...

2018-10-31 22:27:45 9152

原创 08.C语言绘制系统界面

简介上一节我们实现了从实模式到保护模式下字符复制到1M内存空间外的显示。直观感受从实模式到保护模式地址寻址的变化。目标显示器基本都有字符模式和图形显示模式,用C语言实现色彩斑斓的图形显示。1、为了能使用C语言,我们需要设置栈空间。C语言函数体中的变量就是使用栈管理的,默认情况下C语言编译后生成的代码是能在该操作系统下运行的可执行文件,在链接中链接器会插入相关的描述信息。但我们要开发的是系统...

2018-10-31 17:55:25 10721

原创 07.保护模式下字符显示

简介上一博文我们实现了从实模式到保护模式的切换并在屏幕上显示了简单的字符,对于保护模式给我们带来的寻址范围的变化体会可能不深入,很难体会在保护模式下的地址寻址变化。目标在保护模式下将一段字符串复制到1M以外的地址空间,并将字符从该地址空间显示到屏幕上。1、kernel.s 文件如下 ;全局描述符结构 8字节 ; byte7 byte6 byte5 byte4 byte3 byte...

2018-10-30 23:02:04 9364

原创 06.实模式进入保护模式

简介上一节我们实现了从内核加载器中加载其它扇区代码并执行,但始终工作在实模式状态下。内存寻址方式和8086相同,由16位段寄存器的内容乘以16(10H)当做段基地址,加上16位偏移地址形成20位的物理地址,最大寻址空间1MB,最大分段64KB。保护模式与实模式相比地址转换方式差异较大:实模式下的地址转换方式,假设我们在ES中存入0x1000,DI中存入0xFFFF,那么ES:DI=0x...

2018-10-30 21:17:30 9074 3

原创 05.加载并执行其它扇区代码

简介上一博文实现了把其它扇区的数据加载进内存并显示出来,同理如果其它扇区的是执行代码,在内核加载器加载完其它扇区代码后并制定CS:IP指向加载进来的内存地址,其它扇区的代码将会被指向。目标使用汇编实现其他扇区代码功能,内核加载器加载该扇区代码并跳转到制定内存执行写入虚拟磁盘其他扇区的代码。1.修改内核加载器文件boot.s;能用于操作内存的寄存器只能是bx、bp、si、di;0x7c0...

2018-10-30 13:39:33 8571

原创 04.实现读取其他扇区数据显示

简介上一节我们使用C语言实现了3.5寸虚拟软盘文件结构,操作系统文件必须突破头512字节的限制,需要把数据写入其他扇区,在头512字节中实现加载其他扇区文件到内存。目标使用自制的C语言虚拟软盘模块,把显示的字符串数据写入1磁道、0磁头、2扇区,在内核加载器中读取该扇区字符串显示在屏幕上。1.BIOS:BIOS是英文"Basic Input Output System"的缩略词,直译过...

2018-10-30 10:24:55 8807

原创 03.C 语言实现3.5寸虚拟软盘

简介1.前面我们使用C语言实现了把启动代码写入3.5寸虚拟软盘头512字节,成功完成了字符显示功能。我们的操作系统在头512字节是远远不够用的,我们就需要把操作系统的其他数据写入软盘的其他扇区,通过头512字节加载操作系统到内存中,并跳转到操作系统代码处。其中这头512字节我们称作为内核加载器。目标实现一个能把操作系统代码数据写入虚拟软盘任意扇区的功能模块1.软盘结构:3.5英寸软盘...

2018-10-29 23:40:17 9391

原创 CocoaPods安装

简介CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具,CocoaPods能让我们集中的、统一管理第三方开源库,为我们节省设置和更新第三方开源库的时间。安装Mac电脑自带Ruby环境,我们就只需打开终端开始动手。然而又因为默认情况下我们mac系统自带的Ruby环境版本比较低,但是现在安装CocoaPods需要2.2.2版本及以上的,所以我们不管三七二十一先直接先升...

2018-10-24 21:27:19 8395

原创 02.汇编实现启动扇区

前言软盘的启动扇区头512字的内容是需要使用汇编实现,内核加载器需要把操作系统加载进内存,实现加载完成后就可使用C语言编写操作系统。目标1.使用汇编实现hello,world 的输出文件名:boot.s;能用于操作内存的寄存器只能是bx、bp、si、di;0x7c00--0x7dff 这512字节用于启动区;对内存的访问都必须指定段寄存器,没有显示指定时将使用ds作为段寄存器or...

2018-10-22 11:24:19 8875

原创 Mac 安装nasm 汇编器

一.方法1到nasm 官网下载zip 文件解压后即可二.方法2终端运行:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null运行完成后再运行:brew install nasm终端输入:nasm...

2018-10-22 10:20:20 9870 4

原创 block初始化UIView 类

前言IOS 开发中UIView 是我们经常需要使用的类,尤其是在创建指定tag 值的UIView 类控件添加到父视图上。通常情况下都需要这样写UIView *backV = [self.view viewWithTag:100];if(backV == nil){ backV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, sel...

2018-10-21 21:50:29 8559

原创 01.C 语言实现系统输出

前言操作系统作为一个平台,几乎集结了计算机科学里面的所有知识,如硬件,算法,架构,能够写出一个操作系统的人,无一不是行业里的大牛,像神一样的存在。像Linux的创始人Torvalds,Android的创始人安迪·鲁宾,苹果早期电脑系统的开发者史蒂夫-沃兹尼亚克。那个不是自带光环的人物。一个真正的软件开发者都有一个黑客的情节。C语言是系统级的语言。Linux、Windows、Mac OS 底层没...

2018-10-21 21:15:05 8770

原创 ios .framework 制作

前言如果你想将你开发的框架模块提供给其他人使用,一种方法是直接提供源代码。然而,这种方法对于商业框架提供并不是很优雅。它会暴露所有的实现细节,而这些实现你可能并不想开源出来。另一种方法是将你的代码编译成静态库(library),并公布需要公开的头文件,让其他开发者添加到自己的项目中。制作framework1.新建一个project,选择如下图方式2.语言选择swift3.新建相关...

2018-10-18 13:52:44 8587

原创 ios扩展16进制颜色

iOS开发一般都是用到RGB颜色,美工给我们作图的时候往往给我们的色值都是十六进制的颜色如 #ff0000,如果先把16进制转换为RGB 的10 进制那将是非常麻烦的事,我们可以为 UIColor 添加一个扩展类(UIColor+Ext.swift)实现16进制颜色import UIKitextension UIColor { static func hexColor(hexS...

2018-10-14 22:59:13 8548

原创 jsp 页面base标签作用

<base> 标签为页面上的所有链接规定默认地址或默认目标。浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL,构成完整的请求地址。<base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的 URL(<base href=value &

2018-10-05 15:02:07 12908

原创 Maven 热部署Web项目

使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省大量时间。本文章适用于tomcat的 9.x版本。1.配置tomcat的manager编辑tomcat服务器下的conf/tomcat-users.xml<role rolename="manager-gui"/>&amp

2018-10-03 16:46:20 9319 1

原创 tomcat-9.0.12 管理页面403 Access Denied

1.localhost:8080进入tomcat主页面如下图2.点击Manager App 管理发布相关应用是出现访问拒绝,如下图:3.按照上图提示信息修改tomcat安装目录下的conf 目录修改tomcat-users.xml文件,修改相关角色、用户名、密码信息如下图:把注释部分复制一份修改相关角色,用户信息...

2018-10-03 15:29:38 9104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除