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

操作系统 和 初识进程

目录

操作系统(OS)

进程


操作系统(OS)

  • 概念

操作系统即os,是一款软件。 任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。

操作系统的本质是一种进行软硬件管理的软件

笼统的理解,操作系统包括: 内核(kernel) , 其他程序

  1. 内核(进程管理,内存管理,文件管理,驱动管理)
  2. 其他程序(例如函数库,shell程序等等)
  • 设计OS的目的

手段: 通过对下的软硬件资源的管理,使软硬件资源   稳定的, 高效的 , 安全的 ,能进行良好的工作

目的: 操作系统对上要给用户提供一个稳定的,高效的,安全的运行环境

操作系统是一个层状结构

三. OS如何进行管理

管理的本质就是对数据进行管理

操作系统通过驱动程序获取底层硬件的数据,从而对硬件做管理就转换为操作系统对数据的增删查改, 底层硬件通过驱动程序获得操作系统下达的命令。

任何计算机管理的思路->先描述,再组织。 先描述是指 将事务转化为对应的模型,然后通过数据结构等对其进行组织。

为什么现在所有的主流面向对象语言都需要提供:1. 面向对象 2. 标准库,eg:stl

因为: 1.面向对象 提供了 “先描述” 的能力 2. 标准库 提供了 “再组织” 的能力

上层用户不能绕过操作系统直接访问硬件,即程序不能直接访问硬件,用户对硬件进行写入时都需要经过操作系统。

操作系统对必须向上提供接口,方便上层使用---开放(只开放),system call(即系统调用接口),因为操作系统是c语言写的,因此提供的这些接口也只是c语言接口

用户操作接口 是 将 system call 封装成各种库, eg: glibc , libc++库 等都是 对 system call 的一些接口进行了封装

四. 定位

在整个计算机软硬件框架中,操作系统的定位是:一款纯正的“搞管理”的软件

进程

进程管理---先描述,再组织。  先描述出 “进程“ , 再对”进程“进行管理

操作系统(kernel) 通过 进程的属性数据 来对 进程进行管理。

  1. 概念

内核观点: 担当分配系统资源(CPU时间,内存)的实替

课本概念: 程序的一个执行实例,正在执行的程序等。

2.具体解释进程

操作系统内核kernel 是第一个被加载到内存的程序。

磁盘的程序 要被 加载到 内存中(即input), 内存中 加载 myexe的代码和数据。

由于 操作系统内核kernel 要进行 进程管理 ,进程管理 需要 进程的属性, 因此 操作系统 为了管理进程, 操作系统会在进程被加载到内存的同时 创建 PCB 来 描述 进程(即存储进程的属性) , 每个PCB内存储了对应的进程属性, kernel 通过 进程的属性 来调控,调度 对应的进程 , 每个 PCB 链接起来,形成队列。

Tast_struct 是Linux下的PCB的描述

进程 = 内核数据结构(PCB) + 代码和数据

为什么要有PCB? 因为操作系统要管理进程,必须要先描述,再组织。 必须用PCB来把 代码和数据 进行描述 并 进行组织。

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

相关文章:

  • QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片
  • 深度学习:终身学习(Life-Long Learning)详解
  • 前端UI框架
  • 最佳副屏串流解决方案:如何低成本打造电脑拓展副屏?
  • SQL Injection | SQL 注入概述
  • 【Linux 从基础到进阶】磁盘I/O性能调优
  • 浅谈AGI时代的“数据枢纽”——向量数据库
  • 生成 Excel 表列名称
  • 基于yolov10的烟雾明火检测森林火灾系统python源码+pytorch模型+评估指标曲线+精美GUI界面+数据集
  • UltraISO(软碟通)制作U盘制作Ubuntu20.04启动盘
  • 【EtherCAT实践篇一】TwinCAT 3安装、使用
  • 4、CSS3笔记
  • Docker无法拉取镜像解决办法
  • Ubuntu 20.04安装Qt 5.15(最新,超详细)
  • 桂林旅游一点通:SpringBoot平台应用
  • 【WPF】04 Http消息处理类
  • 如何精准设置线程数,提升系统性能的秘密武器!
  • 正则表达式:从入门到精通
  • CRMEB标准版Mysql修改sql_mode
  • linux驱动访问的地址为虚拟地址
  • 基于SpringBoot+Vue+uniapp微信小程序的社区门诊管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 使用WPF写一个简单的开关控件
  • FPGA采集adc,IP核用法,AD驱动(上半部分)
  • MongoDB 如何做mapreduce
  • Vue是一套构建用户界面的渐进式框架,常用于构建单页面应用
  • c++ 桶排序(看这一篇就够了)
  • 格点拉格朗日插值与PME算法
  • 【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)
  • jmeter中用csv data set config做参数化2
  • 背包问题整理