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

【操作系统】概述

基本特征

1. 并发

并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。

并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。

操作系统通过引入进程和线程,使得程序能够并发运行

2. 共享

共享是指系统中的资源可以被多个并发进程共同使用

有两种共享方式:互斥共享同时共享

互斥共享的资源称为临界资源,例如打印机等,在同一时刻只允许一个进程访问,需要用同步机制来实现互斥访问。

3. 虚拟

虚拟技术把一个物理实体转换为多个逻辑实体

主要有两种虚拟技术:时(时间)分复用技术和空(空间)分复用技术。

多个进程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占用处理器,每次只执行一小个时间片并快速切换。

虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页置换到内存中。

4. 异步

异步指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进

基本功能

1. 进程管理

进程控制、进程同步、进程通信、死锁处理、处理机调度等

2. 内存管理

内存分配、地址映射、内存保护与共享、虚拟内存等

3. 文件管理

文件存储空间的管理、目录管理、文件读写管理和保护等

4. 设备管理

完成用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率。

主要包括缓冲管理、设备分配、设备处理、虛拟设备等

系统调用

如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而陷入内核,由操作系统代为完成
在这里插入图片描述
Linux 的系统调用主要有以下这些

TaskCommands
进程控制fork(); exit(); wait();
进程通信pipe(); shmget(); mmap();
文件操作open(); read(); write();
设备操作ioctl(); read(); write();
信息维护getpid(); alarm(); sleep();
安全chmod(); umask(); chown()

中断分类

  1. 外中断

    由 CPU 执行指令以外的事件引起,如 I/O 完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。

  2. 异常

    由 CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。

  3. 陷入

    在用户程序中使用系统调用。

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

相关文章:

  • Flume三种组件的选择对比
  • 响应性基础API
  • 剑指 Offer 25. 合并两个排序的链表
  • 顿悟日记(一)
  • 前端卷算法系列(二)
  • 网络应用之HTTP响应报文
  • 常见的CSS技巧
  • 算法进阶-动态规划
  • python的读写操作
  • Mybatis中添加、查询、修改、删除
  • C++---线性dp---传纸条(每日一道算法2023.2.26)
  • 浅谈 C/C++ 的输入输出
  • 【计算机三级网络技术】 第二篇 中小型系统总体规划与设计
  • Boosting Crowd Counting via Multifaceted Attention之人群密度估计实践
  • python之面向对象编程
  • 常见前端基础面试题(HTML,CSS,JS)(七)
  • 产业链金风控基本逻辑
  • Java高级点的知识
  • MyBatis - 05 - 封装SqlSessionUtil工具类(用于获取SqlSession对象)并测试功能
  • Java中BIO、NIO和AIO的区别和应用场景
  • Python安装教程(附带安装包)
  • 华为OD机试用Python实现 -【信号发射和接收】(2023-Q1 新题)
  • Springboot整合 Thymeleaf增删改查一篇就够了
  • BigScience bloom模型
  • Squid服务的缓存概念
  • Hadoop YARN
  • 使用 Macrobenchmark 测试 Android 应用性能
  • 【django】django-simpleui配置后,后台显示空白页解决方法
  • 【035】基于Vue的电商推荐管理系统(含源码数据库、超详细论文)
  • 【c++】模板1—函数模板