资源描述:
《os2-2操作系统经典课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、概述Linux系统发展Linux的硬件要求Linux的安装操作系统的安装概念Linux的深入使用系统调用Shell命令四.LINUX操作系统1.概述Linux的内核有两种:稳定的内核、开发的内核。版本号:主版本号.次版本号.修正次数如kernel2.2.6表示对内核2.2版本的第6次修正版。稳定内核的次版本号为偶数,如2.2.6而开发内核所用的则是奇数,如2.3.6Linux是自由软件用户与Linux的接口:shell命令、系统调用软件发展的两种模式Linux系统发布方式有多种Linux系统发布方式(即有多种Lin
2、ux安装方式)Linux软件以只读光盘的形式发布。通过FTP下载Linux发布Linux的不同名字和公司RedHatSoftware发行的RedHatLinux由SoftwareinthePublicInterest,Inc.发行的DebianLinux由WorkGroupSolutions,Inc.发行的LinuxPro由Trans-Ameritech发行的Trans-AmeritechLinuxware中科院软件所发行的红旗Linux蓝点软件技术有限公司发行的蓝点LinuxLinux的硬件要求Linux对计算机
3、硬件的要求并不高。由于Linux本身是Linux用户通过Internet共同开发的产物,因此它所支持的大部分硬件都是普通用户和开发人员已经拥有的或很容易得到的。以IBMPC及其兼容机为例主板支持ISA、VLB、EISA和PCI总线结构的系统主板CPU支持IntelPentium系列,386或以上内存要求2MB以上(RedHat8MB)显示卡对文本方式,几乎可用所有显示卡声卡支持几乎所有声卡网卡支持各种通用的以太网卡以及局域网适配器2.操作系统的安装因为硬盘是PC机的固定外部存储设备,从硬盘上加载程序到内存很方便。另
4、外,操作系统中的文件系统主要是靠硬盘提供物理支持,安装操作系统到硬盘,实际上有两方面的作用:一是在硬盘上建立文件系统,二是把操作系统的全部内容事先存放在硬盘上以便往内存中加载操作系统核心程序时使用。把存放在光盘上的Linux执行代码存入硬盘的过程操作系统安装过程光盘硬盘CPU内存安装加载安装OS是指在硬盘上建立文件系统,并将操作系统可执行代码从其他外部介质移动到硬盘上存放的过程。当使用计算机时,从硬盘上加载操作系统到内存,然后将控制转给操作系统内核执行。建立硬盘分区每个操作系统占用一分区分区的各种情况硬盘还有未分区
5、空间硬盘还有未使用分区所用分区上还有未使用空间建立分区删除已有分区,建立新分区重新分区重新分区(a)重新分区之前(b)重新分区之后破坏性重新分区(a)原有分区(b)压缩原有数据 (c)建立新分区非破坏性重新分区系统调用Shell3.Linux的深入使用预处理宏指令增加新的系统调用常用的系统调用命令Shell执行机制Shell编程常见的Shell命令close关闭文件dup复制打开文件的描述符exit(intstatus)终止进程execl执行文件fork()创建子进程open为读/写打开文件Pipe建立进程间
6、的通道read读文件write写文件系统调用:常用的系统调用命令pipeintpipe(fildes);intfildes[2]建立进程间的通道,返回两个描述:fildes[0]用于读管道。fildes[1]用于写管道。closeclose(fildes);intfildes;关闭文件描述符dupintdup(fildes);复制文件描述符,成功则返回新的文件描述符,是最低有效文件描述符,失败则返回-1。intfildes;从某个creat,open,dup,fcntl,或者pipe得到的文件描述符。exitvoi
7、dexit(status)intstatus;在调用进程中的所有打开的文件描述符统统被关闭。如果调用进程的父进程正在执行一个wait,那么通告它调用进程的结束并使得status的低八位有效,即0377如果调用进程的父进程不是正在执行wait,那么调用进程被变换成“已经僵死”的进程,即仅占用进程表一个槽的进程,用户空间和核内空间都为分给该进程。execlexecl(path,arg0,arg1,…,argn,(char*)0);char*path,*arg0,*arg1,…,*argn;执行一个文件,成功则用path
8、文件覆盖当前调用者文件,失败则有返回。fork()intfork();建立子进程返回值:0子进程返回〉0父进程返回的子进程标识符pid-1进程创建失败open#includeintopen(path,oflag[,mode])char*path;//文件路径intoflag,mode;//状态标志readintread(fildes,buf