**** BEGIN LOGGING AT Sun Dec 3 16:20:47 2000 16:20:47 --> RobertFit (bob@chi-tgn-goh-vty11.as.wcom.net) has joined #jos 16:20:51 --- RobertFit sets mode +t 16:20:53 --- RobertFit sets mode +n 16:21:08 --- RobertFit has changed the topic to: The JOS Project 17:00:53 --> dullard (~jim@host212-140-4-222.btinternet.com) has joined #jos 17:01:23 hello, am I early? 17:03:50 Hello. No the meeting should be on now. 17:04:19 okay, I'll sit tight 17:14:25 --> rohan (~bhilton1@adsl-63-195-233.asm.bellsouth.net) has joined #jos 17:14:43 Hello Rohan. 17:15:02 Hi hows everybody? 17:15:13 Good, and you? 17:15:45 Not bad. Just thought I drop in and see what jos is all about. 17:17:18 Is there a topic yet? 17:17:52 No not yet, i'm waiting to see if anybody else is going to join. 17:18:17 Though feel free to talk or ask questions. 17:20:22 I'm wanting to get a feel for the jos community and see if there is room in it for me. 17:21:15 I'm a software developer, but I've never done low level things like creating os's before. 17:22:16 I'm fairly new to Java and am not getting much of a chance to use it at work. 17:22:30 and am looking to expand my experience with it. 17:23:07 There's as much need for application developers as system developers. 17:23:57 What is the current status of the project? Or will we cover that later? 17:25:06 It's still very early in the project, we do have a some-what working kernel and jvm. 17:26:45 I take it that the working process is to boot with a floppy that loads the kernal that runs the jvm. Is that correct? 17:28:08 Yes some would do it that way, the best thing is to have a second computer though. 17:29:26 How the second computer config work? 17:30:23 How does the filesystem work? 17:31:09 You can get the kernel/jvm by using a floppy or over a network, you can also store the classfiles on the harddisk. 17:32:03 There is not file system access at the moment (that's not totaly true) but the files get loaded by the bootloader. 17:33:39 Is a dos or linux setup preferred at this point? 17:34:12 Linux, some of the work is based off the Linux kernel. 17:37:07 What jdk is everybody using? 17:37:48 I'm not sure, i'm using Blackdown's JDK 1.3. 17:39:54 How fast are things coming along and what are the greatest needs? 17:42:27 It has been pretty slow (the project is over three years old), though speed of developement is improving. The biggest need at the moment is getting others a work developement/test enviroment, this means better documentdation, making demo disk, etc. 17:43:50 hello again, hello rohan. How many people have you got who are regularly contributing? 17:45:43 There are about four developers and number of other who work on other things like the website. 17:47:26 do you make use of any of the other open source projects currently working on java stuff. Like the gnu java classes and such? 17:48:01 Yes, we are using the class libraries from classpath. 17:48:59 What ever happened to Sun's JavaOS and what are the odds in using some of thier work? 17:50:29 It just never took off, I don't think there is any chance of getting the code but we have looked as some of the documentation. 17:51:07 How committed is the jos community? 17:52:49 I would say most of the developers are committed, and everybody else just wants something that'll work. 17:53:52 I ask because I hate it when somebody announces a project then dissapears for 6 months. 17:55:45 What do you mean when you say one of the biggest needs is to get somebody setup with a work/test environment? 17:58:11 Myself and one other person have a working setup, we need to get more developers with a working setup. 18:00:50 Is there any documentation that would help me get an environment started or would I have somehow just figure it out? 18:01:36 There is some have a look at http://teaseme.sourceforge.net/ 18:03:06 Cool...so right now there is a kernel and a jvm. How complete are these? 18:04:03 The kernel is the Linux kernel, the jvm has threads, gc, and should be fully working. 18:04:09 Also, how do you interact with them? If you boot to the kernel, there is no terminal to execute from. 18:04:58 You have install the teaseme module from the command line. 18:07:49 And once it is installed I can then execute and debug from a terminal? 18:10:57 I haven't tried but you might be able to use the Linux kernle debugger. 18:12:39 I guess I'm trying to get a feel for how this setup works... 18:12:53 I boot to Linux... 18:13:18 start the kernel...then start the jvm... 18:14:15 I should be able to then execute and compile any java app is this correct? Or am I missing something? 18:15:14 OK... so linux is the kernel... 18:15:54 so really I'm just running the teaseme jvm on linux. Correct? 18:16:32 The amount of Java code that will run is limited to which JNI code has been ported to run in the kernel module. 18:16:42 Yes. 18:17:48 Are we going to set our standard to the Linux kernel or something else later? 18:18:33 what is a suitable password for anonimous login for the cvs source for teaseme? 18:18:43 My plan is to define a kernel interface and write our JVM's to work to the interface. 18:18:56 Blank just hit enter. 18:19:03 cheers 18:20:24 I'm not sure how that would work, but wjat about compiling teaseme into the linux kernel? 18:22:07 Or would we be better off starting from scratch and our own kernel? 18:22:20 Yes, that's the plan. But at the moment you can insmod and rmmod the teaseme module without having to reboot each time you want to make a change. 18:23:00 I'm doing that at the same time. I'm also helping test teaseme. 18:24:03 I think once these basic items are layed out things will pick up. 18:25:02 Yes, we just need that critical mass of functionality. 18:26:11 Soreally to get a jos development setup, you need to have linx running, a jdk and teasme setup. Anything else? 18:27:05 Time and a net connection. 18:27:58 That's not bad at all... 18:30:04 exept I just got dsl...but it came with a usb modem. I'm not sure if I can make it work in linux yet or not...maybe with some sort of external hub or something. 18:31:00 Do you have two computers? 18:31:19 yes...how would that work? 18:32:55 or where could I go to find out? 18:33:29 Do you developemnet from one computer (with internet access) and then just setup a linux partition on the other, then load your kernel modules off a floppy disk. 18:36:52 I'll have to look into that. 18:38:22 How big is the linux kernel and the teasme jvm? 18:39:09 Could they fit on a floppy? 18:39:11 teaseme is 192k at the moment 18:39:20 --> iain (~iain@ip244.san-antonio16.tx.pub-ip.psi.net) has joined #jos 18:39:30 so yes, I'm gonna do that right now! 18:40:10 The linux kernel is about 500kb and the teaseme jvm maybe a little less. It really how much RAM you have on the test machine, i've got it working on an 8Mb 486. 18:40:13 Hi Iain. 18:40:25 lo all 18:40:32 Hi 18:40:55 hello 18:40:56 sorry I'm late, what have we covered so far? 18:41:47 We been just talking about how to setup developement and test machine(s) for teaseme. 18:43:28 ah, i was very curious about that myself, is there an article in the wiki on it? I'd like to provide a link to it from the main page and maybe the AboutKernel page. 18:44:02 If I were to boot the linux kernel from a floppy what does that give me? 18:44:47 How do I interact with things?...does it give me a command line with basic commands? 18:45:13 It's not that else todo you need create a linux bootdisk with the right tools, etc. 18:45:33 Iain, have a look at http://teaseme.sourceforge.net/ 18:46:26 What all needs to be and what size are they?...for a linux bootdisk? 18:48:02 Could we just make a RedHat bootdisk and include the jvm? 18:48:17 Yes, that would work. 18:49:24 So are we looking for a quick and easy setp like that for dev/test systems? 18:49:36 You will need to have the same kernel version on the bootdisk that you used to compile the teaseme module. 18:50:14 At least for a testing system. 18:50:15 which was? 18:50:32 Rob: Thanks. 18:54:03 I already have an almost working bootdisk. The problem was that it was to slow to get classfiles off the floppy disk aswell, and I didn't have enough ram to create a ramdisk to copy them to. 18:54:52 On your 8 meg system? 18:55:05 What are the min reqs for jos? 18:57:46 With the files loaded from a hardisk you can get away with 8 Mb, with a bootdisk you will need more. We should be able to get JOS on much less in the future. 18:58:31 This assumes less than a full standard j2se class library. How are we determining what is in this "minimal/core" java classlibrary? 18:59:01 Are we following a spec? or is it "just what we have"? Or just what classpath has? 19:01:40 It's more just what you need, java.lang, io, and util and you don't need all of it. If you need more you can get them from another floppy, harddisk, network, etc. 19:03:33 <-- iain has quit (Ping timeout) 19:05:29 So what comes next after the kernel/jvm? 19:06:28 Class libraries, drivers and system utils. 19:07:46 Command line first and then a GUI. 19:08:31 GUIs already built in right? 19:09:15 zi guess we would need to define how it will look and feel. 19:09:20 You still have to write the low level stuff for AWT and Swing to work. 19:09:58 Also Classpath doesn't really have much AWT and no Swing support. 19:10:05 It's not like we will have to write a jos version of X. 19:11:15 What exactly is Classpath? 19:11:44 Just a location where all the jos class's are stored? 19:12:18 It's a GNU project to create a free (GPL) version of Java API. 19:13:25 So we will be using gnujava and not sun java? 19:14:19 We can't modify or redistrabute sun java. 19:14:51 We can create our own packages though, 19:15:15 Yes, but there are 1000's of class files. 19:16:58 Jow complete is gnujava? 19:18:03 Is it (the project) called gnujava or Classpath? 19:18:27 --> iain (~iain@ip74.san-antonio16.tx.pub-ip.psi.net) has joined #jos 19:18:32 A lot of the important 1.1 classes are there and some of 1.2. 19:18:36 It's Classpath. 19:20:18 Good Lord! This could take a very long while! 19:20:44 Yes, we know. :( 19:21:05 Dang my computer sucks. :) 19:21:41 So do we develop using sun java then hope to package everything together with Classpath someday? 19:23:16 for speed of development, that seems the only option... 19:23:29 classpath is horribly out of date and pretty much abandoned right isn't it? 19:24:02 Yes, but I think we only use Sun JDK for compiling and testing Java code, I don't think we will use Sun class libraries directly (but I don't know yet). 19:25:10 <-- iain has quit (Read error: Connection reset by peer) 19:25:41 If Classpath has no support for GUIs and it isn't being worked on, then how are we planning on continuing at that point? 19:26:45 No, not really it's probaly been more active then JOS over the year. A lot of work is being done to combine the class files form Classpath and libgcj (a Java frontend to GCC). 19:27:11 We will just have to add GUI support. 19:28:24 Will it be possible to use sun with jos instead of Classpath if so desired? 19:28:54 it will be okay on your own 19:29:19 I think 19:29:59 you certainly couldnt run it on anyone elses computer 19:30:42 It's a lot harder to do with sun's code then classpath. 19:31:05 The way the code iteracts with the OS is the issue. 19:31:16 What's harder? 19:32:50 JOS will do things different and just won't work with Sun and even Classpath. 19:34:11 Such as drivers etc...? 19:36:19 Think of a java.io.File object in Sun's JDK and Classpath it has a reference to an OS file descriptor, in JOS a java.io.File object may just be a wrapper around another object. Thing's are just a little different and thats what make it hard, what do you keep and what do you change. 19:37:52 So we are probably a ways off from having a sdk of some sort. 19:39:07 Yes and no. Maybe some can be reused maybe not. 19:41:40 If I wanted to create an email client today, it may or may not be useable by jos without a heavy rewrite and probably not at all for a long time. 19:42:37 No it'll work as long as you use standard java classes, JOS will support standard java, it's just doesn't now. 19:46:29 --> Mandy_00 (~Mandy_00@i068.wcm.euronet.be) has joined #jos 19:46:44 Hello Mandy 19:46:58 I guess I'm not sure where I can help then... 19:47:01 Hey! 19:47:15 Jos??? 19:47:19 Yes. 19:47:32 Hi Mandy 19:47:42 hello 19:48:04 Ik snap het nie... Hoeveel gasten zijn der hier op?? 19:48:19 --> jos_00 (~jos_00@free2309.powered-by.skynet.be) has joined #jos 19:48:29 How does one go about writing a driver? 19:48:30 hallo 19:48:50 Zit mandy hier? 19:48:51 Aah daar zijt ge!! 19:48:59 Will still have to define the interface. 19:49:07 Ja, last van't verkeer hé 19:49:22 Mandy_00 and jos_00 can you use a different channel? 19:49:25 Ik vond u eerst nie!! 19:49:37 Ik vond mezelf oek nie... 19:49:52 Hoe oud zijt gij nu weeral? 19:49:56 15 19:50:14 Da schilt nie veel mé mij. 19:50:14 Worden binnekort en gij?? 19:50:28 16 17 in Maart 19:50:33 --- [jos_00] (~jos_00@free2309.powered-by.skynet.be) : http://www.studiobrussel.be/ 19:50:33 --- [jos_00] #jos 19:50:33 --- [jos_00] Brussels.Be.Eu.Undernet.org :http://irc.planetinternet.be 19:50:33 --- [jos_00] End of WHOIS list. 19:50:51 14 15 in januari 19:51:02 So how do we go about writing an interface? 19:51:26 Wie zijn die andere op mijne privé? 19:51:27 ??? 19:51:41 Ik zou het nie weten!! 19:52:20 Vanwaar zijt ge nu weeral?? 19:52:35 You need to think of what's needed, i.e. access to ioports, phyiscal memory, irq's, etc. Then just write and interface. 19:52:44 Do we generally converse in German here? 19:52:54 No. 19:53:16 Zwijndrecht 19:53:25 --> dapustule (~risingbil@HSE-Toronto-ppp167893.sympatico.ca) has joined #jos 19:53:36 Are jos and Mandy regulars or just here to disrupt us? 19:53:46 Waar ligt da ergens? 19:53:48 En gij? 19:53:49 hello? 19:54:03 Aalst 19:54:08 Tussen Antwerpen en Beveren 19:54:12 The hard part is defining a good interface to a group of hardware, i.e. SerialPortInterface. 19:54:26 Verkeerd ge? 19:54:29 Hé losers get the fuck of mij side!! 19:55:01 <-- RobertFit has kicked jos_00 from #jos (jos_00) 19:55:06 jos?? 19:55:17 Thank you. 19:55:40 --> jos_00 (~jos_00@free2309.powered-by.skynet.be) has joined #jos 19:55:59 JOS_00, please use another channel. 19:56:01 oké wat zijn (jullie "gasten" hier van plan met hem) 19:56:06 hallo, zijt ge kwaad? 19:56:16 neen 19:56:21 Are you mad? 19:56:28 NOOO 19:56:41 ??? 19:56:47 I must be. 19:56:54 is there a JOS meeting going on here? Or is this Dutch hot sex? 19:57:01 Sorry, k' had het tegen die engelsen 19:57:16 It was originally JOS. 19:57:20 Wie zijn da?? 19:57:28 But we've been invaded. 19:57:34 'k weet niet 19:58:00 a'k engels klap ist tege die frisse mannen hier 19:58:03 It's been about the JOS Project for the last 3 hours. 19:58:04 there's all sorts of stuff on the site about a major reorganization - is that anywhere yet? 19:58:14 Wacht ik zal mijn Engels hier naar boven brengen, oké?? 19:58:21 <-- RobertFit has kicked Mandy_00 from #jos (Mandy_00) 19:58:22 --- #jos :End of Channel Ban List 19:58:33 Da zijn hier LOSERS 19:58:41 I'd like to be of some help, but I think the project isn't along to where I can help yet 19:58:50 <-- RobertFit has kicked jos_00 from #jos (jos_00) 19:59:27 What would you like to work on? The website? 19:59:28 I'm trying to find something also. 20:00:34 I'd be up for that, and I'd work on docs, when there's something to document. I booted JJOS once with grub, right up to where it tried to initialize the console - froze solid... 20:01:01 I've been following this since something like 1996 or 97 20:01:13 --> jos_00 (~jos_00@free2309.powered-by.skynet.be) has joined #jos 20:01:35 Yow LOSERS 20:02:23 Hej don't ignore me!! 20:03:08 <-- jos_00 (~jos_00@free2309.powered-by.skynet.be) has left #jos 20:03:30 so is the meeting over? 20:03:50 No, it's not over until the last person leaves. 20:03:58 hahaha 20:04:02 ok 20:04:07 I can only offer myself as a tester because I have no hardcore os experience 20:04:25 but I would like to write software for the future 20:04:30 You not the only one, i'm learning it as I go. 20:04:49 yeah same here - I have one piece of software in production. you'd all probably laugh at it 20:05:22 sorry, I have to leave and meet my girlfriend for dinner 20:05:33 I will try out the kernal module 20:05:40 Ok, thanks for coming. 20:05:47 do you have an active mailing list? 20:05:54 so where exactly do we stand right now? I understand there's an effort to jump-start it on Linux? 20:06:06 and JJOS is kinda dead? 20:06:07 Yes, there is one linked from the home page. 20:06:21 <-- dullard has quit ([x]chat) 20:06:24 I would like to develop applications, but I'm not sure how to approach it now since we are missing so many interfaces and libraries. 20:07:00 I have no idea how to write the required interfaces. 20:07:36 Yes, I think JJOS is dead (at least for them moment) quinn is working on a new wiki web at the moment. 20:08:46 how do you mean? recreating wiki itself or designing a new page? 20:09:12 Rohan, if you want to write apps just use the standard classs libraries from Java 1.1 for the moment. 20:09:43 OK 20:09:44 It's a new version of the wiki web, have a look at http://sfwiki.sourceforge.net/ 20:10:13 How about a command line...do we need a filesystem first? 20:10:37 hmmmm... and Iain Shegioka was going to reorganize the jos project. Did that happen? 20:10:59 a shame really - JJOS seemed to be getting somewhere 20:11:18 First you need access to the low level hardware, then ide controler, then filesystem. ;) 20:12:07 dapustule, no it didn't, but it did reenergize some of the developers (me ;). 20:12:09 All of which we need interfaces to. 20:13:06 Yes, but that doesn't stop you writing the code using the standard class libraries. 20:14:48 OK...so say that I wanted to write an interface to my hardware. How would I go about doing that? 20:17:12 What is it? 20:17:31 How about the serial port. 20:18:32 It's an IO device so it might implement the IODevice interface. 20:20:08 The IODevice would have methods to open, close, read, and write (it might be a stream). 20:21:03 The SerialPortDevice would have method to set/get the port speed, parity, etc. 20:21:58 so I would write sort of a wrapper to pass values in and out based on a variety of thing such as if the IODevice is a serial port. 20:23:39 the serialportdevice is probably well documented. But what about the jos side of the coin? are there any standards that I should adhere to when handling info coming and going to the serial port? 20:25:55 There are some documents about drives on the web site and in the mailing list archives, you should read those first to get some ideas. 20:26:32 OK... i've got some ideas now. thanks 20:27:01 somebody should post a what's needed list on the web 20:27:09 You post them to the mailing list to see what others think aswell. 20:27:34 is the list working now? 20:28:10 Yes, there is a new one. We should update the homepage. 20:28:26 how do I get on it? 20:29:32 http://sourceforge.net/mail/?group_id=2376 20:34:22 All signed up thanks. 20:37:08 Is there anything else I should know? 20:37:38 No, not that I can think of. 20:39:26 OK thanks for your help I'll see if I can get started on something. 20:39:37 Talk to you later... 20:39:45 Great. 20:39:57 Bye. 20:40:02 <-- rohan has quit () 20:58:26 I gotta run too - flying to Vegas 20:58:42 Ok, enjoy the trip. 21:03:21 I wish - it's all work 21:03:38 I know the feeling. 21:04:02 <-- dapustule has quit () 21:44:06 --> Scott (sdf@140.96-89-63.adsl.directlink.net) has joined #jos 21:44:55 Hello Scott 21:45:00 hi 21:45:13 how's jos coming along? 21:46:08 --> ZeRo_CL (~xxxtaz@ppp113.ser.forthnet.gr) has joined #jos 21:46:40 <-- ZeRo_CL (~xxxtaz@ppp113.ser.forthnet.gr) has left #jos 21:46:59 Not to bad, we've had a lot of interest from new developers lately. 21:47:18 And now we even have a kernel and jvm work with. 21:47:34 cool...is it based off of the linux kernel and jvm? 21:47:54 Yes, teaseme. 21:50:31 is sun still working on javaOS? 21:52:12 No I don't thing so. 21:55:23 They haven't worked on it in about 2 years. 21:55:31 oh well...it was a nice idea 21:55:57 so how much of the design for jos has been done? 21:57:47 There been lots of talk and some very good ideas, but very little (almost none) has been written down in a formal way. 21:58:33 i c...how big would u estimate the developer base to be? 21:59:30 I would say there are four active developers. 21:59:45 that's it?? 22:00:01 hum 22:01:29 so would the OS run in one jvm that utilizes all the memory available on a machine? 22:01:32 Then there are a lot of other active on the mailing lists but i've only seen work being done by four people regularly. 22:03:26 Yes, that basically the idea, with the JVM being part of the kernel and handling multiple Java processes, etc. 22:05:47 how would u handle drivers and other hardware issues? 22:07:40 We hope to be able to write the drivers in Java and will proably have a System process which all the other processes will talk too. 22:08:05 hmm... 22:08:12 that sounds painful :) 22:13:43 Why? 22:14:12 because there's a lot of devices out there...and writing drivers for all of them sounds tedious 22:14:54 It will be look how hard it is for Linux to keep up. 22:18:45 are there any other open source projects being incorporated with jos? 22:19:55 Yes, there were a few a one point but I don't know what has happend to them now. 22:42:58 --> jewel__ (jewel@pta-dial-196-31-185-18.mweb.co.za) has joined #jos 22:43:16 Hi Guys 22:43:58 Hi Jewel 22:44:15 --- Received a DCC CHAT offer from jewel__ 22:44:29 Hey Robert 22:44:30 What's up? 22:46:11 I've had some good chats to today (and yesterday) lots useful information was extracted from me. :) 22:46:19 Hehe 22:46:23 but not vice-versa ? 22:47:02 Yes, the input from the others was good too. 22:47:37 Did you log any of it? 22:48:32 Yes, I have it all. 22:49:22 Mind putting it up for me? 22:50:13 Ok, i'll mail it to you. 22:51:20 Thanks 22:52:33 I chatted with Todd recently, his sfWiki looks really good 22:54:11 Ok, the file is on it's way. 22:54:25 Good 22:54:28 Yes, it's pretty good. 22:55:23 Got the log, I'm going to read through it quickly 22:56:05 Ok, some could be from last week didn't check. 22:56:52 It says Dec 3 22:57:18 Ah yes, this one is nov 26 23:13:07 Finished reading ... 23:13:15 It's weird to read discussions between you and me 23:13:43 Did you see the message I posted a while back that says classpath 0.01 was released? 23:13:56 I must go back and read the log myself. 23:14:29 I don't remember it but I knew it was released. 23:15:00 Well I made changes to kissme to use the new classpath stuff, and I want to do the same for teaseme 23:15:14 I also cut down the number of files from classpath to about 500k zipped 23:16:05 I've also got closer to tracking down my GC bug in kissme, although I'm not quite there yet 23:16:06 Did you zip support in classpath working? 23:17:26 No I didn't enable that (I just zipped it to upload the website) 23:17:38 But the zip support does actually work, I just took it out because it was slow 23:17:38 Ok. 23:17:48 I suppose it will help a lot for the boot disk effort? 23:17:54 (Never thought of that before) 23:18:13 Yeah, the bootdisk is slow already. :) 23:19:25 Yeah I suppose it would be even slower, and it would mean making the zip code working with my file primitives, which doesn't seem appealing right now 23:20:02 Sure no problem. 23:21:28 --> dullard (~jim@host62-6-8-248.btinternet.com) has joined #jos 23:21:39 hello 23:22:07 Wb 23:23:11 hey dullard 23:23:17 have you found any new collaborators today? 23:23:30 Well you guys seemed quite keen 23:23:38 I think so. 23:24:07 excellent 23:25:51 dullard, did you get teaseme from CVS? 23:25:59 yes 23:26:03 and compiled 23:26:20 but didn't have a chance to test it out yet 23:26:50 I will have in the coming week though 23:27:01 great stuff 23:27:09 The more people who test it, the better 23:27:18 and I'll tell you where I get to with it 23:27:30 I am doing a lot of work on getting it more stable 23:28:16 I find it quite an exiting project so I'd like to help out in whatever small way I can 23:28:44 Well for me, personally, it has the potential to be very exciting 23:28:55 it's just that it's a very big puzzle and takes a lot of effort to get going 23:29:11 I can't really stay on line now, I just popped back to see how it was all going 23:29:49 Ok, please send us some news on the mailing list 23:30:02 sure, good night 23:30:11 <-- dullard has quit ([x]chat) 23:31:20 Jewel, I saw your email about only using the Linux kernel as a temporary solution is that correct? Anyway I've been doing some work on RJK over the last week at it might be able to fit the bill (with a little more work). 23:33:14 Yeah that's right. 23:33:19 Cool, what changes have you made? 23:34:00 Most important for me are mutexes and now with with the gc it looks like I'll need a condition signalling device too 23:34:54 I final able to get interrupts working, I also have the timer (rtc) working, so I hope to have threads working by tommorow. 23:35:43 Do we need interrupts to do anything (at this stage)? 23:36:16 It doesn't have support for mutexes or cond signals yet, but does have atomic functions. 23:36:27 For drivers we need it. 23:37:50 It's also missing virtual memory swapping (no hard disk access yet :). 23:37:59 Well we can run it without the mutexes, but it's fairly likely to cause problems 23:38:09 Are you testing it on your 8MB machine? 23:39:07 Yes, but I have it working in bochs. 23:39:27 Ah excellent. Does it take long to restart bochs? 23:41:07 About the same time as a normal machine, but the best thing is that it's got a basic debugger. 23:42:22 That about the same time as my 486 test machine. ;) 23:42:50 Cool. 23:42:55 What can the debugger do? 23:45:50 Set break points at physical and virtual address, step through code, dump memory, and dump assembly code. 23:45:53 -jewel__- DCC REJECT CHAT chat 23:46:29 So it can correlate code in memory with the source files? 23:47:06 That could be *extremely* useful to me 23:47:24 No, it just emulates a x86 processor. 23:47:55 Yes, but it can tell you what source file corresponds to an address in memory 23:48:03 But you can do the correlation by hand quite easily, if you dump the kernel file. 23:48:33 So does it just step through and show you the assembly code? 23:49:00 Yes. 23:49:11 Ah, that's a bit different ;-) 23:52:05 kissme currently does about 160 garbage collections and then fails on an assertion 23:52:38 Try this on one of the files in you teaseme directory "objdump --disassemble-all --all-headers --line-numbers --source ". 23:53:15 Is the assertion check a macro or function call? 23:53:58 I think it's implemented as a function call 23:54:19 I've used objdump before, but not with the --all-headers and --line-numbers 23:54:52 The line numbers makes it a lot more useful 23:54:55 All headers prints out all the symbols, etc. 00:00:31 <-- jewel__ has quit (baltimore-r.md.us.undernet.org Baltimore.MD.US.Undernet.Org) 00:01:27 --> jewel__ (jewel@pta-dial-196-31-185-18.mweb.co.za) has joined #jos 00:01:41 So what are you using for a mutexe in the Linux kernel? 00:01:44 Wb 00:04:16 Could you send me your latest source for RJK? I just want to have a look at it. 00:04:44 Ok. 00:06:32 I haven't looked at the actual implementation, but linux provides a structure called: 00:06:52 static spinlock_t classfilMutex = SPIN_LOCK_UNLOCKED; 00:07:43 which you can lock with spin_lock(&mutex) and unlock with spin_unlock(&mutex) 00:08:17 Ok, I know that one, it just uses atomic operators to read and/or set a int. On a Uniprocessor machine I don't think they do anything. 00:09:51 #define spin_lock_init(lock) do { } while(0) 00:09:51 #define spin_lock(lock) (void)(lock) /* Not "unused variable". */ 00:09:51 #define spin_trylock(lock) (1) 00:09:52 #define spin_unlock_wait(lock) do { } while(0) 00:09:52 #define spin_unlock(lock) do { } while(0) 00:09:52 #define spin_lock_irq(lock) cli() 00:09:52 #define spin_unlock_irq(lock) sti() 00:11:44 I've sent the file. If you want to run in ungzip the floppy image an dd it to a floppy disk, then type "make all install" you may need to change the Makefile or be root to do the install. 00:11:49 Hmm, so it actually does nothing tricky at all 00:12:03 Well I'm sure we assume we'll be on uniprocessors for quite a while 00:12:17 (insert 'can' above) 00:12:27 That shouldn't be hard to implement then? 00:12:33 ;) 00:12:44 How do you know which instructions are atomic? 00:14:41 You need to a lock instruction. lock; iinc value; 00:14:46 use 00:14:55 Ok, I'll try it on my test box when I'm finished with teaseme (this hacking session) 00:15:10 So why do I even bother using those locking calls? 00:15:34 They don't even change the lock to indicate that it is taken 00:19:23 BTW, this is the backtrace when an assertion fails on kissme, on teaseme I have an ugly macro hack which prints out the source file and line number 00:19:25 gdb) bt 00:19:26 #0 0x4006c931 in kill () from /lib/libc.so.6 00:19:26 #1 0x4003eee9 in pthread_kill () from /lib/libpthread.so.0 00:19:26 #2 0x4003f365 in raise () from /lib/libpthread.so.0 00:19:27 #3 0x4006dc71 in abort () from /lib/libc.so.6 00:19:27 #4 0x40066cc4 in __assert_fail () from /lib/libc.so.6 00:20:34 Maybe you should use a sempahore? asm/semaphore.h I think. 00:22:26 Yes a simple semaphore can act as a mutex 00:23:07 But I should use something that will be easy for you to implement in rjk 00:23:34 What does the "lock" ins do? 00:25:02 The LOCK instruction prefix and its corresponding output signal LOCK# can 00:25:02 be used to prevent other bus masters from interrupting a data movement 00:25:02 operation. LOCK may only be used with the following 80386 instructions when 00:25:02 they modify memory. An undefined-opcode exception results from using LOCK 00:25:02 before any instruction other than: 00:25:58 Does it only work for the following instruction 00:26:05 It shouldn't be that hard to implement if I have to I can just copy the code (I'm going to release my code under GPL). 00:26:14 þ Bit test and change: BTS, BTR, BTC. 00:26:14 þ Exchange: XCHG. 00:26:14 þ Two-operand arithmetic and logical: ADD, ADC, SUB, SBB, AND, OR, XOR. 00:26:14 þ One-operand arithmetic and logical: INC, DEC, NOT, and NEG. 00:27:02 So I assume that's the only to do atomic operations? 00:27:08 insert 'way' above 00:28:06 Yeah, I think so. It'll be quickest way anyway. 00:29:24 Good, so it's not going to be that hard to get mutex functionality 00:29:51 How about condition variables? (where a thread can wait and be signalled when something happens) 00:30:26 I think semaphores will do that. 00:32:46 It's not clear how to use the semphores in asm/semaphore.h 00:36:56 Try and see if do_tty_write in drivers/char/tty_io.c line 654 helps. I'm a sure how to use either. 00:39:35 <-- Scott has quit (Read error: Connection reset by peer) 00:40:28 I'll have to experiment and see 00:41:03 But I'll have to use something, otherwise teaseme is going to corrupt itself within a short while 00:41:04 Seems you just down(), execute the cirtical section and then up(). 00:44:04 <-- jewel__ has quit (Ping timeout) 00:48:01 --> jewel_ (jewel@pta-dial-196-31-187-207.mweb.co.za) has joined #jos 00:48:15 brb 00:49:12 lost power, I was sitting in pitch darkness trying to remember where I had put my keys 00:53:39 No UPS. :( 00:54:05 Seems to use semapres you just down(), execute the cirtical section and then up(). 00:55:10 Yes, I think that allows you to use a simple critical section 00:55:32 But I also need a way for a number of threads to effciently be notified when the GC thread is finished with its work 01:05:31 ediff is a thing of great beauty and joy forever 01:05:52 LOL 01:06:32 We had this scottish professor who used to say that about UNIX all the time 01:07:52 oops 01:08:02 I just ran teaseme and it rebooted instantly ... not good 01:08:31 I know that that's like. 01:08:41 I get it all the time with RJK. 01:09:10 I have no idae how far it got, but the reboot seemed instantaneous 01:11:50 You need to use a slower computer. :) 01:12:33 LOL 01:13:10 Ok, I've tracked it down to a specific method (but the machine is rebooting) 01:13:42 How can I ensure all my changes get written to the disk? 01:13:50 I use 'sync' as root, but that doesn't actually write all the files 01:15:30 sync; sleep 60; sync; might work 01:16:03 You are using the same machine to develope and test your code? 01:16:35 What does it mean "final link failed: Bad Value" 01:16:43 Yes I do 01:17:25 It's worked well up until tonight, with the reboots and stuff 01:18:35 I don't know what that error means. 01:18:51 I just rebuilt everything and it went away 01:20:00 Oooh, now it says "Aieee, killing interrupt handler" 01:21:54 It's trying to shutdown the computer. 01:22:10 Sorry no i'm wrong. 01:22:42 It also says "tried to kill the idle task" 01:23:38 Are you calling do_exit or exit anywhere? 01:23:42 Mmm, rebooted again, this is not fun 01:24:17 There are exit()s in the code, what do they do in the kernel? 01:25:25 Exit the current thread. 01:26:10 I think I have it 01:26:10 But exiting the thread shouldn't be so drastic 01:26:31 It is if it's the wrong thread. ;) 01:27:23 Mmm, still reboots, curious and curiouser 01:27:59 Ahhhhh! 01:34:41 <-- jewel_ has quit (newyork-r.ny.us.undernet.org McLean.VA.US.Undernet.Org) 01:39:47 --> jewel_ (jewel@pta-dial-196-31-187-207.mweb.co.za) has joined #jos 01:43:53 A little bit closer 01:45:45 Any ideas what it is? 01:46:12 Yes I think I have it now 01:46:23 But there were other bugs which I also fixed 01:46:52 I think I'm going to implement the semaphore stuff, because it seems it's the locking which is causing a problem (although it didn't before) 01:47:20 That's what you want, a nice big but that allows you to fix lots of small ones. ;) 01:47:32 It's not one of the standard lock calls, but one which reschedules the running thread, although I don't see why it's causing problems 01:47:35 Yup :) 01:51:18 --> rohan (bhilton1@adsl-63-195-233.asm.bellsouth.net) has joined #jos 01:51:33 Hi Rohan. 01:51:45 You're still here? 01:52:30 Yes, why not I've nothing better to do. 01:52:33 I just had a sec and thought I's check to see if anything was happening here. 01:53:37 hey rohan 01:53:56 Robert, did you say we first up the semaphore and then down it? 01:54:38 down first. 01:56:00 Really, why? 01:56:19 I thought you would increase the count first, and you can use it when it is 0 01:59:11 I'm not sure I was just looking at the code in the kernel. 02:00:42 up(&inode->i_sem); 02:00:42 if (down_interruptible(&tty->atomic_write)) { 02:00:42 down(&inode->i_sem); 02:00:42 return -ERESTARTSYS; 02:00:43 } 02:01:30 I think it's up and then down, at least that's the way I've seen other semaphores work 02:03:47 Maybe i'm not sure. 02:04:32 what do you guys do that you know the ins and outs of how to create an os? 02:05:30 Unfortunately we don't, otherwise JOS would be written ;-) 02:05:38 I read code, docs, books, anything I can get my hands on. 02:06:17 Do you code for a living or just as a hobby? 02:06:36 Living. 02:06:49 If you can call it living. ;) 02:07:11 Do you get the pleasure of using java in your jobs? 02:08:23 I did for about three months and the the project changed direction, now it's in C++. 02:08:49 * jewel_ hears the birds waking up 02:09:40 Where are you at jewel? 02:10:45 In South Africa 02:10:46 Birds are just now asleep here in Atlanta... 02:11:14 How about yourself Robert? 02:12:10 I'm in Chicago today, tommorow i'll be going to Ireland. 02:12:41 Ouch, reboot again 02:13:09 Is JOS a pretty international project? 02:13:35 Yes, I would say so. 02:14:00 Sort of 02:14:18 Where you live doesn't really matter when you work on an open source project like this. 02:15:10 It's good to have many perspectives. 02:17:10 are you working/studying rohan? 02:18:31 I'm a programmer for a pharmaceuticals company. 02:18:51 do you get to use Java? 02:19:45 Most of my experience has been with VB (sorry), but I have had formal testing and some C experience also. 02:20:34 Currently I'm working heavily in Oracle projects that use PL/SQL, but I'm trying to see if I can do all new development in Java. 02:20:59 What is PL? 02:21:15 I'm the only programmer in this branch of the company, so I can pretty much do what I want. 02:21:27 :) 02:21:55 I just was at java training with sun a couple of months ago... 02:22:04 it was really cool. 02:23:26 pl/sql is an addon to standard sql that allows sql to be executed in a structured way -- mostly if then statements. 02:23:53 Ah, interesting 02:24:01 Oracle is pushing everything towards java though. 02:24:16 rohan, you might want to take a look at sfWiki, project that one of the other developers is working on 02:24:29 what is that? 02:25:11 It's quite hard for me to explain what a wiki is, perhaps it's better if you look at http://sfwiki.sourceforge.net/ and then let us explain while you're looking at it 02:25:38 Yeah I read a paper a few years ago about JVM development at Oracle. They've done some serious stuff. 02:27:06 One of the neatest thing is that if you use their jvm, you can use a thing called sqlj to execute sql statements straight from java without having to mess with jdbc. 02:27:37 Hmmmmm. WORA? 02:27:43 That's nice, have you ever heard about persistent java? 02:28:13 I've heard of it but don't know what it is. 02:28:28 Basically the database is transparent to the programmer 02:28:56 He just marks a reference as persistent and the VM automatically persists everything that can be reached from that reference 02:29:14 So you never have to interact with the database in a special language (or deal with file i/o) 02:29:42 And you can structure your data just as you would in Java, no need to split it up into tables 02:30:13 That sounds cool if it works well. 02:30:28 Yes, the problem is there hasn't been a good implementation 02:30:45 That was my next question :) 02:30:55 Hehe 02:31:14 My JVM has a simple implementation, and there was a group at Sun that did one, but not much has come of either 02:31:37 Really it would just be another layer to interface with. 02:32:36 Right now I have keep the db and code design together for it to wok well. 02:33:13 If a set of libs were designed properly I could see how that could eliminate much of the db headaches. 02:33:42 Well you would only need to design in one place: the code. Whereas normally you have to design the db too 02:34:32 Maybe we could build persistent java into jos and stretch development out another few years...:) 02:34:54 don't joke, I think persistence could be very good for jos 02:35:51 Could it be used in other ways in jos other that application db access. 02:36:24 Well it's not just for db access, but for any kind of storage 02:36:36 So any app that needs to use a file or store preferences or something, could use it 02:38:01 I don't suppose you know of any opensource persistent java projects that we could pull from? 02:38:36 Well this is the thing, the JVM that I'm basing teaseme on, is opensource and it had a persistent impl. 02:39:21 what are you basing teasme on? 02:40:31 It's a JVM called kissme, http://kissme.sourceforge.net/ 02:40:52 It's not a fully-fledged JVM because the class libraries don't support AWT yet, but it can some console apps 02:40:59 (run) 02:41:54 Why are you developing a new one and not adding to the orig.? 02:43:06 I'm modifying the original, but keeping it in two projects because the changes are quite radical 02:44:06 because teaseme is geared more toward an os? 02:44:47 yeah, the thing about JOS is that we need multiple Java processes 02:45:03 Doesn't support gui because of Classpath? 02:45:08 So for example we need multiple Java heaps inside one machine, whereas a standard JVM typically only has one 02:45:11 yes 02:46:51 I see the fact that Classpath not being complete/worked on to be a big problem. What do others think? 02:48:22 no that's incorrect 02:48:34 Classpath is being developed more actively than JOS 02:48:53 and it's merged with the libgcj project, which is a very active project aiming to compile Java to native code 02:49:23 They need a class library too 02:49:51 It might be a problem in the sense that it's behind (1.1 vs 1.3) 02:50:39 I guess I'm trying to envision jos's development path/ 02:51:41 I see classpath playing a major role in the development path, but the beauty of open-source is that we can replace what we don't like 02:52:24 I think that a gui for jos should definitely be based on swing as opposed to just awt. That would have to all be developed from scratch right? 02:52:59 Well there is a lot of awt (and some swing) code in classpath 02:53:15 But basically it has to be done from scratch (we won't have X underneath) 02:55:07 Has it been talked about how the gui will be developed without X or whatever? 02:55:26 I'm not really clued up on how far the GUI work is 02:55:42 It almost certainly has been discussed, I don't know if anyone is actively working on it right onw 02:56:38 It sounds like there are alot of people with pans in the fire. 02:56:54 There has been some talk of the GUI, but none at a low level. 02:57:19 Yes, there is a lot of interest in the project 02:57:50 did I do that? 02:58:12 do what? 02:59:14 How much of kissme to you have ported to teaseme? 02:59:58 <-- jewel_ has quit (ircII EPIC4pre2.508 -- Accept no limitations) 03:00:19 I guess he did do that... 03:00:34 --> jewel_ (jewel@pta-dial-196-31-187-207.mweb.co.za) has joined #jos 03:00:46 don't know what happened there 03:01:29 How much of kissme to you have ported to teaseme? 03:01:52 It's hard to say 03:02:04 The principle differences are in the native OS support 03:02:17 For example the teaseme file i/o is very basic and there is no network i/o yet 03:02:30 were you planning on doing persistence? 03:03:18 Yes I am/was, but it is quite a long-term goal (after a JIT, after IPC, after a GUI etc) 03:06:55 I need to go for the evening...do yo guys hangout here often? 03:07:49 I try but it'll limit when I go back to Ireland. 03:08:20 we try to. The weekends mostly. I'll be away for about a week in Dec, but after that I should be working on JOS full time 03:08:53 Ok, I'll look for you...thanks! 03:08:59 <-- rohan has quit () 03:08:59 thanks for your questions, comments 03:10:31 I have to go home now too. 03:11:24 I'm going to have less internet access when I go back to Ireland. So I don't know if I'll be able to organize the next meet. 03:12:33 What would the date be? 03:13:07 17th 03:13:19 of December 03:13:35 I think I will still on holiday on the 17th (but back on the 18th) 03:14:05 I think we can just ask on the ML if anyone will able to make it (Todd, Iain) 03:14:15 If not, then I can schedule it for the next sunday 03:15:07 Chirstmas Day I don't think you'll get many people going. 03:15:47 Possibly, but if I can be there, why not? 03:17:29 Ok, i'm going to go home, I might talk with you soon. 03:17:50 Sure, have a good 'reunion' 03:18:05 I will, bye. 03:18:11 bye 03:18:16 --- You have left channel #jos **** ENDING LOGGING AT Mon Dec 4 03:18:16 2000