![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux/Unix/AIX
文章平均质量分 50
马如林
桂林电子科技大学计算机硕士,15年+的编程和架构经验,美国PMI认证PMP,Oracle认证Java程序员,信息系统项目管理师,软件设计师,CET6。
展开
-
Linux源码阅读推荐阅读图书
Linux.Kernel.Development.2nd.Edition. Robert Love Understanding.The.Linux.Kernel Daniel P. Bovet & Marco Cesati 汇编语言 王爽80X86汇编语言程序设计教程 杨季文 C程序设计语言 Kernigham & Ritchie 操作系统设计与实现 A原创 2012-03-11 09:51:10 · 2654 阅读 · 0 评论 -
操作系统学习笔记(34)--内存分页
内存分页使用CR寄存器的标志位设置获取内存物理地址步骤如下:原创 2010-06-02 22:21:00 · 939 阅读 · 0 评论 -
操作系统学习笔记(32)--初始化IDE
对IDE进行初始化操作原创 2010-06-02 07:19:00 · 1149 阅读 · 0 评论 -
操作系统学习笔记(28)--初始化进程调度
内核进程原创 2010-06-01 22:28:00 · 1004 阅读 · 0 评论 -
操作系统学习笔记(27)--初始化中断
该过程是初始化系统的中断向量表,一般是256个入口。原创 2010-06-01 22:27:00 · 1092 阅读 · 0 评论 -
操作系统学习笔记(24)--内存页面设置
有了内存大小和粒度设置可以获得页数量原创 2010-05-31 20:01:00 · 935 阅读 · 0 评论 -
操作系统学习笔记(21)--中断描述符表设置
与此相关的IDTR 基本定义IDT_Pointer: dw 0 -- 表长 dd 00 -- 基地址 lidt [IDT_Pointer] 基地址和表长 IDT_Pointer是6个字节长,高4个字节是32 Bit Linear Base Address,低2个字节是16 Bit Table Limit原创 2010-05-30 17:22:00 · 971 阅读 · 0 评论 -
推荐一个网页
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/原创 2010-05-29 18:15:00 · 902 阅读 · 0 评论 -
操作系统学习笔记(16)--进入内核
操作系统进入保护模式后,通过配置GDT表和内核代码的装载设置。跳入内核代码段,此时在保护模式下运行。 跳入地址需要首先获得,一般是Main函数地址。jmp kenerlSegment:offset 进入包含模式。 进入内核后,一般是C语言写的代码。原创 2010-05-28 20:29:00 · 816 阅读 · 0 评论 -
操作系统学习笔记(23)--系统内存获取
设置内存,首先需要获取内存大小。 ; Use int 15h to find out size of extended memory in KB. ; Extended memory is the memory above 1MB. So by ; adding 1MB to this amount, we get the total amount ; of syst原创 2010-05-30 20:44:00 · 731 阅读 · 0 评论 -
操作系统学习笔记(20)--开中断、关中断及原子操作
操作系统在很多情况下,需要进行原子操作,此时是不可以进行中断响应的。根据需要此时需要关闭中断,在原子操作完了之后再进行开中断。 中断相关的操作有:1 知道EFFLAG的中断位2 中断开、关的指令3 如果进行C语言设置时的参数传递 下面给出部分伪码: 原子操作() { 开始原子操作(); 操作; 结束原子操作();}原创 2010-05-30 12:13:00 · 12449 阅读 · 0 评论 -
操作系统学习笔记(19)--贴一个内存设置的代码
void* memset(void* s, int c, size_t n){ unsigned char* p = (unsigned char*) s; while (n > 0) { *p++ = (unsigned char) c; --n; } return s;}原创 2010-05-29 22:35:00 · 826 阅读 · 0 评论 -
操作系统学习笔记(18)--bss段设置
bss段需要填充为0 #include "stdio.h"extern char __bss_start, end;int main() {printf("bss start %x /n", &__bss_start);printf("bss end %x /n", &end);printf("bss start %x /n", __bss_star原创 2010-05-29 21:50:00 · 1816 阅读 · 1 评论 -
逻辑地址、线性地址、物理地址
物理地址从线性地址获得和分页机制获得,或者直接获得。线性地址从逻辑地址和段获得原创 2010-05-28 22:38:00 · 588 阅读 · 0 评论 -
操作系统学习笔记(22)--全局描述符表
在保护模式下访问内存步骤:1 获取段选择子2 根据GDTR寄存器获得基地址3 和偏移地址结合获得线性地址 与内存有关的描述符 align 8, db 0 (内存对齐) GDT: ; Descriptor 0 is not used dw 0 dw 0 dw 0 dw 0 ; Descriptor 1: kernel code segment原创 2010-05-30 18:08:00 · 1298 阅读 · 0 评论 -
操作系统学习笔记(17)--获取Main位置
还是使用前面的下列代码#include "stdio.h"#include "test.h"int main() { printf("this is a test. /n"); PAUSE(1000); printf("this is second test. /n"); KASSERT(1==1); printf("this is 3 test. /n")原创 2010-05-28 21:32:00 · 933 阅读 · 1 评论 -
操作系统学习笔记(25)--内核堆设置
1 设置内核堆开始位置2 设置堆大小填充内存原创 2010-06-01 20:57:00 · 746 阅读 · 0 评论 -
操作系统学习笔记(31)--初始化键盘
键盘处理也是中断响应。键盘有键盘映射码和特殊键处理。基本思想还是中断和进程调度执行和输入输出及缓冲区的关系。原创 2010-06-01 22:33:00 · 1157 阅读 · 0 评论 -
操作系统学习笔记(33)--文件系统
初始化文件系统并装载文件系统根据启动时的根目录和文件结构进行初始化操作。原创 2010-06-02 07:20:00 · 1009 阅读 · 1 评论 -
JavaEE程序员必读图书大推
下面是我根据多年的阅读和实践经验,给您推荐的一些图书:第一部分: Java语言篇1 《Java编程规范》 星级: 适合对象:初级,中级 介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下。对基础讲解的很不错。2 《Java核心技术:卷Ⅰ基础知识》 星级: 适合对象:初级,中级 介绍:官方机构图书,你怎么也得原创 2011-09-18 15:21:49 · 31513 阅读 · 42 评论 -
ssh登录
在fedora下,很奇怪的问题,修改为600就可以。http://www.dbathinking.com/?p=69ssh -v localhost date可查看详细信息另外:var/log/secure可查看安全日志原创 2011-09-05 19:17:07 · 836 阅读 · 0 评论 -
访问虚拟机web应用程序
使用cmd Ping通虚拟机下面的需要root权限iptables -Fiptables -P INPUT ACCEPT即可。参考下面的文章:http://bbs.chinaunix.net/thread-2097196原创 2011-09-05 23:05:21 · 1262 阅读 · 0 评论 -
操作系统学习笔记(42)--感悟
<br />学了一段时间的操作系统源代码,自己写些感受。<br /> <br />操作系统不是想象的那样深不可测,按照系统的启动过程是可以理解的。所以有时候有人认为Linus不是像你想象的那样伟大是有道理的,感觉Stallman,Kernighan、Ritchie、Gosling等比他NB点。<br /> <br />操作系统是按照CPU的指令执行的,我们写操作系统是对计算机体系结构和指令结构按照图灵机的理论进行运行。<br /> <br />怎样将运算结果进行存储和进程调度是操作系统的2个核心问题。其它的原创 2010-06-08 20:59:00 · 3575 阅读 · 6 评论 -
操作系统学习笔记(41)--系统学习大纲
参考文献Linux.Kernel.Development.2nd.Edition. Robert LoveUnderstanding.The.Linux.Kernel Daniel P. Bovet & Marco Cesati汇编语言 王爽80X86汇编语言程序设计教程 杨季文C程序设计语言 Kernigham & Ritchie操作系统设计与实现 Andrew S. Tanenbaum & Albert S. Woodhull数据结构 严蔚敏L原创 2010-06-08 20:32:00 · 2209 阅读 · 0 评论 -
操作系统学习笔记(40)--Shell程序
shell程序: while(true) { 对读入的数据进行处理 对读入的数据进行命令处理 比较是否是特殊命令,是进行处理,比如pid,exit等 根据命令处理进程}原创 2010-06-07 20:36:00 · 1206 阅读 · 0 评论 -
STL使用
在linux下,默认gcc可以使用stl库原创 2010-06-06 11:36:00 · 999 阅读 · 0 评论 -
操作系统学习笔记(35)--创建新进程并调度
新进程创建:1 初始化内存,分配内存页面2 初始化内核进程然后通过进程调度器调度运行原创 2010-06-03 22:29:00 · 1631 阅读 · 0 评论 -
操作系统学习笔记(37)--中断处理过程
中断处理过程: 首先必须开中断1 ....2 发生中断3 跳转到中断处理程序4 中断处理(现在操作系统分上、下部分处理,上部分是立刻响应,下部分可以延迟响应)5 是否其他操作6 返回原创 2010-06-04 23:26:00 · 2795 阅读 · 1 评论 -
操作系统学习笔记(36)-CRC码
<br />循环校验码在验证数据方面作用,使得CRC算法在操作系统中有用。<br /> <br />原创 2010-06-04 20:54:00 · 882 阅读 · 0 评论 -
操作系统学习笔记(39)--VFS
Linux系统在文件系统中提供了一层虚拟文件系统。这是文件系统的抽象层,所有的文件系统应该实现该抽象层的基本操作,比如open、close等。该抽象层通过统一的接口供外界调用。具体的实现是一个void* 函数来进行抽象的。原创 2010-06-06 15:55:00 · 992 阅读 · 1 评论 -
操作系统学习笔记(38)--ELF可执行格式
Linux使用ELF格式作为可执行文件的组织形式。 ELF有自己的详细规则。 对应的数据结构如下:原创 2010-06-05 19:56:00 · 1302 阅读 · 1 评论 -
操作系统学习笔记(30)--设置时钟
时钟处理,保护时钟中断处理和定时切换进程、时钟度量等。原创 2010-06-01 22:31:00 · 931 阅读 · 0 评论 -
操作系统学习笔记(29)--初始化Trap
和中断处理类似1 写Trap处理函数2 在Trap号中添加该函数地址原创 2010-06-01 22:30:00 · 1442 阅读 · 0 评论 -
操作系统学习笔记(26)--TSS初始化
TSS初始化需要在GDT初始化完成后进行。原创 2010-06-01 21:57:00 · 2969 阅读 · 0 评论 -
操作系统学习笔记(12)--代码地址
00011388 t Add_Digit00012570 t Add_Page_Range00014d5e t Add_To_Back_Of_All_Thread_List00015096 t Add_To_Back_Of_Thread_Queue00016978 t After_Err00016908 t After_No_Err000128fc T Alloc_Page00012bdc T A原创 2010-05-25 23:20:00 · 1770 阅读 · 0 评论 -
操作系统学习笔记(11)--makefile的$@
$@ The file name of the target. 实例: # Standard floppy image - just boots the kernelfd.img : geekos/fd_boot.bin geekos/setup.bin geekos/kernel.bin cat geekos/fd_boot.bin geekos/setup.bin gee原创 2010-05-25 23:06:00 · 698 阅读 · 0 评论 -
SED使用
处理文本的小工具 今天看了一下SED,一般用不到,不过看到有时候AWK无法处理的情况需要用到所以看了看。也明白了为什么Shell Bible为什么会同时介绍SED和AWK了。原创 2010-03-08 19:54:00 · 754 阅读 · 0 评论 -
AWK使用
使用AWK进行文件处理,方便阅读和对Shell脚本的结果进行整理,进行输出,方便阅读等。 AWK以行为处理单位 推荐阅读: http://www.gnu.org/manual/gawk/gawk.html原创 2010-03-04 19:31:00 · 639 阅读 · 0 评论 -
推荐一本Shell的书吧
Linux命令行和bash脚本编程圣经 Linux Command Line And Shell Scripting Bible 学习Linux Shell的经典之作原创 2009-12-21 21:39:00 · 1061 阅读 · 0 评论 -
geekos项目project1代码
geekos project1: 解析ELF文件格式: int k; // begin from head elfHeader* elfHead = (elfHeader*)exeFileData; // program header table, + offset from elfHead programHeader *pr原创 2010-02-08 22:02:00 · 2901 阅读 · 0 评论