Linux编程基础(一)

Linux包含两层含义:

第一层是Linux内核 内核并不是真正意义上的操作系统,内核负责把电脑的各种硬件驱动起来

第二层才是真正意义上的操作系统,在Linux内核的基础上,加上gnu软件形成的Linux发行版本,这才是真正意义上的操作系统 

User Space:用户空间,用户应用程序执行的地方

Kernel Space:内核空间,调动硬件并且通过系统调用与用户空间实现链接,他们共同组成了一个完整的Linux系统,即GUN Linux

Linux整体架构

Linux内核只是Linux操作系统的一部分,对下,他管理所有的硬件设备;对上。通过系统调用。向Library Routine或者其他应用程序提供接口

Library Routine:程序库程序 (例如C库)

Linux内核核心功能:管理硬件设备,供应用程序使用

Linux内核5个子系统:

Process Scheduler:进程管理、进程调度。负责管理CPU资源,以便让各个进程可以以尽量公平的方式访问CPU。

Memory Manager:内存管理,负责管理Memory(内存)资源,以便让各个进程可以安全共享机器的内存资源。

另外,内存管理会提供虚拟内存的机制,该机制可以让进程使用多于系统可用Memory的内存,不用的内存会通过文件系统保存在外部非易失存储器中,需要使用的时候,再取回到内存中。

VFS(Virtual File System):虚拟文件系统。Linux内核将不同功能的外部设备,例如Disk设备(硬盘、磁盘、NAND Flash、Nor Flash等)、输入输出设备、显示设备等等,抽象为可以通过统一的文件操作接口(open、close、read、write等)来访问。这就是Linux系统“一切皆是文件”的体现Network,网络子系统。负责管理系统的网络设备,并实现多种多样的网络标准。

Network:网络子系统。负责管理系统的网络设备,并实现多种多样的网络标准。

IPC(Inter-Process Communication):进程间通信。IPC不管理任何的硬件,它主要负责Linux系统中进程之间的通信。

1.进程调度与内存管理之间的关系:这两个子系统互相依赖。在多道程序环境下,程序要运行必须为之创建进程,而创建进程的第一件事情,就是将程序和数据装入内存。

2.进程间通信与内存管理的关系:进程间通信子系统要依赖内存管理支持共享内存通信机制,这种机制允许两个进程除了拥有自己的私有空间,还可以存取共同的内存区域。

虚拟文件系统与网络接口之间的关系:虚拟文件系统利用网络接口支持网络文件系统(NFS),也利用内存管理支持RAMDISK设备。

3.内存管理与虚拟文件系统之间的关系:内存管理利用虚拟文件系统支持交换,交换进程(swapd)定期由调度程序调度,这也是内存管理依赖于进程调度的惟一原因。当一个进程存取的内存映射被换出时,内存管理向文件系统发出请求,同时,挂起当前正在运行的进程。

4.除了这些依赖关系外,内核中的所有子系统还要依赖于一些共同的资源。这些资源包括所有子系统都用到的例程,如分配和释放内存空间的函数、打印警告或错误信息的函数及系统提供的调试例程等。

Linux基础知识

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值