前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >操作系统有关的名词解释

操作系统有关的名词解释

原创
作者头像
似水流年o
修改2022-05-05 11:56:39
6190
修改2022-05-05 11:56:39
举报
文章被收录于专栏:编程学习收获编程学习收获

操作系统:

操作系统本身本质就一款软件,这款软件能够帮助用户与计算机硬件进行交互

图1
图1


操作系统是软件,软件运行在内存中。运行在内存中的操作系统由两部分组成:用户空间,内核空间

内核空间:

内核空间操作系统内核访问的区域,独立于普通的应用程序,是受保护的内存空间。由于操作系统的重要性,它会独占内存中的一块区域,即内核是操作系统常驻内存的区域。

用户空间:

用户空间普通应用程序可访问的内存区域。当启动一个程序进程时,就会在内存中为该进程分配一块区域,即用户空间



内核态和用户态是CPU的两种运行状态。它与操作系统的用户空间,内核空间不是同一个概念;

用户态:

CPU执行用户空间程序状态

内核态:

CPU执行内核空间程序状态。用户是无法直接操作硬件,需要通过系统调用,系统调用时CPU会执行内核代码,那么此时进程处于内核态

用户态切换成内核态的完整的描述:通过系统系统调用,将正在执行用户空间CPU时间片(用户态)切换为执行内核空间CPU时间片(内核态);



IO流输入流输出流

  • from 外界 to 程序输入流;
  • from 程序 to 外界输出流;

IO类型:

  1. 网络IO网卡内核用户空间
  2. 磁盘IO磁盘内核用户空间
  3. 缓存IO(标准IO) : 提供了内核缓冲区的IO,大多数文件系统的默认I/O操作都是缓存I/O;
    1. Linux的缓存IO机制 : 先从磁盘拷贝数据内核缓冲区中,然后从内核缓冲区拷贝数据到进程空间中。就是说缓存IO内核缓冲区会被用来存储数据用户程序缓冲区可存储数据不存储数据
  4. 系统IO(直接IO,文件IO) : 直接IO就是程序直接访问磁盘中数据,而不经过内核缓冲区,这样做的目的是减少一次内核缓冲区到用户程序缓存的数据复制直接IO中内核缓冲区不会存储数据用户程序缓冲区存储数据也可不存储数据。

我所接触到的网络IO磁盘IO都是标准IO,并且一般来说网络IO延时要大于磁盘IO的延时;

IO 模型:(以 Linux 为例)

  • 阻塞IO模型
  • 非阻塞IO模型
  • IO复用模型
  • 信号驱动IO模型
  • 异步IO模型

IO 函数:

  • select
  • poll
  • epoll

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作系统:
  • 内核空间:
  • 用户空间:
  • 用户态:
  • 内核态:
  • IO流即输入流与输出流。
  • IO类型:
  • IO 模型:(以 Linux 为例)
  • IO 函数:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档