浅谈操作系统

  • 冯·诺依曼体系结构
    • 计算机的组成组件
    • 小Tips
  • 操作系统
    • 概念
    • 操作系统如何管理
    • 操作系统的作用

冯·诺依曼体系结构

也叫普林斯顿体系结构(这个叫法不太常见),99%的程序员都知道这个体系结构是在描述一台计算机是如何构成的。我们常见的计算机比如笔记本;不经常见的如服务器,大部分都遵守冯诺依曼体系结构

计算机的组成组件

1.输入单元:键盘,扫描仪,写字板等
2.中央处理器(CPU):含有运算器和控制器等
3.输出设备:显示器,打印机

小Tips

1.这里的存储器指的是内存
2.不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入设备以及输出设备)
3.外设(输入设备以及输出设备)要输入或者输出数据,也只能写入内存或者从从内存中读取
4.所有的设备只能直接和内存打交道

操作系统

概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS),即内核+配套的应用程序,用通俗一点的话来说:操作系统其实就是一个搞管理的软件,一方面管理计算机的硬件设备,另一方面管理计算机的软件资源。

其实上面的图很好理解,举个例子来说,假如我们要在屏幕上输出“hello world”,我们就要现在应用程序中写下代码:System.out.printIn(“hello world”),在代码真正执行起来的时候,printIn会进入到依赖的库代码中,本质上需要操作显示器这个硬件设备来完成显示,printIn然后就会通过相关的系统调用进入到内核中来执行代码,这个内核中的代码再来执行“让显示器输出“这样的动作(内核调用显卡驱动程序,由驱动程序来具体操作显示器)

操作系统如何管理

所谓管理,核心就是两件事:描述、组织

那么如何进行描述与组织呢,就相当于在一个学校中, 校长作为管理者给做为被管理者的学生发奖学金,校长要先知道每个同学的基本信息(姓名、班级、学号、成绩)---->依赖描述。然后校长再在所有的同学信息中进行筛选,选出若干个成绩最好的同学---->依赖组织。

再举一个更加好理解的例子:上面的校长知道每个同学的基本情况这就好比是创建了一个Student类,类中包含一些需要的属性,再根据当前的数据创建一堆Student的实例---->依赖描述。然后再借助一定的数据结构,把这些Student的实例放到一起,然后再按照一定的规则来筛选---->依赖组织

操作系统的作用

1.与硬件交互,管理所有的软硬件资源(对内且对下)
2.为用户程序(应用程序)提供一个良好的执行环境(对外且对上)

文末,许下我的一个圣诞小愿望,西安加油!!!“长安”常安

Java(高阶)——操作系统相关推荐

  1. Java高阶代码_Java高阶语法---Volatile

    背景:听说Volatile Java高阶语法亦是挺进BAT的必经之路. Volatile: volatile同步机制又涉及Java内存模型中的可见性.原子性和有序性,恶补基础一波. 可见性: 可见性简 ...

  2. Java高阶语法---final

    背景:听说final Java高阶语法是挺进BAT必经之路. final: final关键字顾名思义就是最终不可改变的. 1.含义:final可以声明成员变量.方法.类和本地变量:一旦将引用声明为fi ...

  3. java 高阶函数_谈谈高阶函数给我们带来了什么。

    什么是高阶函数 一句话解释的话,就是函数可以作为参数以变量的方式持有,引用,构造和使用 一些文章我随手搜的,大家可以看看,它本身的概念并不复杂. 高阶函数-廖雪峰 高阶函数-wiki 其实现在主流语言 ...

  4. 深入理解Java虚拟机(Java高阶读书笔记)

    深入理解Java虚拟机 - JVM高级特性与最佳实践(周志明)第2版 只要看:第2章.第3章.第4章.第5章简单看一看.第六章看6.1和6.2.第7章以及第12和13章.12和13属于并发里面的补充. ...

  5. Java 高阶 —— native 关键字与 JNI

    C/C++ 通过 jni 调用 java 类及接口 Java 通过 native 调用 C/C++ 函数: 1. JNI Java中JNI的使用详解第一篇:HelloWorld JNI:Java Na ...

  6. Java高阶编程——RxBus 开源,基于 RxJava 的 event bus

    介绍 RxBus 是一个发布/订阅模式的事件总线,用法和 EventBus 一样简单.RxBus 基于 RxJava 开发,除了拥有和 EventBus 一样简单的事件总线机制之外,还拥有 RxJav ...

  7. Java高阶部分知识点汇总(四)-继承与多态

    前言 前面讲了面向对象的两个特性,封装和继承.本文将面向对象的最后一个特性多态,而多态是在继承的基础上存在的. Java的引用变量有两个类型:一个是编译时的类型,另一个是运行时的类型.编译时的类型由声 ...

  8. Java高阶部分知识点汇总(三)-内存空间的引用

    前言 在前面给大家展示的代码中,有这样一行代码 Student stu = new Student(); 这行代码创建了一个Student对象,这个对象被赋给stu变量.今天我们就来好好学习一下这行代 ...

  9. Java高阶部分知识点汇总(三)-基本类型的包装类详讲

    前言 Java语言为8个基本数据类型都提供了对应得包装类,通过8个包装类可以把8个基本数据类型的值包装成对象使用,JDK1.5提供了自动装箱和自动拆箱功能,也就是基本类型和对应包装类可以直接互相赋值使 ...

最新文章

  1. 自定义类型数组的初始化
  2. XXX管理平台系统——项目教训
  3. 远程连接服务器的方法:
  4. 甘特图 知乎_安利!拥有这5款甘特图工具,项目管理、生产排程轻松搞定!
  5. javascript操作html元素CSS属性
  6. SpringBoot踩坑记录 Invalid bound statement (not found)引发的一些列问题
  7. PHP导航猫网址导航系统源码V2.4.5
  8. Java使用表格显示日历编程_用java图形用户界面实现: 编写一个日历程序,能实现显示日历等简单功能。...
  9. 关于ajax入门案例
  10. COVID-19知识图谱问答系统(基于REFO)
  11. 根据学生名单(excel文件)对QQ群成员进行统计(助教可能会需要)
  12. D3D游戏辅助编程开发教程
  13. 局域网打印机共享怎么设置_局域网共享精灵 局域网内便节共享文件和打印机...
  14. 小学计算机优秀说课稿ppt,【说课备考】各学科说课稿示范第7天 — 小学信息技术...
  15. 遗传算法适应度函数的计算原理
  16. 台式机win10正确安装Realtek声卡驱动后右下角的小喇叭还是有一个红差,前置耳机无法使用
  17. linux运行魔兽世界,暴雪内部就这么玩:Linux运行《魔兽世界》教程
  18. java高性能rpc,企业级rpc,zk调度,负载均衡,泛化调用一体的rpc服务框架
  19. 在线教育系统网页版,观看视频直播功能更多,更适合用户学习
  20. 【读书笔记】《能力陷阱》——改变思想从行动开始

热门文章

  1. 操作系统学习笔记 操作系统概述
  2. 数据可视化工具 - ECharts饼形图的编写
  3. Zookeeper--Watcher数据变更的通知
  4. ANR系列之五:Service类型ANR原理讲解
  5. 再来一期F12开发人员工具几个小细节的补充
  6. Select2学习总结
  7. 缓存雪崩、缓存击穿、缓存穿透
  8. Redis缓存面临的缓存穿透问题
  9. sqlserver 性能优化思路
  10. Docker学习——基本使用