云计算底层Liunx之操作系统基础-学习记录

本文概述了操作系统中进程级别、CPU资源分配、内存管理和I/O资源的原理,介绍了用户态与内核态进程的区别,以及如何通过Systemcall进行资源申请。重点讲解了Linux内核对这些资源的掌控和虚拟内存映射技术。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、操作系统的进程级别与资源类型
  • 二、系统中的CPU资源
  • 系统中的内存资源
  • 四、系统中的I/O资源


前言

操作系统基础原理学习记录


一、操作系统的进程级别与资源类型

     进程:

            ⽤户态进程 : 普通进程

            内核态进程 : 直接和计算机硬件进⾏交互 – 更⾼级别权限进程

     多⽤户/多任务

           PC/SERVER 8G M.M
           任务1 | 任务2  ---- 进程
           进程1 | 进程2

     相同级别进程之间发⽣资源抢占

     Systemcall – 打电话给内核 申请硬件资源

     计算机资源

         CPU资源

         内存资源

         I/O资源

二、系统中的CPU资源

      内核 -> ⽤户态程序|进程分配资源
      CPU资源分配 (时间)
      4/6/8
      2物理核⼼  - 超线程 4个逻辑核⼼
      6个逻辑核⼼ – 50进程
      800MHZ  | 1S 计算800M次 80000 0000 次 |  8亿次
      内核先占据CPU全部时间,再通过时间分配⽅式,将不同的应⽤程序分配不同时间

三、系统中的内存资源

       内存资源-空间资源
       内存分配 ----- Kernel 占据全部内存 ----- 通过空间分⽚⽅式将不同区域的内存分配给 ⽤户态应⽤程序|进程。
       对于应⽤程序-需要获取到⼀段连续的线性地址空间
        对于应⽤程序 – 启动后-内存会动态调整
        OS – kernel 内核看到的是物理内存地址空间 , 内核不会将物理内存直接分配给应⽤程序
        如何解决?
        1.  创建page 内存⻚
         可以将物理内存空间 ---- 进⾏ 4096 cell 划分成⼀个page

         2. 创建映射物理内存和虚拟内存映射

             通过TLB映射表- 实现物理内存地址和虚拟内存地址的映射关系

             每个应⽤程序看到的内存地址空间是kernel通过TLB映射表给应⽤程序准备的虚拟内存地址

、系统中的I/O资源

      I/O device 资源划分

      ⽹卡

      硬盘

      USB

      I/O控制器汇总芯⽚:

      早期名称:南桥 / 现在名称:PCH平台总线控制器芯⽚

      ⽹卡

      硬盘

      应⽤程序访问⽹卡/硬盘 发送I/O指令

      TCP/IP ------ [ether2][ip][udp][app] -> 010101001

      SCSI. ----- Bus-id | targer-id | lun-id | LBA-id\

      所有的I/O指令都属于敏感指令

      在⽤户态进程使⽤I/O设备时需要通过,System call 发起系统调⽤ ----- 通知内核

在操作系统内核-应⽤程序

      Linux-kernel : 掌控权限
   


  • 27
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值