浙大linux远程教学听课笔记(宋广华讲授)第13-14讲2
声明:是根据视频教程听的笔记还有做了一些摘要,^_^,无意侵犯版权,哈哈,如果有影响请作者告知,马上删除。以下是我--云瑞的笔记,保留一切权力。转载请注明出处。禁止转载到非凡论坛!极端鄙视该论坛的垃圾管理员!
由于11-12的视频源文件损坏,先放出13-14讲。
linux内核结构与进程管理
linux系统结构:
用户进程。
OS服务层:System Call Interface(POSIX.1),shell,GUI,Compoler,Library,etc.
linux内核层:Linux kernel: 开放源代码的linux操作系统内核。以及设备驱程和modules以及接口。
硬件层。
linux源代码完全开放。体系结构开放,能适应较广的硬件平台。
linux内核组成
1进程调度程序(SCHED),负责控制访问CPU.保证执行一些必要的硬件操作。
2内存管理程序(MM),使多个进程安全共享机器的主存系统,并支持虚拟内存
3虚拟文件系统(VFS),通过VFS访问不同的文件系统。
4网络接口(NET)提供对许多建网标准及网络硬件的访问。
5进程间通信(IPC)子系统为进程间的通信提供了一些机制。
这些子系统功能相对独立,存在较强的依赖性。linux内核是单块结构(monolithic)的,而win是微内核(microkernel)的。
linux启动流程:
1从bios到kernel
MER-KERNEL-KERNEL自解压-内核初始化-内核启动(start_kernel函数。在linux内核源代码树的/usr/scr/linux/ini/mail.c中)
2内核启动:创建1#进程并执行,由它创建若干内核线程(kernel thread)然后装入并执行程序/sbin/ini(变成一个用户进程)。init根
据/etc/inittab 配置文件来执行相应的脚本进行系统初始化。在/etc/inittab中指定了系统的运行级别(runlevel),init根据运行级别启动相
关的服务,以实行不同的功能。
运行级别:0 halt1 单用户 2 多用户 3 多用户并启动NFS服务4保留 5运行xdm(X window)以图形界面方式登录 6 reboot
linux用户登录流程见视频教程或PPT。
linux进程的四要素
程序
PCB(进程控制块):进程创建时内核为其分配的一个核心数据结构,进程自身不能直接读取。
地址空间
系统堆栈空间:进程运行在核心态时使用的堆栈和PCB连在一起,共8KB,其中PCB约占1000字节,系统堆栈空间约占7200字节。
linux进程个数有最大值限制(4092)。2.4版本一会进程数首限于系统的内存数。即,PCB及系统堆栈占用的空间<=1/2的物理内存总和。例如64M
内存:进程<=64M/2/8=4K
PCB中的重要信息:
身份信息:pid,uid,gid,euid,egid等。
状态信息:running,interruptible,non-interruptible,stopped,zombie
调度信息:policy,priority,rt-priority,need_resched
policy----进程的类别,分SCHED_FIFO,SCHED_RR,SCHED_OTHER三种,前两种为实时进程,后一种为非实时进程
IPC信息:进程间的消息
家族信息:父进程,子进程,兄弟进程信息
时钟好玩定时信息
文件系统
存储管理