一个matepc,mateos,mateapp的goblinux融合体系设计

Android Studio 视频播放失败 start called in state1 异常怎么解决 在使用MediaPlayer播放音频时报出 E/MediaPlayerNative: start called in state 1, mPlayer(0x0) @Override public void onClick(View v){ Bundle b = new Bundle (); switch(v.getId ()){ case R.id.start: //获取一个Message变量,用来传递点击状态的值 msg = myHandle.obtainMessage (); //把状态的值放在Bundle对象里面 b.putInt(“status”,1); msg.setData(b) 立即下载

本文关键字:将桌面环境,toolchain设计为subsystem,rootfs as Xaas,rootfs层次的虚拟化,非Virtual OS Infrastructure,第二PC,模块化机箱,第二PC,存储,计算分开机箱,nas另置主机,mirror os,mateos,自建icloud,本地远程通用的云os,云app

在《bcxszy:applvl programming》整个选型中,虽然我们经常强调xaas,langsys,appstack,app四栈一体的开发,但xaas跟其它部分在本书中一直是分开的并割裂成二部分,我们一直将眼光聚焦在applvl开发,却视xaas平台为devops工具,装机运维和虚拟化容器层面的东西,这些只是高于开发并不影响开发的东西,它本身并没有任何开发元素的整合:比如一种语言,一种运行时,一种库,一种appmodel,一种问题,etc…,因此它本质上跟applvl的开发并没有得到整合,本书目录制定上,第一部分的xaas部分《OS/TOOLCHAIN LANGSYS/XAAS》主要解决接下来为《APP LANGSYS/MIDDLEWARE STACKS/DEVOPS TOOLS》定制xaas服务的过程,xaas只是一直为applvl开发作铺垫,在《bcxszy》的序言中我们的选型也一直是语言系统和开发开始的,没有平台选型相关的部分。

这是因为传统XAAS系统编程领域与applvl编程领域是分开的,它可以不是直接的app hosting影响开发 —— 事实上,大部分虚拟机语言和开发体系都是这样处理的:将app托管在另外的hosting,脱离和超越native平台的编程和软件开发才是主流。大部分专用os也都是这样处理的如lnmp这样的东西它强调的是一种串序的四栈结构,它将linux作为xaas,php作为langys,nm appstack作为appstack,把webapp作为appmodel。

而xaas可以是一种新型的平台,因为慢慢地,在整个第一部分,我们发现,我们也可以将一些applvl开发的部分及早地上升到os层次。如GO作为分布式语言,它更进了一步,它将lang vm整合进入了app。如plan9和usermode plan9,它将分布式协议实现在kernel或rootfs,进而影响这种OS xaas下的app开发。——— 也就是说:在开发相关的四栈整合处理中,它可以以整合后三者的乱序方式进行,甚至它能居于langsys和appstack之上或寄宿其中。整合《bcxszy》的第一,二部分为真正的四栈一体的一部分。并制作出一种新的专用OS - goblinx。

Xaas的选型:高于开发的部分,和融合开发的部分

来归纳一下整书我们对xaas的选型路径:

在《发布一统tinycolinux,带openvz,带pelinux,带分离目录定制》系列中,我们讲到了一种host与guest分离,支持实机虚拟化,并良好组织在/system下的linux设计 — the pe as mainly装机系统,那时我们集中于装机的想法,我们想得到一个类似esxi 的东西,相信兼容os一直是人们的一个梦想,而我们一直都没有到达过,这种兼容OS的思想在《兼容多OS or 融合多OS?打造基于osxpe的融合OS管理器》一文中再次被提到。

在《利用hashicorp packer把dbcolinux导出为虚拟机和docker格式》系列中,我们加入了devops思想,并去掉了为实机/裸金属/云主机作装机虚拟化hypior的首要需求,弃ovz选用这次的lxc主要是为了devops。lxc可以作为app容器,也可以作为系统容器,我们还是将其实现为一个pe。

这一代的dbcolinux是一个融合os(比如用osx base当parallesdesk的os,windows和osx作为其subos,这样osx base就是pd的专用os了)的不断增强,接下来的二个增强就强烈涉及到了开发:

在《打造一个Applevel虚拟化,内置plan9的rootfs:goblin(1)》中,我们提到了整合go,plan9到这个linux的思想:并提到了这样做的底层依据:整合busybox或plan9这样的live demo服务到每一个app作rootfs虚拟化,将虚拟集成到APP级,可以促成无架构APP,最重要的,将虚拟化做到app级,可以将devops也做到app级,比如,工具级的IDE就能生成app包做到包管级。利用一个工具Provisioner了,这二者可以达成最简单最实用的编程典范。plan9这种协议,是天生的本地远程同步/通讯协议,可以免协议开发(因为它是demo级的,甚至不是一个lib)在本地和远程都能运行的APP,且无修改地工作在一个OS下,就如同git p2p协议一样。由于它也是一种同步协议,甚至可以为每一个 app建立如pouchdb一样的内容同步机制。这样更接近天然云化了。

甚至hyperkit,Lektor:用开发本地tcpip程序的思路开发webapp,Shell式编程:会用就能编程,把问题域整合进系统域。这种思路,我们都提到了。

最终在《一种含云主机集群,云OS和云APP的架构全融合设计》中,我们提到分布式架构的本质问题是OS和APP的选型和实现问题,这就是说,在整创出新xaas,langsys,appstack,app四栈处理中,OS是一个可以将APP和APPDEV上升先行的路径,比如在OS级自带分布式支持的系统肯定出来的

本文即是上文《一种含云主机集群,云OS和云APP的架构全融合设计》关于goblinux的特化版。

Goblin基于上述融合设计的强化

在上文《一种含云主机集群,云OS和云APP的架构全融合设计》中,我们从这种OS适用的硬件,集群开发,所用的OS到所开发的APP都讲到了,那么现在,我们继承从tinycolinux->dbcolinux->goblinux系列的成果,一点一点,将前2者附加到整合了后者的版本上去:goblinux的实现实用版本。

在硬件上,goblinux,就不追求多PC集群了,为实用起见,它可以是二台PC,大体上,这二台PC是计算和存储分开的机箱设计,你可以想象它为一台类似群晖mini itx机箱nas上面又加了一块主板,市面上这种mini itx模块化机箱蛮多的,但双主板和不多见,在这种设计中,主存储的主板可以用nano itx或更小一点的pico都可以,主计算和日常使用的那块主板可以接近一台普通mini itx。如果可以,你也可以三主机,一台路由器主机,但实际上,路由器更适合与前二者分体,这二台pc,一台装gui生产/开发环境。一台装file server/mirror cloud环境。都是goblinux子系统。

在OS上,也可以是一个管理器下的二个融合OS,主pe的goblinux就是像群晖那样的rom boot = grub+kernel+srs driver libs+bootpe,它很小。这个主PE goblinux内含三个系统,一个guy desktop,一个file server, 一个connect server, 对应上面的三主机。前二个OS是标配,要做成融合结构,代表分布式的本地/远程端,一个GUI,一个mirror tolocal远程osstub,它里面没有app,不需要维护,是个黑盒,没有界面,只有数据。但是也不给维护接口。所有的操作在local mirrored gui操作系统,Mirror os可用于装在上述提到的本地另外一台nas pc上,也可以装在纯软件融合os管理器下的file server子系统上。file server也可放广域网追求异地文件备份效果只是交互性能大减。可脱网使用,重新联网时,将同步远程。注意这并不是VOI,VDI那套。

开发支持上,如上所述,这是一种天然的分布式APP和云化APP开发内置的软硬结构。它有以下几个特点:

如上所述,用go,且利用9p实现无须协议交互的本地远程p2p,写git之类的东西,因为plan9有os级的实现也有linux的userspace实现品,甚至有9p lib。demo态,可以in the kernel, or embedded in a subos,rootfs,or app,运行态与开发态的区别是,demo级rootfs的9p是运行级的不需被编程,而开发级的是预编程。9p usrspace 9p是demo level级的。为现阶段简单起见,plan9p只集成在usrspace级,且用demolvl的。

—————

本文过后,我们会一步一步整合实现接近上述理想化的goblinux,无论如何,我们这是在将平台选型慢慢地实践弄成一个现实品的过程,和强化goblinux的最终过程。

Xaas内容过多,为清晰化起见,我们依然选择不整合第一二部分目录。



(此处不设回复,扫码到微信留言,或直接点击到原文)

杰理AC696N系列芯片外部中断使用教程 本教程详细介绍了杰理AC696N芯片的GPIO引脚中断唤醒功能实现方法。主要内容包括: 功能特点: 支持任意GPIO引脚配置为中断源 可灵活选择上升沿或下降沿触发 提供自定义中断回调函数接口 核心实现: 通过port_wkup_interrupt_init()函数配置GPIO属性 使用request_irq()注册中断服务程序 提供中断使能/关闭接口 注意事项: 此功能在低功耗模式下无效 需注意引脚冲突和中断优先级设置 建议在回调函数中实现简洁的逻辑 应用场景: 按键检测 外部信号监测 事件触发等 本方案提 阅读详情

相关推荐

Score Matching(得分匹配)

Score Matching(得分匹配)是一种统计学习方法,用于估计概率密度函数的梯度(即得分函数),而无需知道密度函数的归一化常数。这种方法由Hyvärinen在2005年提出,主要用于无监督学习,特别是在密度估计和生成模型中。

weixin_39699362的博客 2168

android mediaPlayer error (-38,0) 解决方法

android实现音乐播放时stop之后再次start播放音乐播放不了的解决方法 报错如下: 把原先的stop代码 voice.stop() 改成 voice.pause(); voice.seekTo(0); 就可以了

xssywsh的博客 1150

OpenGL绘制简单场景,实现旋转缩放平移和灯光效果

本项目实现了用OpenGL绘制一个简单场景,包含正方体、球体和网格,实现了物体的旋转、缩放、平移和灯光效果。附有项目完整代码,有详细注释。适合初学者熟悉opengl使用。

张竞成的博客 1万+

使用MediaPlayer播放视频,报错误码error (-38, 0)

将start() 方法调用放到。已经处于正确的状态。

CHenhong_666的博客 1443

芯片设计新思路:如何用SystemC+TLM2.0快速搭建ESL性能模型(附GEM5实战案例)

本文探讨了在芯片设计早期利用SystemC和TLM2.0标准快速构建电子系统级(ESL)性能模型的方法。通过对比不同抽象层次,详细介绍了如何搭建事务级模型,并与GEM5仿真平台协同,实现高效的架构探索和性能评估。文章最后通过一个片上网络(NoC)带宽优化的实战案例,展示了该方法如何驱动数据驱动的设计决策,从而在流片前规避风险、优化芯片性能。

fire9的博客 370

FPGA实战:MIG IP核AXI接口DDR3读写优化指南

本文详细解析了FPGA中MIG IP核AXI接口的DDR3读写优化策略,涵盖关键参数配置、突发传输技巧及时序收敛方案。通过AXI接口优化和突发长度选择,可实现高达12.8GB/s的理论带宽,提升DDR3访问效率。文章还提供了Vivado配置实例和调试技巧,助力开发者解决FPGA内存控制中的实际问题。

weixin_29168393的博客 546

音频的播放-播放应用资源文件、播放应用原始文件、播放外部存储器上的音频文件、播放来自网络的音频文件

音频的播放-播放应用资源文件、播放应用原始文件、播放外部存储器上的音频文件、播放来自网络的音频文件

qq_50272406的博客 1076

opencv实现“找茬”

// 111.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; #define CVX_RED CV_RGB(0xff,0x00,0x00) #define CVX_BLUE CV_RGB(0x00,0x00,0xff)//定义宏,轮廓边框颜色 in

yanHa007的专栏 2095

解决Android MediaPlayer错误之MediaPlayer start called in state 0

该APP主要功能是播放和录音。 但是使用Timer计时器实现在子线程中自动每次录5秒,共录33次。 player 为MediaPlayer对象。 在启动播放时使用player.start() 结束播放时使用player.stop() 然后不断开始结束 但是第二次时会出现报错MediaPlayer start called in state 0。 然后查了一下这个问题,就是如果是第一次...

qq_23128065的博客 1万+

别再死磕V1了!手把手教你用WPS Web Office V3 SDK快速集成(附Java Demo避坑指南)

本文详细介绍了如何从WPS Web Office V1迁移到V3版本,重点讲解了V3在性能、安全性和扩展性上的优势,以及Java开发者如何快速集成V3 SDK。文章包含核心功能实现、高级功能适配(如Solon框架)和常见问题排查指南,帮助开发者高效完成迁移并避免常见陷阱。

weixin_27215337的博客 336

EPO: Hierarchical LLM Agents with Environment PreferenceOptimization

长期决策和规划任务依然是基于大型语言模型(LLM)的智能体面临的一大挑战(Valmeekam 等,2023;Liu 等,2023;Silver 等,2024)。这些任务需要智能体进行多步骤的规划,同时保持行为的一致性和目标导向,这对于通常被设计用于即时和局部预测的大型语言模型来说颇为困难。此外,针对具身智能体的大型语言模型微调面临的一个关键难题是大规模标注数据的需求(Reed 等,2022)。

qq_52053775的博客 142

MetaAPP面试题总结

刚刚面了MetaAPP,现在将没有答出来的问题记录下来。 1. HashMap怎么处理多线程的冲突 后端---java中hashmap多线程并发问题详解_Nagile-zhou博客-优快云博客_hashmap多线程问题 2. ArrayList扩容机制 ArrayList扩容机制(基于jdk1.8)_烟雨星空的博客-优快云博客_arraylist扩容机制 3. ArrayList和LinkedList的继承类(大概是这个意思) 关于ArrayList和LinkedList继承类与实现接口的比

haohulala的博客 2493

YOLOv8改进:基于EfficientNetV2均衡缩放网络的特征提取层优化【YOLOv8】

YOLO(You Only Look Once)系列模型以其高效的实时目标检测能力而闻名。YOLOv8作为该系列的最新版本,通过引入改进的网络结构和算法优化,进一步提升了目标检测的性能。然而,YOLOv8在特征提取阶段的网络结构仍有改进的空间。EfficientNetV2是一种基于均衡缩放的卷积神经网络,它通过优化网络的宽度、深度和分辨率来实现高效的特征提取。与之前的EfficientNet版本相比,EfficientNetV2在速度和精度上都有显著提升,尤其在处理复杂目标检测任务时表现尤为突出。

博客 1582

MediaPlayer 报 start called in state 1

package com.ncu.thorgame.service; import java.io.IOException; import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.Environment;

qq_34650560的博客 1696

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

go linux 源码编译环境,Linux 源码安装 GO 环境

Go 安装1.4以上的版本出现的问题个人在安装 go1.9.2 的时候,一直 提醒的错误是:Building Go bootstrap tool.cmd/distERROR: Cannot find /root/go1.4/bin/go.Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.步骤如果之前已经安装过老版本的 Go,清除 $GO...

weixin_28944067的博客 285

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android MediaPlayer Error (-38, 0) “stop called in state 0”

I have looked at various different websites looking for a solution for this problem in my code. It is a basic audio player with 3 buttons: play, pause and stop. Play and pause work ok and so does stop

沐怡旸的专栏 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MediaPlayer(3340): attachNewPlayer called in state ***

 E/MediaPlayer(3340): attachNewPlayer called in state 128使用MediaPlayer播放时第二次播放就遇到这个问题,看了下文档最简单的解决办法就是在每次调用播放之前,先reset一下player,就ok了==================ERROR/MediaPlayer(9974): start called in state 64 ER...

irizhao的专栏 5371

E/MediaPlayer: start called in state 4, mPlayer(0xcc719a40)解决

在使用MediaPlayer播放音频时报出E/MediaPlayer: start called in state 4, mPlayer(0xcc719a40)错误 贴出代码 mMediaPlayer.reset(); mMediaPlayer.setDataSource(audioList.get(0)); mMediaPlayer.prepareAsync(); mM...

djh10000的博客 3399

音乐播放器之--错误状态下调用导致的异常

MediaPlayer必须在合适的状态下调用合适的方法,否则会出现异常,下面列出常见错误信息和说明: 1、E/MediaPlayer(11310): stop called in state 1 调用 stop()之前,MediaPlayer的状态不在【Started, Paused, Prepared or PlaybackCompleted state】范围内。只有在这个范围内的状

zhengxiangwen的专栏 1万+

android错误之MediaPlayer用法的Media Player called in state *

用到Media Player,遇到几个问题,记一下用法就不说了,使用的时候最好参考一下mediaPlayer的这张图第一个错误是Media Player called in state 8这个是因为在调用start之前没有prepare,因为我是用了mediaPlayer = MediaPlayer.create(context, R.raw.notice);去初始化的播放器,这个接口说明只要成功

一个本科小生的奋斗史 3万+

【Android】- MediaPlayer错误之MediaPlayer start called in state 0

MediaPlayer start called in state 0 主要原因在于start()出现问题,在start()播放开始之前没有调用prepare(),在初始化MediaPlayer时,通过create()方法设置数据源,则不能写mediaPlayer.prepare()方法,只要成功返回播放器就不需要prepare,但是: 如果反复多次调用了start()和stop()方法,就会出现MediaPlayer start called in state 0 错误,因此需要在start()之前必须重

baidu_hxl的博客 1万+
上一篇: 一个隔开hal与langsys,用户态专用OS的设想
下一篇: 一种追求高度融合,包容软硬方案的云主机集群,云OS和云APP的架构全设计
Minlearn
博客等级 码龄18年 20粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值