首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux的一个进程调度周期内新加入进程的处理机制分析

    最近在研究Linux的短程调度(进程调度包括长程调度、中程调度和短程调度,详见参考博客1)相关的算法和调度器,由参考博客1可知,短程调度的主要任务是按照某种策略和算法将处理机分配给一个处于就绪状态的进程,分为抢占式和非抢占式。中程调度(又叫中级调度)的主要任务则是按照给定的原则和策略,将处于外存交换区中的就绪状态或等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。长程调度(又叫高级调度)的主要任务则是将已进入系统并处于后备状态的作业按某种算法选择一个或一批,为其建立进程,并进入主机,装入内存;当该作业执行完毕时,负责回收系统资源。如下图所示:

    03

    Linux 进程管理

    Linux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用同一个linux系统;多任务是指在Linux下可以同时执行多个任务,更详细的说,linux采用了分时管理的方法,所有的任务都放在一个队列中,操作系统根据每个任务的优先级为每个任务分配合适的时间片,每个时间片很短,用户根本感觉不到是多个任务在运行,从而使所有的任务共同分享系统资源,因此linux可以在一个任务还未执行完时,暂时挂起此任务,又去执行另一个任务,过一段时间以后再回来处理这个任务,直到这个任务完成,才从任务队列中去除。这就是多任务的概念。 上面说的是单CPU多任务操作系统的情形,在这种环境下,虽然系统可以运行多个任务,但是在某一个时间点,CPU只能执行一个进程,而在多CPU多任务的操作系统下,由于有多个CPU,所以在某个时间点上,可以有多个进程同时运行。 进程的的基本定义是:在自身的虚拟地址空间运行的一个独立的程序,从操作系统的角度来看,所有在系统上运行的东西,都可以称为一个进程。

    01

    Ubuntu 文件系统的概括

    1.根目录   根目录,即整个文件系统的逻辑终点,用“/”表示 2.一级目录   */bin 包含普通用户和系统、系统管理员可以共享的各种通用程序,如bash、dd、df、gzip、grep、mv和mkdir等常用的基本命令   */boot 包含系统引导程序GRUB及其配置文件、Linux内核文件vmlinuz和磁盘内存映像文件initrd.img等重要引导文件   */dev 包含系统支持的所有设备文件。具体来说,console表示系统控制台,lp0表示打印机,mem表示系统的物理内存,sda表示连接到主控之气上的第一个磁盘,sda1和sda2等则分别表示其中的第一个和第二个磁盘分区,ttyXX表示系统的串口设备等  */etc 包含系统管理和维护方面的所有配置文件,如host.conf、resolv.conf、sysctl.conf和syslog.conf等。此外,还有大量的配置文件分别为与单独的子目录中。需要注意的是,要定期使用Backups备份工具备份这个目录中的重要配置文件,以便需要时能够快速地恢复系统   */home 包含所有普通用户的家目录。每增加一个新用户,系统将会在/home目录中创建一个和用户名相同的子目录作为该用户的家目录  */lib 包含系统引导过程,以及运行系统命令所需要的内核模块和各种动态链接共享库文件(扩展名为.so,类似于Windows系统中的.dll文件)  */lost+found 每个文件系统分区都存在一个lost+found目录,用于存储fsck命令在检测与dufus文件系统时删除的文件和目录   */media 包含移动存储介质(移动硬盘或U盘)的挂载点,如插入U盘,系统将会自动将U盘挂载在此目录下的某个子目录中  */mnt 包含所有自定义的文件系统的挂载点,可以挂载任何文件系统,如NFS或CIFS网络文件系统  */opt 应用程序等附加软件的安装目录,类似于Windows系统中的Program Files目录  */proc 虚拟文件系统,系统关闭时为空目录,系统运行时进程文件系统根目录,其中的部分文件分别对应当前正在运行的进程,可用于访问当前进程的地址空间   */root 超级用户root的家目录  */sbin 包含超级管理员的常用工具,如管理和维护、系统引导和修复命令集合  */srv 分担了/var目录的一些功能,保存一些网络服务所用的数据文件   */sys 和proc一样是虚拟目录,系统各种设备配置信息的根目录,如block子目录中含有磁盘及磁盘分区的配置信息  */tmp 临时文件目录,用于存储系统运行过程中生成的临时文件,也可以供用户存储自己的临时文件。需要注意的是,只有文件的创建者才能删除相应的文件  */usr 此目录既可以作为根目录下的一个子目录,其中保存系统提供的各种共享数据(如用户命令、库函数、头文件和文档等),又可以作为一个单独的文件系统,可以认为是对根目录的一个递归目录,使得文件系统具有更大的灵活性  */var 该目录和/usr目录类似,首先是根目录下的一个子目录,也可作为一个单独的文件系统,用于存储各种可变长的数据文件(如日志文件)、暂存文件或待处理的临时文件等 3.重要的二级目录   */boot/grub 其中存有GRUB配置文件,以及3种不同的初始引导程序等  */etc/apt 其中包含软件管理工具使用的配置文件,如sources.list等  */etc/cron.d 用于存储corn进程调度与运行后台程序所用的配置和控制文件。其他有关的目录包括:corn.hourly、corn.daily、corn.weekly和corn.monthly4个目录  */etc/init.d 用于存储系统启动过程中需要由init调度执行的脚本文件  */etc/network 其中包含网络接口的配置文件interface,以及相关的配置工具  */etc/X11 其中包含X服务器使用的各种配置文件,如xorg.conf等  */usr/bin 其中包含用户经常使用的各种命令   */usr/include 用于存储各种C语言头文件。这个目录及其子目录中的头文件是C开发人员需要经常引用的文件。其中,sys、linux和bits等子目录中定义的数据结构,对于深入学习、理解和掌握Linux系统具有极大的参考价值  */usr/lib 其中包含各种共享的库函数,可供程序员以静态或动态的方式链接自己开发的应用程序   */usr/sbin 其中包含系统引导完成之后系统管理员经常使用的各种系统管理和维护命令  */usr/share 共享目录,其中包含man(联机文档的根目录)、info(GNU inf

    02
    领券