操作系统学习笔记

操作系统作为计算机基石,管理硬件与软件资源,其内核负责内存、设备、文件系统及应用管理。内核通过系统调用使用户程序访问高权限资源。内存管理中,虚拟内存确保进程间独立,通过内存管理单元映射虚拟地址到物理地址。此外,介绍了内存分页、分段和段页式管理机制。
摘要由CSDN通过智能技术生成

一、操作系统简介:

操作系统是管理计算机硬件与软件资源的程序,是计算机的基石;操作系统本质上是一个运行在计算机上的软件程序,用于管理计算机硬件和软件资源;操作系统存在屏蔽了硬件层的复杂性;操作系统的内核是操作系统的核心部分,它负责系统的内存管理、硬件设备的管理、文件系统的管理以及应用程序的管理。

                       Kernel_Layout

1、内核

是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理;是连接应用程序和硬件的桥梁,决定着操作系统的性能和稳定性。

中央处理器:

为了保证操作系统的稳定性和安全性,一个进程的地址空间划分为用户空间和内核空间。

像我们平常运行的应用程序都是运行在用户空间,只有内核空间才能进行系统态级别的资源有关的操作,比如如文件管理、进程通信、内存管理等等。也就是说,我们想要进行 IO 操作,一定是要依赖内核空间的能力。并且,用户空间的程序不能直接访问内核空间。当想要执行 IO 操作时,由于没有执行这些操作的权限,只能发起系统调用请求操作系统帮忙完成。因此,用户进程想要执行 IO 操作的话,必须通过 系统调用 来间接访问内核空间。

2、系统调用:

根据进程访问资源的特定,进程在系统上的运行分为1、用户态:用户态运行的进程或可以直接读取用户程序的数据,2、系统态:系统态运行的进程或程序几乎可以访问计算机的任何资源,不受限制。

用户程序中,与系统态级别的资源有关的操作,都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。主要有设备管理、文件管理、进程控制、进程通信、内存管理。

现代操作系统,内核一般会提供四个基本能力:

管理进程、线程,决定哪个进程、线程使用CPU,也就是进程调度的能力;

管理内存,决定内存的分配和回收,也就是内存管理的能力;

管理硬件设备,位进程和硬件设备之间提供通信能力,也就是硬件通信能力;

提供系统调用,如果应用程序要运行更高权限运行的服务,那么就需要有系统调用,它是用户程序与操作系统之间的接口。

内核的架构:

宏内核,包含多个模块,整个内核像一个完整的程序;

微内核,有一个最小版本的内核,一些模块和服务则由用户态管理;

混合内核,是宏内核和微内核的结合体,内核中抽象出了微内核的概念,也就是内核中会有一个小型的内核,其他模块就在这个基础上搭建,整个内核是个完整的程序。

二、内存管理

1、虚拟内存:

应用程序直接操作内存的物理地址,会产生冲突。

操作系统为每个进程分配独立的一套虚拟地址,将不同进程的虚拟地址和不同内存的物理地址映射起来。

我们程序所使用的内存地址叫做虚拟内存地址,实际存在硬件里的空间地址叫做物理地址。

进程持有的虚拟地址会通过CPU芯片中的内存管理单元(MMU)的映射关系,来转换成物理地址,然后再通过物理地址访问内存。

2、内存分段:

 

内存分页:

 

段页式内存管理:

 

Linux内存管理:

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值