想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。操作系统(简称为OS)是一种软件平台,可创建一个环境,用户可以在该环境中在计算设备上运行不同的应用程序。操作系统就是软件程序和系统硬件组件之间的桥梁。它被移动设备,标签,台式机,Web服务器,视频游戏机等不同的设备所利用。市场上有各种操作系统可用,例如Windows,Linux,Unix和Mac OSX。
操作系统的的组成
·Bootloader:它主要负责设备的启动过程。
·Shell:Shell是一种编程语言,它可以控制其他文件,进程以及所有其他程序。
·Kernel:它是操作系统的主要组件,管理内存,CPU和其他相关组件。
·Desktop Environment:这是用户通常与之交互的环境。
·Graphical server(图形服务器):它是操作系统的子系统,用于在屏幕上显示图形
·Applications:这些是执行不同用户任务(例如word,excel等)的程序集。
·Daemons :后台服务提供商。
什么是内核kernel
内核是操作系统的关键组件。它借助进程间通信和系统调用,在硬件级别上充当应用程序和数据处理之间的桥梁。
我们将操作系统加载到内存中时,首先,将加载内核并将其保留在那里,直到操作系统关闭。内核负责处理低级任务,例如任务管理,内存管理,风险管理等。
内核的任务
·用于应用程序执行的流程管理。
·内存和I / O(输入/输出)管理。
·系统调用控制(内核的核心行为)。
·借助设备驱动程序进行设备管理。
·内核空间,用户空间是什么?
内核空间
内核处于提升的系统状态,其中包括受保护的内存空间以及对设备硬件的完全访问权限。此系统状态和内存空间统称为内核空间。在内核空间内,对硬件和系统服务的核心访问进行管理,并作为服务提供给系统的其余部分。
用户空间
用户空间或用户域是在操作系统内核环境之外运行的代码,用户空间定义为操作系统用来与内核连接的各种应用程序或程序或库。
用户的应用程序是在用户空间中执行的,它们可以通过内核系统调用访问计算机可用资源的一部分。通过使用内核提供的核心服务,可以创建用户级别的应用程序,例如游戏或办公软件。
重点来了要想彻底掌握Linux内核内存管理,我们要学习知识点内容:
第一天剖析Linux内核内存管理(一)
1内存泄漏/栈溢出
2虚拟地址布局/内存映射
3内存模型/页分配器
4伙伴分配器/块分配器
第二天剖析Linux内核内存管理(二)
1 kmalloc/vmalloc系统调用
2高速缓存/内存屏障
3页表缓存/页回收机制
4缺页中断/反碎片技术
内核的操作
内核是操作系统的最重要的地方,因为它控制系统中的所有程序。当设备启动时,内核会经历一个初始化的过程。它负责内存分配部分,并创建了一个运行应用程序的环境。
内核相当于服务提供者,因此程序可以请求内核完成多项任务,例如请求使用磁盘,网卡或其他硬件,并且内核为CPU设置中断以启用多任务处理。它不让错误的程序进入其他程序的操作功能,从而保护了计算环境。它通过不允许存储空间来阻止未经授权的程序进入入口,并限制它们消耗的CPU时间。
内核的分类
通常有三类内核:
·Monolithic kernel:它包含许多设备驱动程序,可在设备的硬件和软件之间创建通信接口。
它是操作系统广泛使用的内核。在单片架构中,内核由可以动态加载和卸载的各种模块组成。这种体系结构将扩展OS的功能,并允许轻松扩展内核。
使用单片式体系结构,内核的维护变得容易,因为当需要修复特定模块中的错误时,它允许相关模块进行加载和卸载。因此,它消除了繁琐的工作,即降低并重新编译整个内核以进行很小的更改。在单片内核中,卸载不再使用的模块更加容易。
·Micro kernel:它只能执行基本功能。
微内核已经发展成为单片内核的替代产品,以解决单片内核无法做到的内核代码不断增长的问题。这种体系结构允许某些基本服务(例如协议栈,设备驱动程序管理,文件系统等)在用户空间中运行。这样可以以最少的代码增强OS的功能,提高安全性并确保稳定性。
它通过使系统的其余部分正常运行而不会造成任何中断,从而限制了对受影响区域的损坏。在微内核体系结构中,所有基本OS服务都可以通过进程间通信(IPC)提供给程序。微内核允许设备驱动程序和硬件之间的直接交互。
·Hybrid kernel:它结合了单片内核和微内核的各个方面。
混合内核可以决定要在用户模式和主管模式下运行什么。通常,在混合内核环境中,设备驱动程序,文件系统I / O之类的内容将在用户模式下运行,而服务器调用和IPC则保持在管理者模式下。
本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!