Phantom project discussions
[Most Recent Entries]
[Calendar View]
[Friends]
Below are the 20 most recent journal entries recorded in
Phantom project discussions' LiveJournal:
[ << Previous 20 ]
| Wednesday, March 14th, 2012 | 10:56 am [ufm]
 |
Вопрос
Дим, вопрос к тебе, как к идеологу. Скажи, а в Фантоме предусмотрено понятие "транзакция"? Грубый пример что я имею в виду: A = 5; B = 6; C = 0; D = 7; try { A = 10; B = 12; D = B / C; } catch { // Вот в этой точке хотелось бы иметь возможность откатить всё, что мы понаделали в try{}. } Понятно что мы живём в однонаправленном мире, но ты же всё равно как-то с этим бороться собираешься. | | Tuesday, January 31st, 2012 | 10:06 pm [gineer]
 |
| | Friday, May 27th, 2011 | 1:31 pm [dz]
 |
debugger started
tools/pdb - object land debugger, minimal implementation - object inspector can connect to pvm_test only, real kernel has no debugger stub yet. | | Friday, March 25th, 2011 | 11:45 pm [dz]
 |
| | Monday, October 11th, 2010 | 6:09 pm [dz]
 |
Kernel stats, some 10 min uptime.
Statistics per sec total total/sec
Interrupts 111 140930 229
Pageins 1 5240 8
Pageouts 0 4687 7
Snapshots 0 2 0
SoftIRQ 67 51143 83
TCP recv 0 0 0
TCP send 0 0 0
UDP recv 0 1 0
UDP send 0 2 0
PhysMem Alloc Pages 1 2778 4
PhysMem Free Pages 0 597 0
VirtAddr Alloc Pages 0 3242 5
VirtAddr Free Pages 0 316 0
LoMem Alloc Pages 0 48 0
LoMem Free Pages 0 0 0
DNS requests 0 1 0
DNS answers 0 1 0
Address space : 64 Mb, 51 Mb free, 12 Mb used
Hi mem : 48 Mb, 37 Mb free, 10 Mb used
Low mem : 624 Kb, 432 Kb free, 192 Kb used
| | Friday, June 25th, 2010 | 1:24 am [dz]
 |
| | Thursday, June 10th, 2010 | 2:30 am [dz]
 |
Project news
I'd like to thank new Phantom team members and tell a little about our progress. - We're back to java to phantom tranlator: Irek Akhtyamov committed new builds which are more or less cover integer math, some string ops and some of the flow control. Far from finish, but quite far from start as well. :) - Max Filippov fixed snapshot code and persistence is back and working better than ever - at least, faster. Still, a lot of work there. - Seva Gluschenko and me working on kernel regression tests. Most of QUEMU-based test environment is ready, and we have some tests for quite low level kernel primitives and services. Still, TONNS of uncovered code. - OS is tested on real hardware. Successfully. Still, need some test farm and test suite for running tests on real PCs. - It is possible now to build and run kernel with Linux - and, potentially - anu Unix with i586 GCC and QEMU. In more general words - kernel is close to be complete. Not finished - there's still huge amount of wiork needed - but complete in terms of basic features. We're looking forward to continue work on userland and programming environments(s). | | Wednesday, June 2nd, 2010 | 2:45 pm [dz]
 |
Call for contributors Last progress - we're back to working snapshots and restarts.
Still, a lot of kernel code is to be written and even more to debug, but it is possible to move further now. So if you want to take part - please do. OS sources are available at google code. A. We need comipiler guru.Things to cover: 1. Java 2 Phantom bytecode translator. We have skeleton of that, and need it to be full-functional - for example, to be able to successfully translate TreeMap class. 2. Phantom language compiler. It is incomplete and code is old and junky. 3. Later we'll have to think about direct Javascript compiler and JIT. B. Drivers man.We need to port in and/or finish/debug USB, virtio and, finally, some video drivers. C. We need regression tests.We have test suitre and some tests are written. Need more! | | Monday, February 15th, 2010 | 3:06 pm [dz]
 |
| | Thursday, January 28th, 2010 | 10:53 pm [dz]
 |
First binary published
Well. Phantom kernel binary is made public. NB! This is NOT EVEN ALPHA. Generally I recommend to ignore it. Really. I insist. :) It is VERY preliminary and is not good for any practical purpose. Functionally this release is nearly just the same as was shown Sep 2009 at HiLoad. (Well, it has more functions inside, but you can't see 'em:) This release just marks the moment when Phantom became clean of imported code with incompatible licenses. Current code is either mine (some 90%), or taken from source which permits code use for any purpose. It is mostly NewOS code (networking) and Mach code (386 related things). Release per se is running in QEMU under Windows and contains kernel and one test app (Tetris-like demo). NO SNAPSHOTS / PERSISTENCE in this release. (It is there, in fact, but is turned off on app level - I didn't check it for a few months.) Userland code can be replaced (see tftp/classes bundle) to run your userland code. Phantom binary can be downloaded hereOnce again - I REALLY do not recommend to download it. | | Wednesday, January 20th, 2010 | 10:51 am [dz]
 |
Progress report
As a part of cleanup process, written a new multithreading subsystem. Previous one was taken from GPL source and had to be replaced so that kernel can be licensed not just as GPL. (BTW, for most of threading code I suppose to use IBM CPL - any comments, recommendations?) New lib was implemented and debugged, and 12 hours of test run show that new code is, at least, not horrible. :) | | Monday, November 9th, 2009 | 2:25 pm [dz]
 |
News, news, news
Long time no talk. :) Recent progress: We spend a lot of effort on cleaning out GPL code which was used on early development stages. We're going to open Phantom's source, but not with GPL, so we must have no GPL code left. Other main directions are: - Java to Phantom bytecode compiler in progress, first java method call is achieved :) - Graphics subsystem update - Z buffer - Garbage collection (have basic GC working, but not sure about reenterability of some bits) - Network code Some more details on what we did: - own startup (assembly/c startup + multiboot) code is written, tested - own x86 paging control code written - new (license clean) PIC (8259) init code imported from Mach - own IDT init code written, not tested - new (license clean) cpuid code is imported - basic APIC init is done, not using for interrupts though - own physalloc code is written and used in kernel adddress space (not memory!) allocator - own scheduler/threads code is in progress - new disk IO queue code is written, debug in progress - general disk partitions support is started, MBR partitions are mostly done, GUID partitions - work in progress - IDE driver is switched to DMA mode (PIO mode code is up to date as well) - one network card driver is mosly done (it's working, but has one strange hack in interrupt service code) - AMD PCNet32 - kernel level UDP is working! Time to work on userland UDP api. - as a first UDP use, kernel syslog is implemented, sending log records out with UDP - TFTP is in progress One question to everybody: which network card is the most widely used now? Which driver to bring next? | | Monday, September 28th, 2009 | 2:05 pm [dz]
 |
| | Tuesday, March 17th, 2009 | 6:44 pm [dz]
 |
Status update
Ok, here we go. Latest news: 1. We have some userland progress - bitmap class, abstract binary container class (guess what - bitmap required it to keep - well - bit map:), general OS services access infrastructure (with the possibility to give each thread its special variation of OS services, if needed), (preliminary) sleep syscall, etc. 2. In the kernel land: the most serious achievment is userland to kernel synchronization primitives, needed to establish blocking calls to kernel (previously all the calls had to be non-blocking). Need more work in this field, but the basic structure is there. Trivia: PS/2 mouse driver, interrupt-driven (but not DMA yet) IDE, new timer (8254) and timing code, PCI enumeration code (one bus only yet), RTC access, consistent and more or less complete libc (from FreeBSD and Mach, mostly), kernel float-point lib. (TODO - pow() in asm? now have only C code impl) 3. Bug fixes: we started to write some more or less real userland code and, of course, found some new compiler bugs. Such as dead inheritance :), wrong o.m1().m2() call sequence processing, etc. Oh, and yes, there was no NULL/null/nil/none keyword/constant. :) 4. Misc. modifications: position of lower superblock is block no. 16, so that we have 16 (*4K) blocks for boot code. :) 5. (PRIMITIVE AND SLOW!) garbage collector is written and tested a bit, but we still not sure about it to be used yet. Need some more tests. One such test is userland java memory snapshot trace tool which is mostly written too. 6. Restructuring (rather messy) kernel code, composing more or less unified headers set (real code has a lot of mess in .h zone, some definitions in .c code, etc.) The nerarest targets are - to establish Windows-based development environment to work on Phantom userland code (nearly reached, need some more OS calls support) - to have long-running system - now it has no GC and doesn't bother to release disk space, so dies soon. :) - to publish Windows-based VM test environment sources. - to support objects, invalidated on reboot - to finalize user/kernel land interface structure | | Wednesday, March 4th, 2009 | 12:37 am [dz]
 |
GRUB hack needed
If somebody is ready to help a project: We need GRUB to be extended a little so that it can load stage 2 and kernel from Phantom disk. Headers and examles of code are available in the project repository. If you want to try, leave me an e-mail address to contact you. | 12:37 am [dz]
 |
GRUB hack needed
If somebody is ready to help a project: We need GRUB to be extended a little so that it can load stage 2 and kernel from Phantom disk. Headers and examles of code are in the project repository. | | Saturday, February 7th, 2009 | 6:01 pm [dz]
 |
| 2:49 pm [dz]
 |
| | Wednesday, February 4th, 2009 | 2:02 am [dz]
 |
| | Tuesday, February 3rd, 2009 | 9:48 pm [dz]
 |
|
[ << Previous 20 ]
|