Liunx操作系统之操作系统组成与结构

写在前面

接触liunx快一年半的趴,接触知识总觉得是新事物。学习状态是很少关注原理,敲的命令也不少但遇到错误解决能力非常欠缺,即使一个框架搭建出来也是虚假的成就感。总结来说是急于求成,但成只是表面,这样看来真的该反思自己的学习方式了。这是很少的一次这么有耐心去接触操作系统相关知识,慢慢来,我是一直失落的咸鱼。( 。ớ ₃ờ)

系统架构

放一张网图说明:
在这里插入图片描述
Lib解释为库函数,System Call解释为系统调用,Kernel解释为内核。

操作系统的组成要素

操作系统 = 内核 + 系统程序
系统程序 = 编译环境 + API
编译环境 = 编译程序 + 连接程序 + 装载程序
API = 系统调用 + 语言库函数(C、C++、Java等等)
AUI = shell + 系统服务例程(如x服务器等)+ 应用程序(浏览器,字处理,编辑器等)
linux系统一般分为4个主要部分:内核、shell+库、文件系统和应用.
在这里插入图片描述

1.liunx内核

内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

部分组成:内存管理、进程管理、虚拟文件系统和进程之间通信,网络接口。如图:在这里插入图片描述
主要部分功能如下:

内存管理(MM)

内存管理。负责管理Memory(内存)资源,以便让各个进程可以安全地共享机器的内存资源。另外,内存管理会提供虚拟内存的机制,该机制可以让进程使用多于系统可用Memory的内存,不用的内存会通过文件系统保存在外部非易失存储器中,需要使用的时候,再取回到内存中。

进程管理(SCHED)

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

虚拟文件系统(Virtual File System,VFS)

Linux内核将不同功能的外部设备,例如Disk设备(硬盘、磁盘、NAND Flash、Nor Flash等)、输入输出设备、显示设备等等,抽象为可以通过统一的文件操作接口(open、close、read、write等)来访问。

进程间通信(IPC)

不管理任何的硬件,它主要负责Linux系统中进程之间的通信。

网络接口(NET)

提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。Linux 的网络实现支持 BSD 套接字,支持全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。

2.liunx Shell

Shell 是指一种应用程序,也可以说是命令解释器,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务

3.文件系统

在LINUX系统中有一个重要的概念:一切都是文件
文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。
在这里插入图片描述

虚拟文件系统(VFS)

Virtual File System这一层,正是用来解决上面提出的第二个问题,试想,当我们通过mkfs.xxx系列命令创建了很多不同的文件系统,但这些文件系统都有各自的API接口,而用户想要的是,不管你是什么API,他们只关心mount/umount,或open/close等操作。

所以,VFS就把这些不同的文件系统做一个抽象,提供统一的API访问接口,这样,用户空间就不用关心不同文件系统中不一样的API了。VFS所提供的这些统一的API,再经过System Call包装一下,用户空间就可以经过SCI的系统调用来操作不同的文件系统。
VFS所提供的常用API有:

mount(), umount() …

open(),close() …

mkdir() …
和文件系统关系最密切的就是存储介质,存储介质大致有RAM,ROM,磁盘磁带,闪存等。

4.应用程序

标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言,Window、办公套件、Internet工具和数据库等。

三大应用领域

1.Linux作为企业级服务器的应用
Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器、路由器等,不但使企业降低了运营成本,同时还获得了Linux系统带来的高稳定性和高可靠性,且无须考虑商业软件的版权问题。

2.嵌入式Linux系统应用领域
由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大的伸缩性,再加上它广泛支持大量的微处理体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备(路由器、交换机、防火墙,负载均衡器)到专用的控制系统(自动售货机,手机,PDA,各种家用电器),LINUX操作系统都有很广阔的应用市场。特别是经过这几年的发展,它已经成功地跻身于主流嵌入式开发平台。

3.个人桌面Linux应用领域
所谓个人桌面系统,其实就是我们在办公室使用的个人计算机系统,例如:Windows xp、windows 7、Mac等。Linux系统在这方面的支持也已经非常好了,完全可以满足日常的办公及家长需求。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周偏偏偏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值