Wednesday, May 21, 2014

Index Node for dummies

Inode on UNIX based systems is a data structure used to represent a file system object. The inode contains the information required by the process for accessing the files. Inodes exist in a static form on disk. Whenever any modification is required the kernel reads disk inode into an in-core inode.

The disk inode contains the following fields:

·         File owner identifier: Ownership is divided between an individual and a group owner.
·         File type: Files may be of various types as mentioned below:
o   Regular File
o   Directory
o   Character Device
o   Block Device
o   FIFO (named pipe)
o   Symbolic Link
o   Socket
·         File access permissions: The system protects files according to three classes namely the owner, the group owner & other users. Each class access rights (Read, write & Execute) can be set individually.
·         File access times: This field specifies the time the file was last modified, accessed and when the inode was last modified.
·         Links: Number of hard links.
·         Table of contents for the disk addresses of data in a file. Users treat the data in a file as a logical stream of bytes but the kernel saves the data in discontiguous disk blocks. The inode identifies the disk blocks that contain the file’s data.
·         File size

The in-core copy of the inode contains the following fields in addition to the fields of the disk inode:

·         Status: The status of the in-core inode, indicating whether:
  •    the inode is locked
  •    a process is waiting for the inode
  •    the file is a mount point
  •    the in-core representation of the inode differs from the disk copy as a result of a change to the data in the inode
  •    the in-core representation of the file differs from the disk copy as a result of a change to the file data

·         The logical device number of the file system that contains the file.
·         The inode number. Inodes are stored in a linear array, the kernel identifies the number of a disk inode by its position in the array. The disk inode does not need this field.
·         Pointers to other in-core inodes.
·         A reference count indicating the number of instances of the file that are active.

The VFS inode structure contains lot more fields. Most interesting structures are inode_operations (i_op) & file_operations (i_fop).

How to get inode number for a file under Linux?
We can get the inode numbers using either of the following commands:
·         ls -i
·         stat

Does Windows have an inode number for uniquely identifying the file?
Windows has a structure named as _FILE_INTERNAL_INFORMATION which contains the 8-byte file reference number for the file. This number is assigned by the file system and is file-system-specific.  File reference numbers, also called file IDs, are guaranteed to be unique only within a static file system.


Saturday, February 1, 2014



The Open Compute Project (OCP) initiative was announced in April 2011 by Facebook to openly share designs of data center products. The project started by three engineers resulted in building own custom-designed servers, power supplies, server racks and battery backup systems.

The team designed its first data center in Prineville, Oregon. The result of the effort is that Prineville data center now uses 38 percent less energy to do the same work as Facebook’s existing facilities, while costing 24 percent less.

The Open Compute Project Foundation is a community of engineers around the world, whose mission is to design and enable the delivery of the most efficient server, storage, networking and data center hardware designs for scalable computing. Foundation believe that openly sharing ideas, specifications and other intellectual property is the key to maximizing innovation, accelerating market change and reducing operational complexity in the scale compute space.


With more than 150 official members, including new partners like Bloomberg, IBM, IO, LSI, Microsoft, Yandex and others the future belongs to Open Compute.

Saturday, October 26, 2013

OpenStack


What is OpenStack?

OpenStack is an open and scalable operating system for building public and private clouds. In July 2010 Rackspace Hosting and NASA jointly launched an open-source cloud-software initiative known as OpenStack. Later on many more organizations lend their support for the Open Stack initiative. The complete list of organizations can be found here http://www.openstack.org/foundation/companies/

Wikipedia: OpenStack is a cloud computing project to provide an infrastructure as a service (IaaS). It is free open source software released under the terms of the Apache License.

Components of OpenStack:

1) Compute (Nova): The OpenStack cloud operating system enables enterprises and service providers to offer on-demand computing resources, by provisioning and managing large networks of virtual machines. It is designed to manage and automate pools of computer resources and can work with widely available virtualization technologies, as well as bare metal and high-performance computing (HPC) configurations.
AMQP (Advanced Message Queuing Protocol) is the messaging technology chosen by the OpenStack cloud. The AMQP broker, either RabbitMQ or Qpid, sits between any two Nova components and allows them to communicate in a loosely coupled fashion. More precisely, Nova components (the compute fabric of OpenStack) use Remote Procedure Calls to communicate to one another.

2) Storage (Swift\Cinder): OpenStack has support for both Object Storage and Block Storage.

Object Storage(Swift) is ideal for cost effective, scale-out storage. OpenStack provides redundant, scalable object storage using clusters of standardized servers capable of storing petabytes of data. Objects and files are written to multiple disk drives spread throughout servers in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster.

Block Storage(Cinder) allows block devices to be exposed and connected to compute instances for expanded storage, better performance and integration with enterprise storage platforms. Block storage is appropriate for performance sensitive scenarios such as database storage, expandable file systems, or providing a server with access to raw block level storage.

3) Networking (Neutron): Traditional network management techniques fall short of providing a truly scalable, automated approach to managing these next-generation networks. At the same time, users expect more control and flexibility with quicker provisioning.

OpenStack Networking is a pluggable, scalable and API-driven system for managing networks and IP addresses. Users can create their own networks, control traffic and connect servers and devices to one or more networks. OpenStack Networking ensures the network will not be the bottleneck or limiting factor in a cloud deployment and gives users real self service, even over their network configurations.

4) Dashboard (Horizon): The dashboard is an extensible web app that allows cloud administrators and users to control their compute, storage and networking resources. As a cloud administrator, the dashboard provides an overall view of the size and state of your cloud. You can create users and projects, assign users to projects and set limits on the resources for those projects. Developers can automate access or build tools to manage their resources using the native OpenStack API or the EC2 compatibility API.

5) Shared Services (Keystone\Glance): OpenStack shared services integrate the OpenStack components with each other as well as external systems to provide a unified experience for users as they interact with different cloud resources.

OpenStack Identity Service(Keystone) provides a central directory of users mapped to the OpenStack services they can access. It acts as a common authentication system across the cloud operating system and can integrate with existing backend directory services like LDAP. It supports multiple forms of authentication including standard username and password credentials, token-based systems and AWS-style logins.

As an administrator, OpenStack Identity enables you to:

a) Configure centralized policies across users and systems.
b) Create users and tenants and define permissions for compute, storage and networking resources using role-based access control (RBAC) features.
c) Integrate with an existing directory like LDAP, allowing for a single source of identity authentication across the enterprise.

As a user, OpenStack Identity enables you to:

a) Get a list of the services that you can access.
b) Make API requests or log into the web dashboard to create resources owned by your account.

OpenStack Image Service(Glance) provides discovery, registration and delivery services for disk and server images. The ability to copy or snapshot a server image and immediately store it away is a powerful capability of the OpenStack cloud operating system. Stored images can be used as a template to get new servers up and running quickly.

A multi-format image registry, the image service allows uploads of private and public images in a variety of formats, including:

a) Raw
b) Machine (kernel/ramdisk outside of image, a.k.a. AMI)
c) VHD (Hyper-V)
d) VDI (VirtualBox)
e) qcow2 (Qemu/KVM)
f) VMDK (VMWare)
g) OVF (VMWare, others)

Saturday, October 5, 2013

Power of Linux Operating System

Recently i came across the news that French police is shifting from normal Desktop PC's to Linux. You can read more about the same here http://www.wired.com/wiredenterprise/2013/09/gendarmerie_linux/

The question that comes to the mind is that when will our (Indian) educational institutes, government agencies & private companies will show the same trend. Are we undermining the power of open source? 

If you believe me yes we are indeed doing the same. We are more inclined towards Microsoft Windows based PC's and the reason for that, up till few years back was the ease of use. With the advent of desktop based Linux operating systems like Ubuntu raring ringtail things are changing quickly. We all have heard of Google and uses their search engine on daily basis (I wonder who uses bing lol). Ever heard of Goobuntu? It's an modified version of Ubuntu that employees at Google use in their day to day work. 

The list of Linux adopters are increasing on daily basis and the list does includes most prominent names like NASA, CERN & IBM. You can find the entire list here http://en.wikipedia.org/wiki/List_of_Linux_adopters

Supercomputers around the world use Linux. You can read more at http://www.zdnet.com/20-great-years-of-linux-and-supercomputers-7000018681/

Most of the reputed educational institutions around the world uses Linux. Universities like MIT, Stanford and many others across the globe are in fact using Linux day in & out. Prestigious universities have realized the power of open source products and are using those to educate the future engineers. Educational institutes in Kerala have adopted the Linux OS in the year 2006.

Linux is used by the defense sector around the world because of its features like security & reliability. Best example is National Security Agency (NSA) which originally created Linux.

Almost 90% of the mobiles & tablets are using Linux based operating system i.e Android. All the above facts clearly indicates the dominance of Linux over any other OS. 


Sunday, June 28, 2009

Microsoft .NET Rules Really!!!!

The .Net Framework is a software framework on which programmers build applications. It's the wonderful framework for creating platform independent applications. You can search for more information about .Net on any of the search engines. The basic ingredients that make .Net framework work among programmers are :-

1) Interoperability
2) Common Language Runtime
3) Common Type System
4) Base Class Library
5) Portability
6) Security
7) Easy Development & Deployment

Now you must be wondering what does all these terms specified above stands for, well lazy bones use google. I found this website http://www.systemnetmail.com/ that teaches basics of System.Net.Mail namespace. It is used to send emails and only works on .Net framework 2.0 or higher. Wonder how the serial communication works on windows no issues try this link and you will find your answer http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx Well not only hyperterminal but a lots of EMR applications for Optometrists do use the System.IO.Ports.SerialPort Class for transferring the data from the medical equipments such as AutoRefractor, Keratometer etc. So overall i must say the ease of development provided by .Net is unmatchable compared to other development frameworks. Want to build a next generation application and yes Microsoft has the answer its http://silverlight.net/ You can build the browser independent applications now, what more a developer can ask for. Microsoft .Net really deserves a crown in the field of appilcation development.

Saturday, April 18, 2009

You think you know this!!!!

Hi guys i am back, this time with some interesting pieces of information that you would always wanted to know. Being a techie is a good thing but what is more important is that you keep yourself updated. So here i am opening my Pandora's box for you and i bet you will enjoy reading this.

1) Microsoft acquired the hotmail long back, but do you know till the year Y2K it was running it on FreeBSD using Apache web servers.

2) Deep Web ( also called Deepnet, the invisible Web, dark Web or the hidden Web) is what you cannot find using general web search engines. According to an estimate there is about 91000 terabytes of data available on the web which can be categorized into the above mentioned category.

3) Scott McNealy Chairman of Sun Microsystems have graduated from Harvard University with a Bachelor of Arts in Economics. He received his MBA from the Stanford Graduate School of Business.

4) The basic elements of both the MacOS and Windows were developed at Xerox's Palo Alto Research Centre. Xerox did not patent them and this resulted in the windfall gain for both Apple & Microsoft.

5) Mark Andreessen was still an undergraduate when he refined Tim Berners-Lee's original browser into a consumer application known as Mosaic. Released in 1993 it became the first popular download and led to consumers switching onto the web in their millions. Andreessen later co-founded Netscape.

6) Doug Engelbart is known to be the inventor of mouse but in reality the men who really invented the mouse were Tom Cranston and his colleague Fred Longstaff as part of a Canadian Navy project that began in 1949.

7) Robert Noyce of Fairchild Semiconductor is the inventor of integrated circuit (also known as IC, microcircuit, microchip, silicon chip, or chip).

I hope you guys enjoyed reading this ;)

Sunday, March 22, 2009

Free Software Foundation

The concept of free software emerged in the year 1983 when Richard M. Stallman launched a project called as GNU, which stands for "GNU is not UNIX". The basic reason behind GNU was to provide the world with a brand new Operating System (OS) as a replacement for UNIX. The Free Software Foundation (FSF) is a 201(c)3 donor supported charity founded in 1985 and is based in Boston, MA, USA. Check http://www.fsf.org for more information.

Recently FSF took a dig at Microsoft's initiative of opening a new research center at New England. If you go to the new research website you will find loads of stuff including pictures of new office and other attractive goodies offered by Microsoft (MS) to Cambridge students check http://research.microsoft.com/en-us/labs/newengland/ for more information. As expected Microsoft wants to attract world's best minds to continue their superiority in Information Technology.
I must say MS is trying its level best to save itself from the competitors like Google, Linux and the list goes on & on. But we must remember that as MS products are getting more user friendly the level of abstraction is getting more complex. So if you are a programmer who always wanted to learn more about how the System works then you are at receiving end. The kind of flexibility provided to you by Open Source Softwares is really fantastic, you can change the Source Code and modify the entire piece of Software the way you want. I salute Mr. Stallman for the excellent work he has done in the field of Open Source. Please check this link http://en.wikipedia.org/wiki/Richard_Stallman if you are really passionate about computers. FSF's campaign of working against Digital Restrictions Management (DRM) is aimed at targeting all the manufacturers that are trying to bring their DRM-enabled products in the market. I really like the name of the website dedicated to this Anti DRM campaign i.e http://www.defectivebydesign.org/ This website really keeps you updated on the DRM-enabled products.

Recently MS sued TomTom for using its FAT32 file system, this is the first time MS has directly targeted the product which is based on Linux. TomTom has responded by in turn filling a lawsuit against MS accusing MS of infringing on three of the company's in-car navigation system. TomTom decision to give back what it has got from MS is clearly a step further in escalating the tensions between the two. This clearly underlines the fact that MS is scared of the products which has any association with Linux. The recent news of IBM offering $6.4 billion to take over Sun Microsystems is an add-on to the success of Free Software. Well i must say IBM knows how to make money out of the Free Software by providing some additional features to the existing products. The take over will surely give sleepless nights to many in the industry including FSF, but till the time IBM agrees to provide NetBeans, Solaris and MySQL for free as usual we don't have any issues. To end this story i would request all readers of this blog to please visit http://ocw.mit.edu and check out what MIT has in store for the entire world & that too for free :)