【面向找工作】操作系统OS (一) 概述+硬件

本文重新审视操作系统(OS)的学习,重点关注其在工作场景中的应用。操作系统是连接用户与硬件的桥梁,提供安全的运行环境。CPU包含寄存器提高性能,内存层次结构确保速度与成本平衡。理解内核态与用户态的区别以及系统调用的概念,对于掌握OS核心概念至关重要。此外,还介绍了CPU、内存和I/O设备的工作原理。

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

本科的时候就学过OS了,但当时更多是一种无目的的学习,一整本厚厚的书,对我来说全是知识点。

因为读研后,还是要面临找工作,而网上零零碎碎的面试题,知识点又太稀碎。

所以打算面向找工作,好好地再学习一遍OS。不会过于详细,但也不会一知半解。

一、概述

1.操作系统是什么?

本质是软件,为用户提供一个更简单的计算机模型,达到响应用户指令控制硬件的效果。

那用户为什么不直接控制硬件?因为计算机系统太复杂,包含了处理器,主存等多个设备。

2.计算机的运行模式

1)内核态:OS的运行状态,可以执行任何的指令,访问计算机的任何资源(类似管理员的地位,有特权)

2)用户态:其他软件(例如浏览器,杀毒软件,用户自己写的程序)的运行状态,只能执行非特权的指令,访问该软件自己的存储空间

为什么需要两种运行模式?

为了安全,如果一个用户软件可以直接访问计算机的所有资源,那它就可以随意盗取信息,控制硬件了。

处于用户态的软件如何执行内核态下才允许执行的指令?

使用系统调用,这样系统会转为内核态,并交由操作系统处理,执行完命令后,会切回用户态。

二、硬件

1.CPU

功能:从内存中提取指令并执行。

每个CPU有特定的一组指令集,不通用。(例如:ARM x86指令集不同)

1)为什么CPU里有寄存器?

因为CPU执行指令的速度比从内存中提取指令或数据来得快,为了提升性能,就有了可以快速读取内容的寄存器,一般用于保存关键变量和临时结果。

2)有哪些特殊的寄存器?

程序计数器PC(Program Counter) : 存储下一条要提取的指令地址,当CPU提取指令后,会自动指向下一条指令地址。

堆栈指针: 指向当内存栈顶

3)CPU还有哪些设计用于提升性能?

流水线:并行执行 读取指令,执行指令等操作

超标量:有多个执行单元,用于执行不同的指令

多线程:并发处理,宏观上好似是有多个CPU,其实是交替运行不同的线程

2.内存

寄存器:在CPU中,访问速度快

高速缓存: 存储更频繁使用的资源

主存:容量大,存储大部分内容

磁盘:价格便宜,机械装置,所以随机访问速度慢

1)为什么存储器用的是分层次结构?

因为没有一类存储器可以同时满足读写快速且便宜。

3.IO设备

OS -->  设备驱动程序 --> 设备控制器 --> 设备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值