浅谈Iinux系统的机制摘要:随着时下的发展,操作系统也是一种人机交互的实质。根据Linux系统工作基础的分析,对存储程序计算机、堆栈(函数调用堆栈)机制和中断机制进行概述。文中将为您提供操作系统(内核)如何工作的细节,进一步从宏观概述结合关键点进行微观分析。Linux是一种自由和开放源码的类Unixos,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、人型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格來讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。Abstract:Withthedevelopment,theoperatingsystembecomesarealhuman-computerinteraction.DependingonlheanalysisofworkingbaseofLinuxsystem,thestoredprogramcomputer,stack(functioncallstack)mechanismandinterruptmechanismsareoverviewed.Thispaperwil1providethedetaiIsofoperatingsystem(kernel)working,andfurthermakemicroscopicanalysisfrommacrooverviewandwithkeypoints・LinuxisaclassUnixoswith---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---freeandopensource,andtherearemanydifferentLinuxversions,buttheyallusetheLinuxkernel.Linuxcanbeinstalledonavarietyofcomputerhardwaredevices,suchasmobilephones,tabletcomputers,routers,videogameconsoles,desktopcomputers,mainframesandsupercomputers.Linuxisaleadingoperatingsystemandtheworld,sfastest10supercomputersarerunningwiththeLinuxoperalingsystem.Strictlyspeaking,LinuxonlymeanstheLinuxkernel,butinfactithasbeenusedtodescribetheentireLinuxkernclanduseavarietyoftoolsanddatabaseofGNUproject・关键词:lirmx;unix;系统Keywords:linux;unix;system:TP316文献标识码:A:1006-4311(2013)23-0191-031存储计算机首先让我们了解一下,什么是存储程序计算机,并对存储程序计算机的整个运行过程及所需的硬件组件进行简单介绍。图1是程序存储计算机的物理框架,主要包含CPU(包含各类寄存器,如程序寄存器,指令寄存器等),主存,1/0设备,一个最简单的的程序存储计算机只需要以下部件來完成计算机工作:主存,也就是我们普通PC上内存,用于存储指令和数据处理器,用于执行算术和逻辑操作控制单元,解析需要操作的指令集。程序存储在计算机主存当中,并以数据的形式被CPU访问和读写,程序中各条指令都被获取并放到一个EIP寄存器,EIP寄存器中数据控制整个处理单元的运行,取“下一条”指令,继续运行。在Linux系统中,一般同时会有几个程序一起运行,运行过程中这些程序的都存储在主存中,而CPU只会在同一时间内运行其中优先级较高的某一个,并根据优先级顺序不断的切换多个进程运行,使得计算机操作者会有多个程序同时运行的错觉。在存储程序计算机中,最重耍的部分就是多个进程---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---的切换,是什么控制着进程间的切换,如何保证进程切换过程中能够使得多个进程运行时不发生混乱,这一切都是由Linux内核控制的,下面我们深入解Linux内核的在进程切换时的工作机制。先看调度的方式。由于调度时机发牛时进程在进入了内核态这样,内核必须等待该进程即将结束内核态时才进行切换操作,而进程如果正在用户态时则切换工作会立即执行,所以,一般进程调度发生在当前进程从内核态(包括从系统调用而进入内核态)返冋用户态的前夕。至于调度的政策,均按照前面所提到的以优先级为基础的调度。针对不同的进程有不同的调度政策,主要有SCHED_FIFO,SCHED_RR,SCHED_OTHER(源码集中在kernel\sched目录下),其中FIFO适用于时间性耍求比较高的进程,而RR针对时间片耗尽的进程,山于没有研究过源码这里不做详细描述。当切换进程己经选好后,就开始用户虚拟空间的处理,然后就是进程的...