YAOS meeting

Hello folks, The next meeting of yaos was conducted yesterday as scheduled at A-16 hall. The meeting started at 3:45 . There was a considerably good strength. We started with discussing about the filesystems.Agalya and Krithika (My friends) spoke on UFS and ZFS respectively. Then there was a general discussion about the file systems.

Then we spoke about Bochs emulator and configuring it. Unfortunately none of us knew how to copnfigure it to point to a kernel image. It was decided that it would be learnt soon. There was also a short discussion on assemblers like NASM and AS. NASM is highly portable and AS has a very good compatibility with gcc.

Finally, It was decided that we will read about file systems throughly, i.e. from the basics to the implementational level. The next meeting would be held on 22/12/2006 , Friday and will focus mainly on file systems.

FOSS-2007@tce

        Thiagarajar College of Engg will be organising a week long seminar on FOSS tools in January 2007 in its campus. The seminar is scheduled from 8-1-2007 to 13-1-2007. The specaility of the program is that it will be conducted by experts in the field from various industries and the GNU field. People among the resource persons are Mr.Amalan Joe Steeve, Mr. Ananth Shrinivas, Mr. Senthil Kumaran, Mr.Shakti Kannan, Mr.Bharathi Subramanian, and Mr.Nagappan.

The various sessions of the week long seminar/workshop include

  • Installation tools
  • System configuration tools
  • Server configuration tools
  • Networking tools
  • Application development tools
  • Desktop tools
  • Database tools
  • Web-programming tools
  • Content management tools

and the list goes on…And all the sessions will have a pratical hands on session for all these. The venue of the event will be the conference of the Dept of Computer Science in Thiagarajar College of Engg.Also accomodation is provide on request… For more details and for registering please loook into the site http://tce.edu/~foss2007/

Debian sarge (64-bit) installation

        Hey folks, we are really excited today, as we were for the first time allowed to something on the costly servers :-). We (Balachandran, Sai, Venkatapathy) installed the 64-bit debian sarge in the itanium server, or the SMP. This work must havebeen completed long back, but due to some problems with the hyperterminal present there, we were unable to do it.Now atlast we have done it.

But even today, with a guy from HP present, the installation was not as smooth as we had expected. We got stuck up for a long time with the partition… yes even thought all three of us have enough experience installing debian on lots of systems, we had that problem 🙁 Then we tried to use the LVM…. but that did not help…

We were stuck up because we saw a nwe type of partition there.. called the EFI boot. Now I understand that it is an Extensible Firmwire Interface Boot….Then after instructions from our staff we decided to erase the entire disk and install Debain. The server already had RHEL running on it.But we formated it and now the server has only a 64-bit Debian sarge running on it.

Though we spent nearly 2 hrs for that, we area really glad and happy that we learnt something new today about EFI and stuff. We are also glad to have done the first 64-bit debian installation in the college, that too in a costly itanium server, which will be our DataBase server.

iptables….

        Hey folks… I got really excited today. I just learnt how to use the iptables command for various purposes :). I learnt how to use the command to set up new rules, append to existing rules, drop rules…etc. The site from which I learnt them was a good. the link is http://www.netfilter.org/documentation/HOWTO .

The commands that i tried were

#iptables -A INPUT -s <some I P> -p <some protocol> -j DROP

for blocking all packets of the corresponding protocol from that given IP. The -A command is used to add rule ro an existing ipchain.For droping an existing chain, the option is -D. For example, to drop packets of a ping command(icmp protocol) from the loclhost, the command will be

#iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP

To undo the same, that is to remove that iptbales rule, what we simply need to do is just repeat the same command with the -A replaced by -D. Another thing I tried was to block all internet traffic to the system in which I am logged in. This is easily done with some thinking… this is what I did. I blocked all tcp packets from the main proxy.The command for doing it is.

#iptables -A INPUT -s 10.0.0.2 -p tcp -j DROP

Here, all tcp packets arriving from 10.0.0.2,the proxy to this system are dropped.Since web traffic is also a tcp based traffic, it also gets blocked…

My Tryst with Gtk/Glade

Hello folks, After nearly 2 months I decided to do something using glade, atleast to play aroud with it, and in doing so i did something useful– developed a small simple-very simple- wrapper for wget. To be frank, I am very new to Gtk/Glade. I started learning the basics a couple of months back and left it as such.

So, today, when after some struggles, I created my first proper Gtk/Glade application, I was really happy. I decided to work more on it now. To say more on my application, it is just a very, very small wrapper for wget. Actully it is not even complete.What it does is that, it has a text entry field where we need to give the complete url and press the button provided there.It downloads the corresponding file to the users home directory.

But, I hope that I will continue working on that and develop it into a full fledged wrapper for wget. Another important benefit of this tryst with Gtk/Glade is that I have for the first time understood invoking system calls from C. So

The Microkernel approach

     I did some homework on microkernels and got some baisc concepts clear.Basically, a microkernel is a type of design where only certain parts of the code is in kernel space and the remaining go to the user space, as servers. What is to remain in the kernel space and what in the user space is the decision of the developer.But one thing that always remains in the kernle space is the process management and IPC related stuff.

     Other common features like memory management, file system and the I/O handling etc. can be put up as servers in the user space. It is also possible to bring the file system in to the kernel space for a faster approach.In microkernels, the major way of message passing is through Inter-Process Communication(IPC).

    Coming to the concept of servers, they are like any other programs with some extra privileges, to access the memory, granted by the kernel.There are two types of approaches in implementing the kernel. They are monoserver and multiserver systems. In monoserver systems, all the device drivers(called tasks), file system handling, memory management etc that are to be put up in the user space are put as one single module and is linked to the kernel.

    In the multiserver approach, each of these are put as separate servers and interconnected and connected to the kernel. The way they are split in to is decided by the designer.One approach is to put all the device drivers into one server, file system in to one server and memory management in to another server and connect them all.

The major downside of the microkernel design is its performance. Because of the necessity for IPC for interacting with the kernel, these are generally slower than monolithic kernels.The advantages include maintainability, reliability and improved security.

YAOS — Our new venture

Atlast, my dream has come true. We ( a group of 7 friends) will be developing a new operating system,  a small one with minimal features… but still…. We had a meeting at our classroom A16 at about 10:00 am. We met and talked about our operating system kernel. Both microkernel and monolithic type were discussed. Also something on ring structure was discussed.

 We all decided that we will study the basics of different types of kernel archi. and meet again to make design decisions by December.Then we created a google groups for our new venture. The site is http://groups-beta.google.com/group/yaos/ . The group mailing list is yaos@googlegroups.com .