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