E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Linux0.11
1.2-main函数执行之前的过程
代码大家可以从http://download.csdn.net/tag/
linux0.11
%E5%86%85%E6%A0%B8下载.equSETUPLEN,4#nrofsetup-sectors .equBOOTSEG
sun_x_t
·
2012-04-02 21:00
linux中的设备名称和设备号
看赵炯博士的《
linux0.11
源代码注释》已经两三周了,从今天起开始将一些个人总结和感悟分小标题写出来,聊作记忆以供后来查看。
astonqa
·
2012-03-09 16:00
linux
OS
ide
扩展
磁盘
《
Linux0.11
内核完全注释》读后小结 --- 进程调度与信号
schedule.c是关于进程调度的。schedule函数是核心,先检查task列表中,有没有收到信号的,有的话处理之。/*checkalarm,wakeupanyinterruptibletasksthathavegotasignal*/for(p=&LAST_TASK;p>&FIRST_TASK;--p)if(*p){if((*p)->alarm&&(*p)->alarmsignal|=(1a
Teddy Yan
·
2012-02-24 11:00
抢占式内核与非抢占式内核的区别联系
非抢占式内核在中断处理中,是不会切换到其他任务的,即使时间片已到
linux0.11
内核属于非抢占内核,如果一个进程在内核中执行,除非它主动让出,没有人会让它退出的linux2.6内核属于抢占内核,如果进程在内核中执行
sunstars2009918
·
2012-02-20 10:00
linux
assembly
System
任务调度
each
returning
《
Linux0.11
内核完全注释》读后小结 --- 中断与系统调用
Linux系统包含了一大堆的中断,是所有操作的基础。中断中的开闭中断cli(closeinterrupt)指令用来复位CPU标志寄存器中的中断标志,使系统不响应外部中断。sti(startinterrupt)指令用来复位,使系统响应中断。asm.s设置了一堆底层中断,进入中断前要压入eax等寄存器,执行完要pop出一些寄存器。这种统一的工作在no_error_code里trap.c里面是真正的中断
Teddy Yan
·
2012-02-16 16:00
《
Linux0.11
内核完全注释》读后小结 --- 内存寻址
Linux内存管理主要是32保护模式下,段页式内存管理。如何处理内存相关的寄存器,使得程序可以读写超过4G的内存。x86这个CPU框架,会根据寄存器的值和段页式规则来进行地址变换,进行内存访问。其中,也会进行权限验证等附加判断。几个概念:保护模式vs实模式保护模式下的:虚地址:程序产生的段选择符,段内偏移地址两部分组成。要经过分段地址变换处理后,才对应到屋里地址。逻辑地址:在Intel86保护模式
Teddy Yan
·
2012-02-13 19:00
《
Linux0.11
内核完全注释》读后小结 --- 启动引导
bootsect.s我们实验环境中,Image就是一个软盘镜像,bootsect.s就在软盘的第一个扇区中(引导扇区,0磁道,0磁头,第一个扇区)硬盘有一个单独的镜像文件BIOSROM如果设置成软盘启动,就把引导扇区的代码加载到0x7C00开始处执行。因为前面的内存保存有有用的信息。如果是从硬盘启动系统,就不执行bootsect.s。LILO,Grub等多操作系统引导程序来完成bootsect.s
Teddy Yan
·
2012-02-13 19:00
《
Linux0.11
内核完全注释》读后小结 --- 调试环境的搭建
先看了LinuxKernelDevelopment再看了Oreilly-Linux.Device.Drivers.3rd.Edition后来看了Linux0.01内核分析与操作系统设计然后,打算仔细研究
Linux0.11
Teddy Yan
·
2012-01-30 13:00
Linux启动为什么没有先执行main函数
Linux0.11
的代码是用C语言编写的,奇怪的是,为什么在操作系统启动是执行的是三个由汇编写成的程序,然后才开始执行main函数?为什么不像我们熟知的C程序那样,从main函数开始执行呢?
·
2012-01-16 12:00
linux
关于8253 芯片计数器初值的问题
汇编接口上提到,传说
Linux0.11
内核中把8253计时器设置成每隔10ms发送一个中断,这个数字是Linux内核的脉搏,然而在送端口40h的时候为什么把11930设置成初值呢?
iSpeller
·
2011-12-22 17:00
编程
工作
linux
HIT软件学院第五次OS实验
本次实验的基本内容是:1.用Bochs调试工具跟踪
Linux0.11
的地址翻译(地址映射)过程,了解IA-32和
Linux0.11
的内存管理机制;2.在Ubuntu上编写多进程的生产者—消费者程序,用共享内存做缓冲区
liushuaikobe
·
2011-11-30 16:00
c
linux
ubuntu
OS
工具
终端
gdb调试
linux0.11
内核。
1. 下载bochs源码,配置,编译。 ./configure --enable-gdb-stub. 2. 在http://www.oldlinux.org/Linux.old/bochs/ 下载linux-0.11-gdb-050619.tar.gz &nbs
envy2002
·
2011-11-26 16:00
linux
WinixJ---tools/buildImage.c文件详解
按照
linux0.11
的思路:将bo
myjfm
·
2011-11-20 14:00
HIT软件学院第二次OS实验
这次实验是让你在
linux0.11
上增加两个系统调用,并编写两个简单的应用程序测试你写的系统调用。
liushuaikobe
·
2011-11-14 15:00
建立一个实用的可以修改编译的
linux0.11
环境
最近在学习linux内核,但是现在的内核代码太大过于复杂,于是想从最初的linux版本开始,结果买了linux0。11内核分析,发现书本上的都还没有讲清楚,甚至连最起码的环境书本上都没有讲清楚怎么搭建成功,只是拷贝一个可以跑linux的bochs,怎么调试怎么使用都没讲明白,我很郁闷,于是熬夜到网络上查资料,终于找出一个实用环境的搭建方法。在网络的资料中,有一篇七十年代(作者名)写的文章已经解决了
tianwailaibin
·
2011-11-07 14:00
哈工大操作系统试验2 系统调用
今天整理了一下实验报告在unistd.h中可以看到现在
Linux0.11
支持3个参数的传递。
wangyi_lin
·
2011-10-31 14:00
exception
linux
String
System
makefile
dependencies
linux0.11
之内存管理
看完
linux0.11
之后小有感触,就此记下。
sencha
·
2011-10-17 10:35
linux
操作系统
内存
管理
应用程序
linux0.11
之内存管理
看完
linux0.11
之后小有感触,就此记下。
Sencha_Android
·
2011-10-17 10:00
linux
存储
linux 0.11之tty
今天阅读了
linux0.11
相关的源码,了解了一下。在
linux0.11
内核中字符设备只有三个(两种),一个是控制台设备(我理解就是本机的显示屏和键盘),另外两个是串行端口的串行终端设备。
sencha
·
2011-10-16 22:37
linux
应用程序
设备
linux 0.11之tty
今天阅读了
linux0.11
相关的源码,了解了一下。 在
linux0.11
内核中字符设备只有三个(两种),一个是控制台设备(我理解就是本机的显示屏和键盘),另外两个是串行端口的串行终端设备。
sencha
·
2011-10-16 22:37
linux
控制台
应用程序
设备
显示屏
linux 0.11之tty
今天阅读了
linux0.11
相关的源码,了解了一下。在
linux0.11
内核中字符设备只有三个(两种),一个是控制台设备(我理解就是本机的显示屏和键盘),另外两个是串行端口的串行终端设备。
Sencha_Android
·
2011-10-16 22:00
编程
linux
struct
存储
终端
linux0.11
感受(非技术)
题外话: 十一的时候从图书馆借了一本赵炯的linux内核完全剖析,接近九百页,国庆快完的时候开始看,现在差不多看了有10天了,很笼统的过了一遍,但是感觉收获还是挺大的。感受: 其实对操作系统一直是一种很敬畏的感觉,这学期也开了操作系统这门课,但是粗略的翻了一下书,发现很理论。我知道操作系统本来就应该是一门很理论的课,但是我觉如果这样学过去,还是对真实的操作系统还是很恐惧的,还是有一种深不可
Sencha_Android
·
2011-10-16 16:00
数据结构
linux
工作
算法
汇编
linux内核
linux0.11
感受(非技术)
题外话:十一的时候从图书馆借了一本赵炯的linux内核完全剖析,接近九百页,国庆快完的时候开始看,现在差不多看了有10天了,很笼统的过了一遍,但是感觉收获还是挺大的。感受: 其实对操作系统一直是一种很敬畏的感觉,这学期也开了操作系统这门课,但是粗略的翻了一下书,发现很理论。我知道操作系统本来就应该是一门很理论的课,但是我觉如果这样学过去,还是对真实的操作系统还是很恐惧的,还是有一种深不可测
sencha
·
2011-10-16 16:22
linux
操作系统
休闲
门
图书馆
中断系统的初始化
linux系统中的中断系统就是对关于中断的汇编指令集的一个包装,将所有的中断功能进行集中处理,为各个中断建立相应的处理程序,本文主要目的是记录
linux0.11
下面的中断系统实现方式。
Yes_life
·
2011-10-05 14:00
数据结构
工作
linux
汇编
System
buffer
linux0.11
中switch_to理解
最近看
linux0.11
源码时,看到任务切换函数switch_to,感觉很晦涩,于是在网上查了一些资料,现在终于有些眉目,特记录于此,以方便大家参考,有什么错误或不足之处,还请大家指出~switch_to
smallmuou
·
2011-09-30 14:00
Math
linux
struct
任务
编译器
linux内核
linux内核的学习方法
linux0.11
就是一个自己动手写操作系统的范例,而到linux2.4则发展到百万行级,被移植到各种平台。到2.6呢,linux在这个版本停留最久,小的版本差异,整个子系统完全不同。
qb_2008
·
2011-09-29 01:00
linux
工作
算法
express
平台
linux内核
软盘结构及软盘数据的读取
由于最近在学习
linux0.11
内核,需要用到软盘启动,于是就抽空学习了一下软盘结构;1、软盘结构1.44软盘结构:2个盘面(0和1),一个盘面有80条磁道(或称磁柱),一个磁道有18个扇区,一个扇区大小为
smallmuou
·
2011-09-21 13:00
linux
byte
磁盘
页异常中断
此次实验的任务是:通过调试来查找
Linux0.11
内核启动后第一次引发页异常中断PageFault的代码,并根据
Linux0.11
内核代码和intel386手册分析出现中断的原因。
fazai001
·
2011-08-20 11:00
由
Linux0.11
进程调度小窥内存分段机制
有关调试环境的建立见前文:从
linux0.11
引导代码小窥内存分段机制进程调度初始化(sched_init函数) 在引导代码执行结束后,执行序列将跳转到main函数,执行一系列的初始
fazai001
·
2011-08-20 11:00
c
linux
struct
null
byte
任务
从
linux0.11
引导代码小窥内存分段机制
阅读本文手头上应该有一份
linux0.11
源代码,引导程序调试软件bochs(其实是个虚拟机,不过它的调试功能实在是完美)和配套的
linux0.11
内核img(linux-0.11-devel-040329
fazai001
·
2011-08-20 11:00
c
linux
汇编
任务
Descriptor
linux内核
linux0.11
下的中断机制分析
本文将针对
Linux0.11
代码进行分析和调试,来了解中断机制,主要分析以下三个问题:1. 中断描述符表的建立。2. 一般中断的处理过程,以0x3号中断为例。3. 系统调用的处理过
fazai001
·
2011-08-20 11:00
linux
工作
System
任务
Signal
linux内核
编写MBR从硬盘启动
linux0.11
计算机启动时BIOS会把启动盘第一个扇区的数据读入内存0x7C00开始处,然后跳到这里继续执行。从硬盘启动和从软盘启动唯一的区别就是映象文件存储方式的不同:1.对于从软盘启动的方式,映象文件连续地存放在软盘开始的位置处。放在第一个扇区的bootsect.s被BIOS读入内存后,就会把余下的映象文件读入内存,然后继续执行2.对于从硬盘启动的方式,映象文件存放在Minix格式的硬盘分区里,MBR(硬
fazai001
·
2011-08-20 11:00
数据结构
linux
struct
image
makefile
linux内核
bochs调试linux 0.11内核
赵炯博士已经为我们准备好了bochs,而且还带有
linux0.11
的image.
envy2002
·
2011-07-01 15:00
linux
bochs调试linux 0.11内核
赵炯博士已经为我们准备好了bochs,而且还带有
linux0.11
的image.
envy2002
·
2011-07-01 15:00
linux
Linux 0.11内核编译和bochs上的实验环境的搭建
Linux0.11
内核编译和bochs上的实验环境的搭建 阅读源代码之前首先需要搭建实验环境,由于
Linux0.11
的代码是二十年前编写的,当前版本的gcc编译器无法正常编译通过,因此需要首先将
Linux0.11
墙头草的Java
·
2011-06-22 16:00
Linux 0.11内核编译和bochs上的实验环境的搭建
最近决定开始阅读
Linux0.11
的源代码。 学习Linux操作系统的核心概念最好的方法莫过于阅读源代码。而Linux当前最新的源代码包已经有70MB左右,代码十分庞大,要想深入阅读十分困难。
MengLee
·
2011-06-22 14:00
编程
linux
虚拟机
ubuntu
gcc
Linux 0.11内核编译和bochs上的实验环境的搭建
阅读更多最近决定开始阅读
Linux0.11
的源代码。学习Linux操作系统的核心概念最好的方法莫过于阅读源代码。而Linux当前最新的源代码包已经有70MB左右,代码十分庞大,要想深入阅读十分困难。
MengLee
·
2011-06-22 14:00
Linux
GCC
Ubuntu
虚拟机
编程
Linux 内核--任务0的调度切换
本文分析基于
Linux0.11
内核,转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/09/6533865.aspx。
yming0221
·
2011-06-09 13:00
c
linux
struct
buffer
任务
Signal
内存管理-Linux内核读书笔记(转自搜狐达人空间)
Linux内核的内存管理程序采用了分页管理方式,利用页目录和页表结构处理内核中其他部分代码对内存的申请和释放操作.内存的管理是以内存页面为单位进行的,一个内存页面是指地址连续的4KB内存.
Linux0.11
yanyiyyy
·
2011-06-08 16:00
linux
读书
makefile
X86
linux内核
利用Bochs调试
linux0.11
启动过程
看到这文章写的不错,顺便就当学习下Bochs的使用,不过没有图,图片都是自己添加上的。利用Bochs调试linux的启动过程SeanYi2006/11/17摘要:现在hacklinuxkernel的人很多,而调试工具很少,Bochs的最大的好处就是它的调试功能,它能仿真IA-32的全部指令,所有这些都是用C++写成的,并且开源。名词:BochsBochs是KevinLawton用C++语言开发的一
rein07
·
2011-06-08 09:00
Linux 内核--fork()函数创建进程 (续)之copy_mem(int nr, struct task_struct *p)
本问分析基于
Linux0.11
内核,转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/06/6528490.aspxcopy_mem(intnr
yming0221
·
2011-06-06 22:00
数据结构
linux
汇编
struct
任务
Linux 内核--fork()函数创建进程 (续)之copy_mem(int nr, struct task_struct *p)
本问分析基于
Linux0.11
内核,转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/06/6528490.aspxcopy_mem(intnr
soboer
·
2011-06-06 22:00
struct
Linux 内核--fork()函数创建进程 (续)之copy_mem(int nr, struct task_struct *p)
本问分析基于
Linux0.11
内核,转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/06/6528490.aspxcopy_mem(intnr
thecloud
·
2011-06-06 22:00
struct
Linux 内核--fork()函数创建进程
本文分析基于
Linux0.11
内核,转载请表明出处http://blog.csdn.net/yming0221/archive/2011/06/05/6527337.aspx Linux在move_to_user_mode
yming0221
·
2011-06-05 22:00
数据结构
linux
struct
汇编
System
任务
Linux 内核--任务0的运行(切换到用户模式)move_to_user_mode
本文分析基于
Linux0.11
内核,转载请标明出处,http://blog.csdn.net/yming0221/archive/2011/06/01/6459119.aspx在main.c的程序中,当设备初始化完毕后
soboer
·
2011-06-01 13:00
linux
Linux 内核--任务0的运行(切换到用户模式)move_to_user_mode
本文分析基于
Linux0.11
内核,转载请标明出处,http://blog.csdn.net/yming0221/archive/2011/06/01/6459119.aspx在main.c的程序中,当设备初始化完毕后
yming0221
·
2011-06-01 13:00
linux
image
user
null
任务
nested
Linux 内核--任务0的运行(切换到用户模式)move_to_user_mode
本文分析基于
Linux0.11
内核,转载请标明出处,http://blog.csdn.net/yming0221/archive/2011/06/01/6459119.aspx在main.c的程序中,当设备初始化完毕后
thecloud
·
2011-06-01 13:00
linux
文件包含 头文件 inline 编译
Linux0.11
的目录: |-boot/ |-fs/ |-include/ |-asm/ |-linux/ |-sys/
zlb_xidian
·
2011-05-30 17:00
Linux 内核--硬件中断初始化及中断描述符表
本文分析基于
Linux0.11
内核,转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/01/6459119.aspx以下是硬件初始化函数voidtrap_init
soboer
·
2011-05-29 22:00
linux
Linux 内核--硬件中断初始化及中断描述符表
本文分析基于
Linux0.11
内核,转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/01/6459119.aspx以下是硬件初始化函数voidtrap_init
yming0221
·
2011-05-29 22:00
linux
exception
汇编
System
Descriptor
linux内核
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他