• 操作系统知识点总结


    学校操作系统课程教的不是多好,自己按照哈工大李治军老师的操作系统学习的,感觉讲解的比较好,总结如果有误,还望大佬指点一二,另需要,哈工大操作系统系统视频的在文末留下邮箱即可,我看到会发送的。

    以下是大致总结:

    现有的操作系统一般有 windows、Linux、unix 以及一些 Linux 的发行版等

    首先第一个问题,什么是操作系统(OS)?

    按照我自己的理解,操作系统其实就是管理计算机硬件资源的一层软件,为上层用户提供服务,高效的使用计算机硬件。

    操作系统的类型,由原始的  单道批处理系统 ---》多道程序系统 ---》现代的微型计算机系统(raspberry)、网络操作系统(Linux)、分布式操作系统、以及嵌入式操作系统(ROMIS)

    大致就是这么多东西,总结的不是很全面,只是一个总的图谱,里面的详细内容,接下来解释

    操作系统最重要的就是要管理好 CPU 和内存,那么 CPU 和 内存管理好了,硬件高效的利用起来了,一个操作系统也就完成了,首先操作系统是通过多进程来管理CPU的,CPU在不同的进程中,来回切换,实现多进程,(队列操作 + 进程调度 + 切换),进程又细分为线程,在线程中引出用户级线程和核心级线程,线程的切换:用到两个TCB、两个栈、切换的PC在栈中。(注意:在系统中同一时刻只有一个进程在运行,只不过是因为CPU运转速度非常快,看不到切换的过程罢了)

    进程调度算法:https://www.cnblogs.com/Blog-day/p/My_Blog_Days1-11.html,这篇博客中有详细的描述算法内容,这里只是简单回顾一下,详细的可以自行查看

    • FCFS(先来先服务)
    • SJF/SPF(段作业(进程)优先调度)
    • HRF(高响应比优先)
    • RR(轮转调度)
    • 多级反馈队列

    进程同步:生产者-消费者模型(多线程中也会提到)【PV原语】

    信号量---》 信号量的临界区保护(硬件原子保护法)

    死锁的问题:

    死锁产生:

    • 互斥条件
    • 占用并等待时间
    • 不可剥夺时间
    • 环路条件等待

    避免死锁的方法:

    经典的银行家算法(Dijkstra)核心思想是:试分配,找安全序列

     内存管理:

    • 段式管理
    • 页式管理
    • 段页式管理
    • 虚存概念的提出

    程序的执行过程,

    C语言在学习的时候,编写完源代码,需要经历编译---》链接---》运行,

    那么这些过程都做了些什么?编译将源代码编译为汇编代码(或者是更底层的二进制01),一个程序有若干部分(段)组成,每个段有各自的特点、用途;代码段只读,数据段不会动态增长,(动态申请内存除外)。

    OS不会将整个程序分配到一段连续的长度上,而是将内存分段,将数据加载进入内存,在程序运行的过程中,进行地址重定向,段地址+段内偏移得到实际地址

    未完,待续

  • 相关阅读:
    十大排序算法之选择排序(2)
    十大排序算法之冒泡排序(1)
    2018年年度总结
    敏捷软件开发学习笔记(四)之结构型设计模式
    敏捷软件开发学习笔记(三)之创造型设计模式
    elasticsearch+head+kibana
    闭包函数延迟绑定问题
    初谈dango的post提交csrf设置和文件上传
    浏览器的同源策略,及如可跨域
    socket并发通信的几种方式
  • 原文地址:https://www.cnblogs.com/ice-image/p/10237426.html
Copyright © 2020-2023  润新知