« 2024年1月 | トップページ | 2024年3月 »

2024年2月

2024年2月28日 (水)

共有メモリー

マルチプロセスの実装は問題ないっぽい
あっさりしたもんだ

しかし、プロセス間通信ではまる
ソケット使えばよいかと思っていたけど
共有メモリなんてのが使えるのが
分かったので、そっちで実装

これもまたシンプルなんだけど...
見た目メモリを共有して居るっぽいんだけど、
これってそう見せてるだけのシステムコールなのかな...

取得されたポインタの値を見ると、
0xb9xx xxxx~とかになってるので、
一応ユーザーエリア内に見えている?ふむ。
元々この辺りってスタックエリアなのか?


しかし普通のメモリーのように、ガサガサと使うと
なんか挙動がおかしい
これは、アクセスを最小限にするのが
よさそうだ。

行けそう?と思ってがりがりと
実装してしまったので、修正が大変。

というか、マルチスレッドだと
この辺、本当に一つのメモリを
それぞれのスレッドでアクセスするので
ゴリゴリのアクセスしても、
ここは問題なかったんだけど。

------

マルチプロセス自体の記述は
シンプルだけど
こういったあたりは
大きく書き換える必要があるな

ソフトが大きくなる前に
早めに確立しておかないと
手が付けられなくなりそうだ

それとも、もっとうまい実装があるのか
有るんだろうなあ...

| | | コメント (0)

2024年2月25日 (日)

マルチプロセス

シングルスレッドでの実装を、
手動で複数起動しての動作はOK

そこでプログラム起動後にforkして、
それぞれプロセスを分けて実装してみる

プロセス間では、お互いに実行されない
コードの集まり?みたいな構造になるけど、
とりあえず、スレッドセーフじゃないライブラリも
機嫌を損ねず、ちゃんと動いているっぽい。

------

なんというか、無駄な動作のような気もするけど
複数プロセスが起動していても、
結局は実行インスタンスが複数あるだけなので
同じコードを2つメモリ上に置いているわけではない
感覚的には、ほとんど余分なリソースは
使われてないのだよな

このあたり、普通のフラッシュマイコン
プログラミングでは、全く縁のない世界だし、
何ならWindows環境だって、
ここまですっきりと実装できない気がする

やっぱり、生まれがそもそもMS-DOSというか
8bit OSのCP/Mからのつながりというか。

------

あんまりやったことない分野だけど
コード書いた分進むので、それはそれで楽しい。

しかしまあ、これって、
いわゆるマイコン系から見ると、
とても初級者向けとは言えない範囲だよなあ...

物を作ってる側からすると、
こんなの出来るのは当然、って感覚
なのかもしれないが.....

普通の技術レベルからすると、
完全に置いてけぼりだよな

だからまあ、picoはlinuxを離れて、
普通のマイコンとして実装されたのかな、
とか考えたりする

| | | コメント (0)

2024年2月24日 (土)

スレッドセーフ

じゃないライブラリをマルチスレッドで使うと、
(見える範囲で)リソース共有してなかろうが、
ロックしようが、結局メモリリークからは逃れられないのか....?

それでは次の対策行ってみようか...
スレッドセーフでないなら、別プロセスで動かせば
いいんだろ???

とはいえ、これだとプロセス間通信の実装が要るけど
それは、まあ、当初から想定の範疇だったけど。

というか、シングルスレッドなら確実に動くよな?
ってのをちゃんと見ておかないとな...

| | | コメント (0)

2024年2月23日 (金)

ミューテックスと割り込み禁止

同じような動作にも見えるんだけど、
使うシーンは近い気もするけど
そもそもユーザーモードで本来の意味の
割り込みが使えるはずもなく、
色々違う挙動をしそうではある。

なんであれ、実際に動くものに実装すると
理解の速度と解像度が段違いだ

| | | コメント (0)

2024年2月18日 (日)

デバイス

ここ数か月くらいラズパイの
カメラデバイスを
いじっていたのだけれど。

これが思いのほか高性能で、
イメージセンサとしての機能を
十分発揮できそうな気がしてきた

勿論、普段使っているような
フラッシュマイコンだと、まったく
能力が足りないんだけど

そこで、次にラズパイあたりが
ターゲットなんだけど
標準の3Bとか4だと、消費電力が
もうマイコンのそれじゃないので、
そもそも趣旨に合わなくなってしまう

------

そこで、ZERO系なんだけどコイツは
シングルコア1GHzのARM11、512MB RAMで
この環境でGUIを動かすのは、
まあ無謀と言っても差し支えない

そんなわけで、一般向けには
ZERO系の人気はさっぱりで、
そりゃそうだろ、という気持ちなんだけど
出荷は順調みたいだし、たぶん、
その筋の業界には、人気が高いんだろうな、と思う

今回、CUIベースで画像(データ)を
扱うような形で使ったんだけど
ああ、ZEROって、こういう向きに
使うんだろうな、っていう気持ちになってきた

------

動いちゃえばすんごく良いんだけど。

そもそもCUI環境で画像処理とか
よく考えなくても、参入障壁高すぎる
気はするな

でもまあ、動き始めたのを見てみると
十分、今の現状の前提条件をひっくり返して
ゲームチェンジが起きそうなレベルではある

| | | コメント (0)

« 2024年1月 | トップページ | 2024年3月 »