linux操作系统培训.ppt
《linux操作系统培训.ppt》由会员分享,可在线阅读,更多相关《linux操作系统培训.ppt(28页珍藏版)》请在课桌文档上搜索。
1、Linux操作系统培训,内容摘要,Linux基础 Linux常用操作命令 Linux设备管理Linux文件管理Linux进程调度Linux多线程编程Linux进程间通信,Linux基础,操作系统的概念操作系统是管理计算机系统资源(软件和硬件)资源的系统软件,它为计算机提供方便,有效,安全,可靠的工作环境。主要包括:进程管理,存储器管理,设备管理,文件管理,作业管理等。操作系统的分类。操作系统分为实时操作系统和非实时操作系统,又可以分为嵌入式操作系统和非嵌入式操作系统等。linux操作系统即可以作为准实时的操作系统使用,也可作为非实时操作系统使用,并且可以满足服务器操作系统的要求,在桌面操作系统
2、领域也得到较大的发展。所以,linux操作系统已经渗透到嵌入式领域、服务器领域、个人pc领域,成为目前应用领域最广的一种操作系统。,Linux基础,Linux系统的组成整个linux系统由内核、设备驱动、各种运行时的库、shell及应用程序等组成。Linux的启动过程。在硬件上电之后,首先会有一个自举程序运行(在嵌入式领域成为loader,在pc中成为bios),然后自举程序在初始化必要的硬件(例如内存)之后将linux内核读取到内存中,然后跳转到内核的开始位置运行linux内核.linux内核在进行必要的初始化设置工作和挂载根文件系统之后,会启动文件系统中的一个程序作为系统中的第一个进程,这
3、个进程就是大名鼎鼎的init进程,init进程会,然后运行etc目录下的对应的shell脚本文件。,Linux基础,Linux内核的作用 内核是Linux操作系统的核心,它负责系统的文件管理、设备管理、进程管理、存储管理、网络协议,直接决定着系统的性能和稳定性。linux的版本号 通常我们所说的linux的版本号,指的就是linux内核的版本号。版本号由三部分组成主版本号、次版本号、末版本号。例如:2.6.19 2为主版本号、6为次版本号、19为末版本号。同时可以通过版本号来确定linux的版本是稳定版本还是开发版本(次版本号奇数为开发版本,偶数为稳定版本)。,Linux常用操作命令,Linu
4、x常用操作命令,Linux设备管理,Linux上层应用与实际设备的关联Linux对于设备的管理是通过设备驱动程序来进行管理,采用设备文件的方式进行关联。每个设备文件都有设备类型,主设备号、次设备号,在驱动程序中会注册这些设备号。这样当上层应用程序操作设备文件时,就会将请求通过Linux操作系统调用传递到驱动程序中,驱动程序控制硬件设备完成相应的操作。Linux设备文件一般在/dev目录下面。例如如下设备文件:crw-rw-1 root uucp 4,64 12月 8 09:57/dev/ttyS0是指/dev/ttyS0为字符型设备,主设备号为4,次设备号为64。其实这就是linux系统中的串
5、口1的设备文件。我们打开这个设备文件,然后写入数据,我们写入的数据就会从串口发送出去,我们读入数据,就会读取到从串口收到的数据。如果我们想控制串口的速率、校验位、码位的长度,我们只需要调用ioctl函数,然后传入相应的数据就可以了。,Linux文件管理,Linux系统中使用的文件类型目前linux采用的文件系统有ext3文件系统,但是在嵌入式linux操作系统中更多的使用的是jffs2,yaffs和nfs网络文件系统。Jffs2文件系统是专为nor flash设计的文件系统,考虑到了nor flash的许多特性,同时具有压缩性能,一般可以达到2:1的压缩效果,但是在用于大于128Mbytes的
6、flash时,效果不是太好。Yaffs文件系统是专为nand flash设计的文件系统,考虑到了nand falsh的许多的特性,但是不具有压缩性能,但其加载速度较快,使用于大容量存储的场合。除去以上文件类型的不同之外,linux提供统一的api操作函数,来实现对文件系统的管理。另外,在linux中,在对一个设备上的文件进行操作时,需要首先挂载这个设备到文件系统中,才能操作这个设备上的文件。在linux内核启动时,会默认挂载一个文件系统,这个就是根文件系统,此后所有的文件系统都是基于这个文件系统进行挂载,同时也可以卸载,但是根文件系统是不能卸载的。挂载一个文件系统的命令如下:mount t y
7、affs/dev/mtdblock0/mnt意思是说,把文件类型为yaffs的mtdblock0上的文件系统挂载到/mnt目录下,Linux进程调度,Linux 调度算法 Linux 调度算法把CPU 的时间划分为时期(epoch)。在一个单独的时期内,每个进程有一个指定的时间片,时间片持续时间从这个时期的开始计算。一般情况下,不同的进程有不同大小的时间片。时间片的值是在一个时期内,分配给进程的最大CPU时间部分。当一个进程用完它的时间片时,这个进程被抢占,并用另一个可运行进程代替它。当然,在同一时期内,一个进程可以几次被调度程序选中(只要它的时间片还没用完),例如,如果进程挂起自己,等待I/
8、O,那么,它还剩余一些时间片,并可以在同一时期内再度被选中。当所有的可运行进程都用完它们的时间片时,一个时期才结束;在这种情况下,调度程序的算法重新计算所有进程的时间片,然后,一个新的时期开始。,Linux进程管理,Linux进程的优先级静态优先级(Static priority),这种优先级由用户赋给实时进程,范围从1 到99,调度程序从不改变它。动态优先级(Dynamic prority),这种优先级只应用于普通进程。实质上它是基本时间片由此也叫进程的基本优先级(base priority)与当前时期内的剩余时间片之和。当然,实时进程的静态优先级总是高于普通进程的动态优先级,只有当TASK
9、_RUNNING 状态没有实时进程时,调度程序才开始运行普通进程。,Linux进程管理,Linux进程的创建在Linux中要使用exec函数族。系统调用execve()对当前进程进行替换,替换者为一个指定的程序,其参数包括文件名(filename)、参数列表(argv)以及环境变量(envp)。exec函数族当然不止一个,但它们大致相同,在Linux中,它们分别是:execl,execlp,execle,execv,execve和execvp,下面我只以execlp为例,其它函数究竟与execlp有何区别,请通过manexec命令来了解它们的具体情况。一个进程一旦调用exec类函数,它本身就死
10、亡了,系统把代码段替换成新的程序的代码,废弃原有的数据段和堆栈段,并为新程序分配新的数据段与堆栈段,唯一留下的,就是进程号,也就是说,对系统而言,还是同一个进程,不过已经是另一个程序了。(不过exec类函数中有的还允许继承环境变量之类的信息。),Linux线程管理,使用线程的优点和进程相比,它是一种非常“节俭”的多任务操作方式(内存占用,启动时间,切换时间)和进程相比,线程间的通信更加方便。提高应用程序响应 使多CPU系统更加有效改善程序结构,复杂问题简单化,Linux线程管理,多线程的例子#include#include#include#include void thread(void)in
11、t i;for(i=0;i3;i+)printf(This is a pthreadn);usleep(100*1000);int main(void)pthread_t id;int i,ret;ret=pthread_create(,Linux线程管理,多线程的编译APP=threadTest$(APP):$(APP).cgcc-Wall-o$(APP)$(APP).c-lpthreadclean:rm$(APP),Linux进程间通信,Linux进程间通信的方法管道、消息队列、共享内存、信号量、套接口、信号,Linux进程间通信,管道管道包括无名管道和有名管道两种,前者用于父进程和子进程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 操作系统 培训
链接地址:https://www.desk33.com/p-242028.html