linux
文章平均质量分 56
xizmi
这个作者很懒,什么都没留下…
展开
-
linux0.11学习笔记(1)
linux 入门学习笔记原创 2014-10-29 21:19:59 · 790 阅读 · 0 评论 -
linux内核学习- 字符设备块设备uart rs232(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
属于kernal核心,分别在子文件夹中实现,其他部分如工具文件,文件系统,等不再赘述原创 2015-04-21 15:52:44 · 846 阅读 · 0 评论 -
linux内核学习-6信号量(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
#include // 调度程序头文件,定义了任务结构task_struct、初始任务0 的数据,// 还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句。8 #include // 内核头文件。含有一些内核常用函数的原形定义。9 #include // 段操作头文件。定义了有关段寄存器操作的嵌入式汇编函数。1011 #include // 信号头文件。定义信号符号常量,信号结构以及信号操作函原创 2015-04-21 11:57:23 · 942 阅读 · 0 评论 -
linux内核学习-4kernal目录(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
该目录下的代码文件从功能上可以分为三类,一类是硬件(异常)中断处理程序文件,一类是系统 调用服务处理程序文件,另一类是进程调度等通用功能文件。参见图1.5。我们现在根据这个分类方式, 从实现的功能上进行更详细的说明。 5.1.1.1 硬件中断处理类程序 主要包括两个代码文件:asm.s 和traps.c 文件。asm.s 用于实现大部分硬件异常所引起的中断的汇 编语言处理过程。而trap原创 2015-04-21 10:34:46 · 1005 阅读 · 0 评论 -
linux内核学习-3 main.c(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
在整个内核完成初始化后,内核将执行权切换到了用户模式,也即CPU 从0 特权级切换到了第3 特 权级。然后系统第一次调用创建进程函数fork(),创建出一个用于运行init()的子进程。 在该进程(任务)中系统将运行控制台程序。如果控制台环境建立成功,则再生成一个子进程,用 于运行shell 程序/bin/sh。若该子进程退出,父进程返回,则父进程进入一个死循环内,继续生成子进 程,并在此原创 2015-04-21 09:51:41 · 537 阅读 · 0 评论 -
linux内核学习-3 fork()函数(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
fork 是一个系统调用函数。该系统调用复制当前进程,并在进程表中创建一个与原进程(被称为父 进程)几乎完全一样的新表项,并执行同样的代码,但该新进程(这里被称为子进程)拥有自己的数据 空间和环境参数。 在父进程中,调用fork()返回的是子进程的进程标识号PID,而在子进程中fork()返回的将是0 值, 这样,虽然此时还是在同样一程序中执行,但已开始叉开,各自执行自己的那段代码。如果f原创 2015-04-21 10:22:11 · 525 阅读 · 0 评论 -
linux内核学习-5任务调度(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
void schedule(void) 105 { 106 int i,next,c; 107 struct task_struct ** p; // 任务结构指针的指针。 108 109 /* check alarm, wake up any interruptible tasks that have got a signal */ /* 检测alarm(进程的报警定时值),唤醒任何原创 2015-04-21 11:43:11 · 734 阅读 · 0 评论 -
linux内核学习-3 init函数(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
void init(void) 169 { 170 int pid,i; 171 172 setup((void *) &drive_info); // 读取硬盘参数包括分区表信息并建立虚拟盘和 // 安装根文件系统设备。(kernel/blk_drv/hd.c,71) 173 (void) open("/dev/tty0",O_RDWR,0); // 用读写访问方式打开设备“/dev原创 2015-04-21 10:17:58 · 651 阅读 · 0 评论 -
linux内核学习-3 main函数(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
#ifdef RAMDISK // 如果定义了虚拟盘,则主内存将减少。 124 main_memory_start += rd_init(main_memory_start, RAMDISK*1024); 125 #endif // 以下是内核进行所有方面的初始化工作。阅读时最好跟着调用的程序深入进去看,实在看 // 不下去了,就先放一放,看下一个初始化调用 -- 这是经验之谈☺。 12原创 2015-04-21 10:07:35 · 674 阅读 · 0 评论 -
linux内核学习-宿主机为linux、windows分别实现VMware三种方式上网(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
宿主机为linux、windows分别实现VMware三种方式上网 一、VMware三种方式工作原理 1 Host-only连接方式 让虚机具有与宿主机不同的各自独立IP地址,但与宿主机位于不同网段,同时为宿主主机新增一个IP地址,且保证该IP地址与各虚机IP地址位于同一网段。最终结果是新建了一个由所有虚机与宿主主机所构成的局域网,但该局域网与宿主主机本身所处的现有局域网是相互独立的转载 2015-04-23 18:08:31 · 666 阅读 · 0 评论 -
linux0.11学习笔记(2)
makefile文件: make 程序是使用Makefile数据文件和代码文件的最后修改时间(last-modification time)来确定那些文件需要进原创 2014-10-29 22:26:53 · 628 阅读 · 0 评论 -
linux内核学习-7重要函数(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
该程序主要描述了进程(任务)终止和退出的处理事宜。主要包含进程释放、会话(进程组)终止 和程序退出处理函数以及杀死进程、终止进程、挂起进程等系统调用函数。还包括进程信号发送函数 send_sig()和通知父进程子进程终止的函数tell_father()。 释放进程的函数release()主要根据指定的任务数据结构(任务描述符)指针,在任务数组中删除 指定的进程指针、释放相关内存页并立刻让内原创 2015-04-21 12:12:41 · 520 阅读 · 0 评论