Linux的系统架构

Linux系统从应用角度来看,分为内核空间和用户空间两个部分。内核空间是Linux操作系统的主要部分,但是仅有内核的操作系统是不能完成用户任务。

 

一、 Linux内核的主要模块

 1.进程调度

      进程调度指的是系统对进程的多种状态之间转换的策略。Linux下的进程调度有3种策略:SCHED_OTHER、SCHED_FIFO和SCHED_RP。

 

      SCHED_OTHER是用于针对普通进程的时间片轮转调度策略。这种策略中,系统给所有的运行状态的进程分配时间片。在当前时间片用完之后,系统从进程中优等级最高的进程中选择进程运行。

      SCHED_FIFO是针对运行的实时性要求比较高、运行时间短的进程调度策略。这种策略中,系统按进入队列的先后进行进程的调度,在没有更高优先级进程到来或者当前进程没有因为等待资源而阻塞的情况下,会一直运行。

      SCHED_RR是针对运行的实时性要求比较高、运行经较长的进程调度策略。这种策略与SCHED_OTHER的策略类似,只不过SCHED_RR进程的优先级要高得多。 系统分配给SCHED_RR的进程时间片,然后轮循运行这些进程,将时间片用完的进程放入队列的末尾。

 

       Linux进程调度月票用的是“有条件可剥夺”的调度方式。普通进程中采用的是SCHED_OTHER的时间片轮循方式,实时进程可以剥夺普通进程。如果普通进程在用户空间运行,则普通进程立即停止运行,将资源让给实时进程vkjsuo通进程运行在内核空间,需要等系统调用返回用户空间后方可剥夺资源。

 

  2.内存管理MMU  

      内存管理是多个进程间的内存共享策略。在Linux系统中,内存管理的主要概念是虚拟内存。

      虚拟内存的分配策略是每个进程都可以公平地使用虚拟内存。虚拟内存的大小通常设置为物理内存的两倍。

 

  3.虚拟文件系统VFS

      在Linux下支持多种文件系统,如ext、ext2、minix、umsdos、msdos、vfat、ntfs、proc、smb、ncp、iso9660、sysv、hpfs、affs等。

 

   4、网络接口

      Linux是在Internet飞速发展的时期成长起来的,所以Linux支持多种网络接口和协议。网络接口分为网络协议和驱动程序。

 

   5、进程间通信

      Linux的进程间通信是从UNIX系统继承过来的。Linux下的进程间通信方式主要有管道方式、信号方式、消息队列方式、共享内存和套接字等方法。  

二、Linux的文件结构

      与Windows下的文件组织结构不同,Linux不使用磁盘分区符号来访问文件系统,而是将整个文件系统表示成树状的结构,Linux系统每增加一个文件系统都会将其加入到这个树中。

 

      不同的Linux发行版本的目录结构和具体的实现功能存在一些细微的差别。但是主要的功能都是一致的。一些常用目录的作用如下:

 

      /etc: 包括绝大多数Linux系统引导所需要的配置文件,系统引导时读取配置文件,例如fstab、host.conf等。

 

      /lib: 包含C编译程序需要的函数库,是一组二进制文件,例如glibc等。

 

      /usr: 包括所有其他内容,如src、local。Linux的内核就在/usr/src中。其下有子目录/bin,存放所有安装语言的命令,如gcc、perl等。

 

      /var:包含系统定义表,以便在系统运行改变可以只备份该目录,如cache。

 

      /tmp: 用于临时性的存储。

 

      /bin: 大多数命令存放在这里。

 

      /home: 主要存放用户账号,并且可以支持ftp的用户管理。系统管理员增加用户时,系统在home目录下创建与用户同名的目录,此目录一般认有Desktop目录。

 

      /dev: 这个目录下存放一种设备文件的特殊文件,如fd0、had等。

 

      /mnt: 在Linux系统中,它是专门给外挂的文件系统使用的,里面有两个文件cdrom、floopy,登录光驱、软件时要用到。

 

你可能感兴趣的:(linux,网络,网络协议,perl,internet,linux内核)