操作系统详解(1)——操作系统的作用

本文概述了操作系统如何作为硬件与应用程序之间的桥梁,通过进程虚拟内存和文件系统提供服务。它解释了进程的隔离、权限划分(UserMode和KernelMode)、虚拟内存的工作原理以及I/O操作的文件视图。后续章节将探讨异常处理和编程细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

电脑硬件系统的三个部分:

  • 处理器(CPU)
  • 主内存
  • I/O 处理器

操作系统: 是管理电脑硬件的程序

为应用程序提供基础
是用户与硬件间的桥梁

image.png

操作系统的主要作用:

  • 保护硬件不被应用程序误用
  • 应用程序通过简单且统一的方法操作硬件

分工:
image.png
applications 不能直接访问I/O设施
通过操作系统提供的services(比如syscall)

操作系统对计算机系统的抽象

进程

程序运行时,操作系统会让它以为自己是系统上唯一运行的程序

  • 该程序似乎能完全使用所有的处理器、内存、I/O设施
  • 程序似乎是不中断运行
  • memory中似乎只用该程序的代码以及数据

一个进程分为两个部分:

  • user part
  • OS part, 又称kernel(内核),被所有进程共用

image.png

一个进程会在User Mode 与 Kernel Mode 间切换.

  • 在kernel mode:

执行任何指令
访问任意内存

  • 在user mode:

不能执行特权指令
不能访问kernel的数据
只能间接通过system call界面交互

两种模式的切换通过特定寄存器中存储的值来实现

虚拟内存

每个进程似乎都占用了整个内存空间
虚拟内存的空间包括:

  • 代码和数据(全局变量)
  • 堆区
  • 栈区
  • 共用库
  • 内核

硬件支持了从虚拟地址到物理地址的翻译
每个进程的地址空间是相互私有且独立的

文件

I/O device被看作是文件
以Unix为例,程序使用一系列system calls来读写文件.系统所有的输入输出都通过Unix I/O实现

总结

简要介绍了什么是操作系统。
下一章会说明操作系统的异常处理机制。

更多文章:
数据在内存中的对齐问题
计算机编译程序的原理
函数调用的汇编原理
汇编语句详解(持续更新)
关于位运算必须记住的事
C语言中的类型转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值