UNIX/LINUX操作系统内核结构

news2024/11/14 17:59:17

通用操作系统的现状和分类
在这里插入图片描述
在这里插入图片描述
UNIX操作系统的根本特点:分时多用户、开放性
在这里插入图片描述

基本功能特征
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
系统结构
在这里插入图片描述
操作系统核心
系统调用的集合及实现系统调用的内部算法就形成操作系统核心

系统调用
以函数形式提供给核外的命令和上层应用系统使用的一组程序,涵盖操作系统的所有功能。是应用程序请求操作系统服务的唯一通道。

进程和文件是UNIX操作系统中最基本的两个概念
进程:
所有处在运行期间的程序实例都是进程
一个进程就是处在运行期间的一个程序实例
涵盖所有的动态概念
文件
所有静态的无形数据和有形硬件设备
源程序、命令、图片、邮件、 打印机、内存、磁盘等

UNIX文件系统特征
1、树状层次结构
树根、树枝、树叶、路径
2、对文件数据的一致对待
文件为有序无格式的字节流,逻辑意义由使用者解释
3、文件管理
建立、删除、修改、备份、移动、替换 —— 上层操作
存储空间的分配和释放 —— 下层操作
4、文件的访问和保护
索引节点(inode)、文件描述符(fd)
用户分组、权限划分
5、设备文件管理
统一各外部设备的访问模式

程序与进程
在这里插入图片描述
在这里插入图片描述
程序的执行
在这里插入图片描述

构件原语
源于“软件复用”和“模块组装”理念
程序内部:简单功能划分;纯代码设计
程序外部:使用构件原语进行功能重叠和组装

NUIX包含两种构件原语

  1. 输入/输出重定向
  2. 管道

I/O重定向
一个进程通常(default)打开三个文件:
标准输入文件(fd=0)
标准输出文件(fd=1)
标准错误输出文件(fd=2)
在这里插入图片描述

管道
在这里插入图片描述
A进程将标准输出重新定向到管道中去;
B进程将标准输入重新定向从管道中来。
在这里插入图片描述

UNIX操作系统提供五种主要的服务
1.进程管理
建立、终止、挂起、通信等
2.时钟管理
分时共享cpu,时间片,调度
3.存储管理
二级存贮器(内存和对换区),分配主存
4.文件系统管理
文件操作:读、写、更名、拷贝 ……
二级存贮管理:分配和收回存贮区和索引节点
5.设备管理
对I/O设备进行有控制的存取(多进程系统的特征)

内核提供的服务的特点:服务是透明的
①文件类型透明:
用户可不关心是普通文件还是外部设备,但O.S自己要关心文件类型!
②文件系统的透明:
文件系统类型、存放的物理位置。
③存贮方式透明:
文件的存放位置、存放方式、存放格式
④各用户进程能得到核心相同服务:
无论系统程序还是用户程序,平等对待,分时运行

硬件假设(假设机器硬件只支持的运行状态)
UNIX系统上进程的执行分成两种状态:用户态、 核心态
用户态:进程正在执行用户代码时的状态
核心态:进程正在执行系统代码(系统调用)时的状态
在这里插入图片描述
一个进程在运行时必须处在,而且只能处在或者核心态或者用户态下:
在这里插入图片描述
在这里插入图片描述
核心——处在核心态下的进程的相应部分的集合

硬件是按核心态和用户态来执行操作的,但对这两种状态下正在执行程序的多个用户是相同对待的。

中断与例外

在这里插入图片描述

UNIX系统中的存储管理原则(或特点):
1.当前正在执行的进程(全部或部分)驻留在主存中;
2.核心是永远驻留在主存中的(是永远活动的!);
3.编译程序产生的指令地址是虚地址(逻辑地址);
4.程序运行时核心与硬件(存储管理部件MMU)一起建立虚地址到物理地址的映射
在这里插入图片描述
在这里插入图片描述
“文件”和“进程”是UNIX系统的两个最基本实体和中心概念,UNIX系统的所有操作都是以这两者为基础的。整个系统核心由以下五个部分组成:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

观察者模式

目录 一、观察者模式解决了哪些问题: 二、体检的小栗子 三、什么是观察者模式 四、代码实现 一、观察者模式解决了哪些问题: 对象之间的一对多依赖关系应该在不使对象紧密耦合的情况下定义。应该确保当一个对象改变状态时,自动更新无限数…

5-5:显示系统的通知

通知列表 显示评论、点赞、关注三种类型的通知。 通知详情 分页显示某一类主题所包含的通知。 未读消息 在页面头部显示所有的未读消息数量 通知存在message表里面 修改MessageMapper.java package com.nowcoder.community.dao;import com.nowcoder.community.entity.Messa…

毕业2年,跳槽到我们公司拿18K,这就是00后卷王带来的压迫感吗?

内卷,是现在热度非常高的一个词汇,随着热度不断攀升,隐隐到了“万物皆可卷”的程度。 在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不…

AI 也会写代码了,但我并不担心

如果你比较关注人工智能,可能会注意到最近圈子的人都在刷屏一个 AI 玩意,叫 ChatGPT 。我一直关注的和菜头在他的公众号槽边往事上就接连写了几篇文章。为什么和菜头是男的,读者却要叫他“婶婶”怎么把AI逼到生气水文与干货如果看完上面的第一…

一行代码 网页变灰

背景 想必大家都感受到了,很多网站、APP 在昨天都变灰了。 先来感受一下变灰后的效果。 让网页变为黑白配色,是个常见的诉求。而且往往是突如其来的诉求,是无法预知的。 当发生这样的需求时,我们需要迅速完成变更发布。 这种…

机器学习 决策树 随机森林

文章目录参考决策树指标基尼系数基础公式公式理解引入划分后的公式划分后公式的理解信息熵、信息增益如何理解信息熵两种指标的对比总结参考 b站视频 【决策树、随机森林】附源码!!超级简单,同济大佬手把手带你学决策树决策树模型及案例&…

收藏 外贸企业必备的跨境电商B2B出口报关完整指南

跨境企业想要将货物出口到国外,报关是重要步骤之一,它是货物合法进出国境的通行证。许多初入跨境电商行业的B2B企业在报关上由于无人指引走了许多弯路,浪费了时间。 一.跨境出口模式 根据海关总署规定,跨境电商出口的监管模式分为…

QDataStream(数据流)

QDataStream类实现将QIODevice的二进制数据串行化。一个数据流就是一个二进制编码信息流,独立于主机的操作系统,CPU或字节顺序。QDataStream可以实现c的基本数据类型的串行化。 构造函数: 常用函数 : atEnd()是否到达结束位置re…

基于jsp+ssm的旅游活动报名系统-计算机毕业设计

项目介绍 本系统主要采JSP语言进行编写,本系统数据库采用数据处理功能强大的MySQL来建立 管理员可以通过结伴休闲平台进行旅行社管理、个人活动管理、旅行社活动管理、客户管理、用户管理等。个人用户则可通过结伴休闲平台对进行发布活动、结伴活动等。旅行社用户…

STC15 - ExternalRAM_enable()/InternalRAM_enable()

文章目录STC15 - ExternalRAM_enable()/InternalRAM_enable()概述实验环境MCU的规格区别IAP15F2K61S2的使用限制实验的组合公用测试代码1. 没有焊接外部RAM ExternalRAM_enable()2. 没有焊接外部RAM InternalRAM_enable()3. 焊接外部RAM ExternalRAM_enable()4. 焊接外部RAM…

世界杯狂欢季,家居品牌仅靠4位UP增长2000wB站声量

时隔四年,2022年卡塔尔世界杯于11月21日正式开始,直至目前比赛进度已过半程,这场世界赛事备受各国瞩目,全网有关于“足球”的运动信息接踵而至。 飞瓜数据(B站版)显示,B站平台带有“世界杯”标…

React源码之概念篇

React主要的三部分 这是从ReactDom.render后触发的步骤 调度协调渲染 设计理念 首先在React中需要在浏览器刷新一次就需要执行如下的步骤: JS脚本执行->样式布局->样式绘制,如果js执行时间超过了16.6ms,那么就没有时间留给样式布局…

[附源码]计算机毕业设计良辰之境影视评鉴系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【viper】go 配置管理神器viper使用详解

目录一、viper简介二、基本使用1.viper基本配置2.读取配置3.自定义配置源4.注册别名4.获取环境变量5.获取命令行参数6.多实例使用7.监听配置变化三、读取远程配置四、保存配置一、viper简介 viper是一个应用程序解决方案,它支持在应用程序内使用,特性如…

基于元胞自动机的人员疏散模拟器研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

[前端面试题]:数组去重的几种方法

总结一些日常需要用到的一些api,也是在一些面试中会经常出现的题目,今天分享的是数组去重的几个不同的方法, 同时文章也被收录到我的《JS基础》专栏中,欢迎大家点击收藏加关注。 给大家推荐一个实用面试题库 1、前端面试题库 &am…

魔兽世界开服架设教程—魔兽国服停服时间已确定!玩家该何去何从

《魔兽世界》国服停止运营时间定在,2023年1月24日0点起 近期随着暴雪和网易公司先后发出的公告,《魔兽世界》国服关服时间已经十分确定了,国服停运时间定在明年的1月24号0点起正式关服。随着国服将关闭,魔兽私服即将崛起。毕竟在游…

【Java面试】并发

文章目录线程有那些状态?一个程序来显示状态切换过程正常执行流程阻塞执行流程等待执行流程说说线程池的核心参数wait和sleep的区别Lock和synchronized的区别Lock中Condition的使用说说Java中的悲观锁与乐观锁乐观锁悲观锁Hashtable和ConcurrentHashMap的区别&#…

【玩转算法】(初始)动态规划

本期主题:动态规划,及其相关oj题。博客主页:小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限,出现错误希望大家不吝赐 🍁1)DP定义 动态规划是分治思想的延伸,通俗一点来说…

核酸检测预约系统毕业设计,核酸检测系统设计与实现,毕业设计怎么写论文毕设源码开题报告需求分析怎么做

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于web网页的疫情核酸检查预约系统,整个网站项目使用了B/S架构,基于java的springboot框架下开发;;通过后台设置医院信息、录入医院科室信息、录入医生信息、设…