进程-操作系统结构

简介: 进程-操作系统结构

进程-操作系统结构

中文仅本人理解,有错误请联系我。

操作系统为不同方面服务,有不同的设计角度。

为用户: 使用

为程序员:创造

程序员需要关注的就是system call接口的调度

file systems:ntfs,ext4

communication:进程之间通信的服务,让它们可以互相传递数据

UI.(user interfaces)分类:

CLI.:linux shell

GUI:图形化接口

batch:包含命令和指示的一个文件,类似于批处理文件

system call分类:

系统调用的实现代码是操作系统级别的

这个接口通常是面向程序员的

system call开放api,程序员只需要放入api需要的对应参数,得到api返回的对应值。

例如:调用printf这个写在c的lib库中的api

user mode和kernel mode双重模式

用户模式:执行用户代码

内核模式:执行操作系统代码

状态码 0代表内核模式,1代表用户模式

上面知道了操作系统是如何设计陷阱来让一个进程在用户模式和系统模式切换

那么我们在切换到系统模式的时候还需要调用系统级别的函数。

那么上面的问题操作系统是如何实现的呢?

系统调用有一个编号

程序调用时,程序会把需要调用的系统调用好写入一个寄存器,内核从寄存器中读取这个编号,查索引表,确定调用system call函数。

程序产生的进程号是一个随机数,也就是一个动态分配的号码,但是此进程所产生的系统调用号是固定的

操作系统的设计思路

设计目标:

用户目标:美观,舒适度

系统目标:调用api通用性

机制与策略的分离:

机制(machanism):如何做,系统如何调度程序在用户模式和系统模式进行切换

策略(policy):做什么,在多进程(任务)的复杂情况下,谁先谁后是个问题

微内核操作系统:是一个机制和策略分离系统的典型模板如mac os的内核。

GNU/LINUX:

Open-source os

Close-source os

hybrid os

GUN is not Unix

Unix是要钱的,但是GUN的目的是在付费系统上开放软件代码。

GUN项目的发布需要满足GPL

由于开源思想的盛行,并逐渐被一群极客推崇,所以就有了类unix 内核的linux 内核出现

linux著名的发行版本

相关文章
|
3月前
|
存储 监控 算法
基于 Go 语言跳表结构的局域网控制桌面软件进程管理算法研究
针对企业局域网控制桌面软件对海量进程实时监控的需求,本文提出基于跳表的高效管理方案。通过多级索引实现O(log n)的查询、插入与删除性能,结合Go语言实现并发安全的跳表结构,显著提升进程状态处理效率,适用于千级进程的毫秒级响应场景。
176 15
|
11月前
|
存储 Linux API
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
377 32
|
算法 调度 Python
深入理解操作系统中的进程调度算法
在操作系统中,进程调度是核心任务之一,它决定了哪个进程将获得CPU的使用权。本文通过浅显易懂的语言和生动的比喻,带领读者了解进程调度算法的重要性及其工作原理,同时提供代码示例帮助理解。
|
调度 开发者 Python
深入浅出操作系统:进程与线程的奥秘
在数字世界的底层,操作系统扮演着不可或缺的角色。它如同一位高效的管家,协调和控制着计算机硬件与软件资源。本文将拨开迷雾,深入探索操作系统中两个核心概念——进程与线程。我们将从它们的诞生谈起,逐步剖析它们的本质、区别以及如何影响我们日常使用的应用程序性能。通过简单的比喻,我们将理解这些看似抽象的概念,并学会如何在编程实践中高效利用进程与线程。准备好跟随我一起,揭开操作系统的神秘面纱,让我们的代码运行得更加流畅吧!
|
9月前
|
缓存 运维 前端开发
|
9月前
|
缓存 运维 前端开发
阿里云操作系统控制台:高效解决性能瓶颈与抖动之进程热点追踪
遇到“进程性能瓶颈导致业务异常”等多项业务痛点时,提供高效解决方案,并展示案例。
|
11月前
|
前端开发 JavaScript 开发工具
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
696 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
12月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
1394 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
C语言 开发者 内存技术
探索操作系统核心:从进程管理到内存分配
本文将深入探讨操作系统的两大核心功能——进程管理和内存分配。通过直观的代码示例,我们将了解如何在操作系统中实现这些基本功能,以及它们如何影响系统性能和稳定性。文章旨在为读者提供一个清晰的操作系统内部工作机制视角,同时强调理解和掌握这些概念对于任何软件开发人员的重要性。

推荐镜像

更多