当前位置: 首页 > news >正文

[伴学笔记]01-操作系统概述 [南京大学2024操作系统]

文章目录

  • 前言
  • jyy:01-操作系统概述 [南京大学2024操作系统]
    • 为什么要学操作系统?
      • 学习操作系统能得到什么?
    • 什么是操作系统?
        • 想要明白什么是操作系统:
        • 时间线:
          • 1940s
          • 1950s-1960s
          • 1960-1970s年代.
  • 信息来源:


前言

督促自己,同时分享所得,阅读完本篇大约需要10分钟,希望为朋友的技术精进之路尽到绵薄之力.码字不易,望能给个点赞和收藏,以激励笔者源源不断的创作.在此以表谢意,同时因为笔者实力有限,如果发现错误,请及时指正,以免误导后人,谢谢!

jyy:01-操作系统概述 [南京大学2024操作系统]

为什么要学操作系统?

​ 因为我们要重走学科从 无 到有的这个过程,理解这个学科里面种种产生的 基本动机 基本方法 里程碑 走过的弯路。 最终的目的肯定是 想能让我们进行 应用 创新 革命

所有概念的产生 都不是凭空产生,是有所原因的,比如遇到什么什么问题 提出什么什么理论 怎么怎么样克服,把此叫做什么名字 定义下来一个概念

什么都想要一点最后注定四不像,要学会做减法,要学会专注

除了和考研相关的,其他都不去花费时间和精力

操作系统诞生的基本动机 就是更快更好的服务应用

操作系统的发展带动硬件的发展

在这里插入图片描述

学习操作系统能得到什么?

​ 可以理解更多的问题比如 为什么可以用 ctr c 结束死循环 更基础的理解什么什么东西是怎么样工作的
​ 可以手搓更多的东西,比如浏览器 病毒 编译器 杀毒软件

在这里插入图片描述

什么是操作系统?

管理软/硬件资源,并且为程序提供服务一个程序(或者换句话说就是 管理软硬件资源,并且为程序提供服务的软件 注 个人理解下 程序就是软件 软件也就是一个程序)

想要明白什么是操作系统:

​ 需要走一遍操作系统发展的历史
​ 需要理解 什么是软件 什么是硬件 什么是资源
在这里插入图片描述

| 管道符 一个东西的输出 是另一个东西的输入

夹在 software hardware中间的是操作系统

在这里插入图片描述

时间线:
1940s

1940s的时候还没有操作系统,第一台计算机1946年诞生,那时候是画流程图 打纸带,用不到操作系统,程序直接在硬件上执行,那个时候跑起来程序就很难

中断机制的出现,是因为I/O设备已经跟不上处理器的处理速度

小tip :80个字符一行代码,是从1950s沿用至今

操作系统的诞生很自然,因为那时候随着一台计算机被多人共享,就需要一个人/软件调度算力,也就自然而然的诞生了操作系统

在这里插入图片描述

1950s-1960s

计算机的硬件得到改进

此时出现了I/P设备的速度低于了处理器的速度,中断机制出现
在这里插入图片描述

1960-1970s年代.

在1960-1970s年代

操作系统很自然的出现 以API形式调度资源,一切资源调度都要经过我的允许,借助API进行调度:
由此也就延伸出
进程(progress)的概念
虚拟存储 (就是 可以防止一个程序执行异常 造成一个系统的crush 。)
程序之间的空间隔离,以及CPU进行不同空间隔离程序之间的切换。

也就是这个时间段 1965年 分时操作系统诞生了 (就如同上文所言,既然程序与程序之间可以进行切换,那为啥不能定时进行切换,所以自然而然就诞生了 分时操作系统)

1970s年代
UNIX的诞生 奠定了分时操作系统,也就是如今常用操作系统的基础

在这里插入图片描述

怎么样学操作系统? 在PPT中

Opreating systems Three Easy pieces 这本书 必读必读必读.(点点关注,后面也一定会更新本书的阅读心得和笔记.)


信息来源:

​ [01-操作系统概述 南京大学2024操作系统]_哔哩哔哩_bilibili

​ 相关学习资料: 操作系统:设计与实现 (2024 春季学期) (jyywiki.cn)

http://www.lryc.cn/news/309655.html

相关文章:

  • c++二叉树
  • 第19章-IPv6基础
  • 浅谈人才招聘APP开发的解决方案
  • 大语言模型LLM推理加速:Hugging Face Transformers优化LLM推理技术(LLM系列12)
  • JVM 第四部分—垃圾回收相关概念 2
  • tritonserver学习之八:redis_caches实践
  • 2024有哪些免费的mac苹果电脑深度清理工具?CleanMyMac X
  • UE5中实现后处理深度描边
  • Java面试值之集合
  • React之组件定义和事件处理
  • LeetCode -55 跳跃游戏
  • Android和Linux的嵌入式开发差异
  • 关于Node.js异常处理的教程
  • 13. Springboot集成Protobuf
  • Spring: Springboot 框架集成不同版本的spring redis
  • 学习JAVA的第八天(基础)
  • 【硬件相关】IB网/以太网基础介绍及部署实践
  • 【JavaEE】_Spring MVC项目之建立连接
  • 【JavaEE进阶】 Spring AOP源码简单剖析
  • Redis--内存回收机制详解
  • win安装卸载python3.13
  • APIFox-自动获取登录状态操作
  • 【NDK系列】Android tombstone文件分析
  • CentOS7 Hive2.3.8安装
  • 代码随想录算法训练营第四十四天 完全背包 、零钱兑换 II 、组合总和 Ⅳ
  • 【经验】vscode 鼠标拖曳不能选中整行文字,只能选中纵向矩形范围
  • Redis--事务机制的详解及应用
  • 路由器端口映射如何配置?
  • 力扣34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)
  • 【每日一题】3.2 求逆序对