操作系统学习笔记_1 介绍;OS 的运行和结构

简介: 学习自计算机科学单本&b站王道课程。

介绍

操作系统是什么?

计算机结构大概分为四层:

  • 用户
  • 应用程序
  • 操作系统
  • 硬件

操作系统是一类系统软件,调度硬件资源,合理分配管理软件(因此操作系统又被称作资源管理器(resource manager))。

image-20221026211255236

程序要运行首先要被放到内存中,然后才能被 CPU 处理;运行中的程序叫进程。

双击打开 QQ.exe,对应进程就会被放到内存中;

QQ 正常运行过程中,对应进程被 CPU 处理。

QQ 若想调用摄像头等,操作系统会把相应硬件分配给他。

计算机还会提供用户和硬件之间的接口。主要分为三种:GUI 接口,命令接口,程序接口。

联机/交互式命令接口:用户说一句,系统做一句。(cmd)

脱机/批处理命令接口:用户说一堆,系统做一堆。(.bat)

程序接口:通过程序才能调用。(.dll)

只有硬件的计算机叫裸机;操作系统将硬件资源转换为通用的、强大的虚拟形式,有时操作系统也被称为虚拟机。操作系统提供几百个系统调用(system call)供其他应用程序使用,实现运行程序、访问内存和设备等操作,也可以说操作系统为其他应用程序提供了一个标准库(standard library)。

操作系统几大特征

操作系统围绕以下几大主题展开:

  • 虚拟化(virtualize):尽管一般只有一个 CPU,但是能同时进行多个进程,造成多个 CPU 的假象。多个程序实例同时用到一片内存地址时,却能各运行各的,值互不干扰。实际上每个进程是在访问自己的私有虚拟内存空间(virtual address space),虚拟内存通过一定的规则映射到物理内存上,运行中的程序的物理内存是完全独立的。
  • 并发(concurrency)不是并行!并行是同时发生,并发是交替发生。单核计算机就会采用并发的程序运行方式。现在尽管都有四核计算机,可以进行4个程序的并行操作,但是并发仍然很重要。
  • 共享:系统中的某些资源供多个进程使用。

​ 互斥型共享就是一次只能一个程序用,如摄像头;

​ 同时型共享就是两个进程交替使用,如 QQ 微信 同时发送文件。

  • 异步性:并发执行的程序有时候会卡住。比如 AB 程序都要用同一个地址,A先用了,B用的时候就要等A用完释放才能用。

操作系统历史

手工操作阶段:用户手工打点,给机器。人机协调不均衡,资源分配不均匀。

批处理阶段——单道批处理系统:用户打好的点交给磁带,磁带读入计算机速度快得多(监督程序,早期的操作系统)。但是利用率仍然很低。

批处理阶段——多道批处理系统:每次内存中同时读入多个程序。多个程序并发执行,有了”中断“的概念。但是用户在程序执行的时候没法干涉,人机交互很差。

image-20221202180444486

分时操作系统:计算机以时间片为单位轮流给所有用户提供服务。用户的请求可以被及时响应,解决了人机交互问题;各个用户之间也感受不到其他用户的存在。但是众生平等,没有优先级。

实时操作系统:优先度高的任务可以先被处理,并且必须在给定的时限内完成任务。

image-20221202181100161

OS 运行机制和体系结构

计算机中的指令有的安全(加减乘除运算),有的危险一点(清空内存)。因此需要通过权限控制限制用户能执行的指令。

具体实现方法为:CPU 处于核心态(管态)时可以执行所有指令;处于用户态(目态)时只能执行非特权指令。

内核程序是系统的管理者,可以执行所有指令,运行在核心态;

应用程序只能执行非特权指令,运行在用户态。

image-20221202214904545

操作系统的内核包含橙黄两部分:大内核。

只包含黄色部分:微内核。

各自的缺点:大内核组织结构混乱,难以维护;微内核频发切换,性能低。

目录
相关文章
|
8月前
|
Devops API 语音技术
Cisco NX-OS Software Release 9.3(15) - 数据中心网络操作系统
Cisco NX-OS Software Release 9.3(15) - 数据中心网络操作系统
179 5
Cisco NX-OS Software Release 9.3(15) - 数据中心网络操作系统
|
10月前
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
594 10
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
10月前
|
前端开发 JavaScript 开发工具
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
620 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
10月前
|
缓存 运维 监控
Anolis OS深度集成运维利器 阿里云操作系统控制台上线
阿里云在百万服务器运维领域的丰富经验打造。
Anolis OS深度集成运维利器 阿里云操作系统控制台上线
|
10月前
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
483 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
|
10月前
|
JavaScript 编译器 开发工具
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
541 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
10月前
云产品评测|操作系统智能助手OS Copilot新功能获奖名单公布!
云产品评测|操作系统智能助手OS Copilot新功能获奖名单公布!
312 9
|
10月前
|
人工智能 并行计算 安全
用户实操:如何以龙蜥操作系统为底座在 CPU 上运行 DeepSeek-R1
介绍如何在 CPU 上使用 llama.cpp 推理 671B 版本的 DeepSeek R1,以及实际效果。
|
4月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
4月前
|
Web App开发 缓存 Rust

热门文章

最新文章

推荐镜像

更多