操作系统概述

操作系统(Operating System,OS)是管理计算机硬件与软件资源的系统软件,是应用程序与硬件之间的大管家。面试里的进程线程、内存、文件系统等所有专题,都以理解操作系统的基本角色为前提。

操作系统是什么

没有操作系统时,程序要直接操作 CPU、内存、磁盘,既繁琐又危险。操作系统向上给应用程序提供统一易用的接口(系统调用),向下管理 CPU、内存、磁盘、网卡等硬件。它的职责可概括为四大管理:

管理对象要解决的问题典型机制
进程管理多个程序如何轮流使用 CPU进程/线程、调度器
内存管理内存如何隔离、如何扩展虚拟内存、分页
文件管理数据如何持久化与组织文件系统、目录树
设备管理外设如何统一访问设备驱动、中断

用户态与内核态

为保安全,CPU 划分了特权级别。内核态运行操作系统内核代码,可执行特权指令、访问全部内存;用户态运行普通应用程序,访问受限,必须通过系统调用(如 read、write、fork)请求内核服务。

用户程序(用户态)
   │ 系统调用:open / read / write / socket
   ▼
内核(内核态):进程调度、内存管理、设备驱动、网络协议栈
   ▼
硬件:CPU / 内存 / 磁盘 / 网卡

从用户态切换到内核态需要一次陷入(trap),有一定开销。所以"减少系统调用、减少上下文切换"是高性能服务调优的常见方向。

内核与 shell、发行版的关系

  • 内核:操作系统的核心,负责资源管理;Linux 就是"内核",遵循 GPL 开源协议。
  • shell:命令行解释器,是用户与操作系统交互的门面,如 bash、zsh。
  • 发行版:内核 + 常用软件打包而成,如 Ubuntu、CentOS、Debian——它们内核相同,外围工具不同。

一句话:内核是发动机,发行版是整车,shell 是方向盘

主流操作系统一览

系统内核来源典型用途
Linux开源 Linux服务器、Android 底层、云原生事实标准
WindowsWindows NT桌面办公、政企环境
macOSUnix 系(XNU)桌面开发
Android / iOSLinux / Unix 系移动设备

面试常问的几个基础概念

  1. 并发与并行:并发是单核上多个进程"看似同时"交替运行;并行是多核真正同时执行。
  2. 中断:硬件主动通知 CPU"有事发生"的机制,是操作系统响应外设、实现抢占的基础。
  3. 系统调用与库函数:系统调用进入内核(如 read),库函数可能只是封装(如 printf 内部调用 write)。
  4. 开机启动过程(简述):BIOS/UEFI → 引导加载程序 → 加载内核 → 启动第一个进程(Linux 为 init/systemd)。

小结:操作系统 = 资源管理器 + 服务提供者。抓住"四大管理 + 用户态/内核态 + 系统调用"这条主线,后面学习进程调度、内存管理、文件系统、死锁等专题就都有了可挂靠的框架。

笔记加载中…