Linux
FreeFu
这个作者很懒,什么都没留下…
展开
-
as86汇编示例——boot.s
一、源代码!! boot.s -- bootsect.s的框架程序.用代码0x07替换字符串msg1中的1字符,然后在屏幕第一行上显示.!.globl begtext,begdata,begbss,endtext,enddata,endbss !全局标示符,供ld86链接使用..text !正文段begtext:.data原创 2016-12-22 20:05:12 · 908 阅读 · 0 评论 -
操作系统的引导
一、源代码!bootsect.s !当 PC 的电源打开后,80x86 结构的 CPU 将自动进入实模式,并从地址 0xFFFF0 开始自动执行程序代码,这!个地址通常是 ROM-BIOS 中的地址。PC 机的 BIOS 将执行某些系统的检测,在物理地址 0 处开始初始化中!断向量。此后,它将可启动设备的第一个扇区读入内存地址 0x7C00 处,并跳转到这个地方。此代码即为引导扇!区的代码,原创 2016-12-27 13:49:28 · 612 阅读 · 0 评论 -
系统调用
一、源代码//定义系统调用编号//linux-0.11/include/unistd.h#define __NR_iam 72#define __NR_whoami 73//hdc/usr/include/unistd.h#define __NR_iam 72#define __NR_whoami 73//定义系统调用在用户空间里的接口函数原创 2016-12-27 22:09:28 · 718 阅读 · 0 评论 -
进程运行轨迹的跟踪
一、源代码/* process.c Linux下多进程程序,父进程循环创建NUM_CPROC个子进程,每个子进程执行cpuio_bound程序,父进程循 环打印子进程的PID,之后阻塞等待子进程结束返回。*/#include<stdio.h>#include<unistd.h>#include<time.h>#include<sys/times.h>#includ原创 2016-12-29 12:34:34 · 2778 阅读 · 0 评论 -
信号量的实现和应用
一 源代码/* Ubuntu_pc.c Ubuntu16.04下关于生产者和消费者的示例程序,首先创建一个进程为生产者,往文件缓冲区里面写数字,然 后创建一组消费者进程,从文件缓冲区里面读数字输出到终端,同时显示子进程的PID.进程之间的同步和临界 资源的互斥访问通过信号量来实现.*/#include<stdio.h>#include<semaphore.h>原创 2016-12-30 20:37:42 · 1123 阅读 · 0 评论 -
字符显示的控制
一 源代码/* linux-0.11/include/asm/system.h 添加f12_on标志*/int f12_on;//定义f12_on表示是否按下f12(每按两次抵消)/* linux-0.11/kernel/chr_drv/keyboard.S 注释掉f12显示进程信息的功能*///按键调用键盘中断处理程序keyboard_interrupt:原创 2017-01-01 18:02:51 · 662 阅读 · 0 评论 -
地址映射与共享
一 跟踪地址翻译过程#include <stdio.h>int i = 0x12345678;int main(void){ printf("The logical/virtual address of i is 0x%08x", &i); fflush(stdout); while (i); return 0;}//将上述程序在linux-0.11编译运行,不出所原创 2017-01-01 20:29:39 · 1191 阅读 · 0 评论