0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机系统讲解(下)

CHANBAEK 来源:CurryCoder的程序人生 作者:CurryCoder 2023-09-27 15:10 次阅读

1.操作系统管理硬件

真正操纵硬件的是操作系统,操作系统可以看成是应用程序和硬件之间的中间层。所有的应用程序对硬件的操作必须通过操作系统来完成,这样做的目的是:首先,防止硬件被失控的应用程序所滥用;其次,操作系统提供统一的机制来控制这些复杂的底层硬件。

图片

操作系统管理硬件

为了实现操作系统对硬件的操纵,操作系统引入了几个抽象的概念。 文件是对IO设备的抽象、虚拟内存是对内存和磁盘IO的抽象、进程是对处理器、内存及IO设备的抽象 。

图片

操作系统的抽象机制

2.进程的解释

(1).以shell命令行中执行./hello命令为例进行说明,最开始的时候只有shell进程在运行,即shell在等待命令行的输入。

图片

命令输入

(2).当通过shell进程加载hello进程时,shell进程通过系统调用来执行我们的请求。系统调用会将控制权从shell进程传递给操作系统,操作系统保存shell进程的 上下文 。然后,创建一个新的hello进程及其上下文。接着,将控制权转交给新的hello进程。hello进程执行完成后,操作系统会恢复shell进程的上下文,并且将控制权交给shell进程,之后shell进程继续等待下一个命令的输入。

图片

进程上下文切换

上下文:操作系统会跟踪进程运行中所需要的所有状态信息,这种状态(例如:当前PC和寄存器的值、内存中的内容等)称为上下文。

3.线程的解释

现代操作系统中一个进程由多个线程组成,每个线程都运行在进程的上下文中,共享代码和数据。

图片

线程

4.虚拟内存

操作系统为每个进程提供了一个假象,即每个进程都在独自占用整个内存空间。每个进程看到的内存都是一样的,称之为虚拟地址空间。

图片

进程的虚拟地址空间

进程的虚拟地址空间:从下往上,地址是增大的。

第一个区域:用来存放程序的代码和数据的,这个区域的内容是从可执行目标文件中加载而来的。对所有进程来说,代码都是从固定的地址开始的;

第二个区域:堆heap,函数malloc所申请的地址空间就在这个堆中的,堆可以在运行时动态的扩展和收缩;

第三个区域:共享库的存放区域,这个区域存放C语言的标准库和数学库这类共享库的代码和数据;

第四个区域:用户栈,函数调用的本质就是压栈;

第五个区域:为内核保留的区域,应用程序的代码不能读写这个区域的数据,也不能直接调用内核中定义的函数,这个区域对应用程序不可见;

5.文件

Linux中一切皆文件,键盘、鼠标、磁盘、显示器,甚至网络这些都可以看成是文件,系统中所有的输入和输出都可以通过读写文件来完成。

图片

"一切皆文件"

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19159

    浏览量

    229104
  • 计算机
    +关注

    关注

    19

    文章

    7418

    浏览量

    87711
  • 操作系统
    +关注

    关注

    37

    文章

    6737

    浏览量

    123188
  • 计算机系统
    +关注

    关注

    0

    文章

    281

    浏览量

    24088
  • 线程
    +关注

    关注

    0

    文章

    504

    浏览量

    19648
收藏 人收藏

    评论

    相关推荐

    计算机系统结构

    计算机系统结构
    发表于 05-09 19:03

    什么是计算机系统计算机硬件和计算机软件?

    第一章 计算机系统概论1. 什么是计算机系统计算机硬件和计算机软件?硬件和软件哪个更重要?解:P3计算机系统:由
    发表于 07-22 09:06

    什么是计算机系统?硬件和软件哪个更重要?

    第一章计算机系统概论1 .什么是计算机系统计算机硬件和计算机软件?硬件和软件哪个更重要?解: P3计算机系统:由
    发表于 07-26 07:18

    计算机系统中的软件系统

    专用计算机现代计算机运算速度最高可达每秒几万亿次几十亿次几亿次几万次计算机辅助制造是计算机应用领域之一其英文缩写是所谓的信息是指基本素材非数值数据数值数据处理后的数据
    发表于 09-13 07:22

    嵌入式计算机系统概述

    嵌入式计算机系统概述:定义:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统嵌入式
    发表于 12-22 06:08

    详解单芯片微型计算机系统

    什么是单芯片微型计算机系统呢?单芯片微型计算机系统是由哪些部分组成的?
    发表于 01-19 07:05

    计算机系统概论

    1.1 计算机系统简介1.2 计算机的基本组成1.3 计算机硬件的主要技术指标1.4 本书结构
    发表于 04-11 09:31 0次下载

    基于EDA平台的计算机系统结构课程实践

    基于EDA平台的计算机系统结构课程实践本文分析了计算机专业本科生课程计算机系统结构的教学现状, 结合目前在教学实践中采用的部分措施, 提出了在计算机系统
    发表于 12-05 16:08 0次下载

    微型计算机系统

             微型计算机系统与传统的计算机系统一样,也是由硬件系统和软件系统两大部分组成的。2.1
    发表于 03-03 08:31 0次下载

    什么是计算机系统的容错性

    什么是计算机系统的容错性             所谓容错是指在故障存在的情况计算机系统不失效,仍然能够正常工作的特性
    发表于 01-08 13:49 1628次阅读

    计算机系统小结

    计算机系统小结   习惯上所称的“电子计算机”是指现在广泛应用的电子数字计算机,它分为专用计算机和通用计算机两大类。专
    发表于 04-13 14:14 679次阅读

    计算机系统电磁辐射测量

    本文提出了室内电磁环境计算机系统的电测辐射测量系统的构建方法,完成了对计算机系统辐射频谱和时域波形的测量。
    发表于 04-20 14:27 1170次阅读

    浅析计算机系统的组成

    近年来,随着 PC( Personal Computer, 个人电脑) 在家庭中的广泛普及, 计算机对我们的生活产生了深远的影响。如今, 不仅是 PC,与我们生活息息相关的手机、平板等也广泛应用了计算机。通过此文来介绍一
    的头像 发表于 05-09 15:57 1229次阅读
    浅析<b class='flag-5'>计算机系统</b>的组成

    计算机系统如何应对大模型时代的挑战与机遇

    “操作系统管理着计算机的资源和进程,以及所有的硬件和软件。计算机的操作系统让用户在不需要了解计算机语言的情况
    发表于 01-23 11:06 516次阅读
    <b class='flag-5'>计算机系统</b>如何应对大模型时代的挑战与机遇

    计算机系统的组成和功能

    计算机系统是一个复杂而庞大的概念,它涵盖了计算机硬件、软件以及它们之间相互作用的所有元素。为了全面而深入地探讨计算机系统,本文将从定义、组成、功能、发展历程以及未来趋势等方面进行详细阐述。
    的头像 发表于 07-24 17:41 753次阅读