Author Archives: yshurik
Ru: Archive: Небольшой эксперимент сетевой независимости (2013)
Где-то год назад я решил для себя провести небольшой эксперимент. Я заметил что привязка к облачным сервисам становится всё более проникающей, и подумал проверить — что собственно нужно для того, чтобы немного отвязаться от серверов разных корпораций бобра. Задача была в том чтобы попробовать насколько мощное или простое железо нужно для небольшего домашнего сервера
Thinking about user interfaces, part 3
Part 1 Part 2 Now interesting question, are there user interfaces which based on “verbs”. Well, I know at least one called drakon-editor: http://drakon-editor.sourceforge.net/ That is extremely powerful tool or a user interface which allow to design algorithms: So you can see, that looks as really totally verb-based user interface. It is very efficient but […]
Posted in Blog, Ideas, Inferno OS, Research Leave a comment
Thinking about user interfaces
Had some time to look into implementation of gui in inferno and take some thoughts. First maybe about history of graphics user iterfaces and how they brought us to the current situation. How a computer iteracts to an user? Very first implementations of are just clones of typewriting process – user types on keyboard and […]
Posted in Blog, Ideas, Inferno OS, Misc, Research 2 Comments
Performance
I continue testing the performance. I made a SD card with 100MB partition and changed config.txt to boot directly kernel. And WOW! It looks like the whole OS is loaded up to wm/wm in just 1 sec! ps. for some reason mice does not work, probably need some adjustments for usb mice driver…
Posted in Blog, Inferno OS, Raspberry Pi, Research, Usb Leave a comment
Performance, loop 4, solution
I decided to make some simple and temporal solution (but maybe permanent? :) ) In os/port/dis.c in vmachine() have static var indicates when GC was completed last time and start new routine of GC only when at least 500 msecs passed: void vmachine(void*) { Prog *r; Osenv *o; int cycles; static ulong lastgcmsec =0; startup(); […]
Posted in Blog, Inferno OS, Raspberry Pi, Research Leave a comment
Performance, loop 3
When look deeper into tracing what happens when print() is casted I tried to minimize all codes – copied code of sieve into rpiinit.b, removed everything extra, so whole rpi start does only math/sieve. Then if press ^T^Tp (Ctrl+T,Ctrl+T,p) I see in console list of processes (not dis progs, but processes): idleticks:0 f3e148: 1: interp […]
Posted in Blog, Inferno OS, Raspberry Pi, Research Leave a comment
Performance, loop 2
There are still problem with performance, after some experiments i distilled it to next case: Execution of time math/sieve 1000000 >/dev/null takes about 170 secs Execution of modified math/sieve with commented print() takes only about 3 secs. So there is a real problem of using syscalls which operates with filesystems. (because even print()/fprint() leads to […]
Posted in Blog, Inferno OS, Raspberry Pi, Research Leave a comment
Problem with dossrv
Just made new attempt with new SD card and found that with defaults: 4GB dos formatted (full sd) is not mounted during boot. With booting kernel-nogui.img I got a console and had a look. Looks like dossrv has problems with supporting large partitions. So for now if you would like to boot 0.3 release please […]
Posted in Blog, Inferno OS, Raspberry Pi 1 Comment
Inferno-rpi-0.3 release
Releasing Inferno-rpi-0.3 Changes: * Enabled JIT * Included recent updated of Inferno-Os * Memory split 240/16 * devcons is added Download: * https://bitbucket.org/infpi/inferno-rpi/downloads/inferno-rpi-0.3.zip Installation: 1. Download latest zip package from https://bitbucket.org/infpi/inferno-rpi/downloads 2. Pepare SD card with just one DOS partition (just format into the dos) 3. Unzip all files to SD (boot.scr, kernel.bin, … – […]
Posted in Blog, Inferno OS, Projects, Raspberry Pi, Release 2 Comments
JIT is ON
My research about JIT in inferno-rpi is ended. The cause was obvious but until you does not know about and search through sources, doing debugging, tracing, experimenting – you would not know what it is. So it is simple – DIS op codes are compiled into ARM machine routines and when compilation is finished it […]
Posted in Blog, Inferno OS, Raspberry Pi, Research Leave a comment
JIT is off
I decided to have a look at the problem of speed – it is really visible that inferno os on raspberry is slow. My fisrt opinion was about probably disabled caches, but I was wrong – it works fine. After keeping searching I realized that Inferno-Rpi is actually has JIT off. Oops! That is controlled […]
Posted in Blog, Inferno OS, Raspberry Pi, Research Leave a comment
Lab 22, Usb keyboard
In previous lab we approached very close to get working Usb devices. In this lab we will try to get Usb keyboard working:
Posted in Blog, Inferno OS, Raspberry Pi, Research, Usb Leave a comment
Lab 21, porting usbd, fixed in allocb, see usb in actions
From previous lab 20 we got /dev/usb connected in our system, but what to do with it? Different systems handling usb in different ways, but Inferno and Plan9 has /dev/usb just as communication filesystem which should managed not by kernel but user-space process usbd which by communication with the file server manages the connectivity and […]
Posted in Blog, Inferno OS, Raspberry Pi, Research, Usb Leave a comment
Lab 20, devusb, usbdwc and firq, first step to usb
To have our Inferno to communicate with external world we need to have the USB supported as most important parts including ethernet controller and keyboard are behind the USB subsystem. I had a look what parts the Inferno already had for usb support and what was implemented in 9pi. So I decided just to compile-in […]
Posted in Blog, Inferno OS, Raspberry Pi, Research, Usb Leave a comment
Lab 19, keyboard through serial, fixes to get Ls
In previous Lab we got a screen working, but still no way to send commands into Raspberry computer. My guess that for time being it just simple enough to make the keyboard input coming from serial cable, so then I can play with Sh on raspberry and do some simple experiments onboard until I will […]
Posted in Blog, Inferno OS, Raspberry Pi, Research 1 Comment
Lab 18, we have a screen!
Before the Lab the development was going in total darkness…, um I meant using serial ftdi usb cable. But time comes to have a light screen. Amazingly it wasn’t so complicated. Yes, we just used codes from 9pi project (thanks to Richard Miller). Our expected result is:
Posted in Blog, Inferno OS, Raspberry Pi, Research 4 Comments
Lab 17, mmu init
What is fun about Inferno OS that our CPU may not have MMU support and still we are able to port Inferno to such architecture. That’s because Inferno OS implements Dis virtual machine and all users processes are actually Dis byte-codes interpreters on JIT compiled. So address space is virtual by software layer and it […]
Posted in Blog, Inferno OS, Raspberry Pi, Research Leave a comment
Lab 16, Adding clocks, timers, converging to 9pi codes
We are starting new season of the labs. Season 2 will be named as “Close to hardware”. And we start from important point to have clocks and timers working. But first we made a decision to make our codes close to 9pi source codes, especially assembler parts. But we found it little complicated as UReg […]
Posted in Blog, Inferno OS, Raspberry Pi, Research Leave a comment
Lab 15, Eve, Hello World from Limbo!
It is our 15-th Lab and it is the time came to make birth of the process Eve, run Dis virtual machine and our first Limbo program!
Posted in Blog, Inferno OS, Raspberry Pi, Research 7 Comments
Ru: Archive: Делаем свою Time Machine для Линукса (2012)