Archive for the ‘Operating Systems’ Category

Please Criticize This…

22 July 2007

OK, I am working on the explanation of Unix-like file systems intended for programmers that don’t know anything about the Unix-like file system structure. This is a rough draft, and I know the appendix is sketchy, it needs to be - well - written. I think I did a half decent job, but it occurs to me as I write the technical documentation that there is no explanation of the Unix-like file system concept. So please please please help me by demanding clarification at points!

Cheers!
AngryPhysicist

Revision 1 Added more information about how the directory really is-a file.

An Introduction to Unix-like File Systems

What the hell’s a file system?

A file system is used nowadays to manage the hard disk, floppy disk, and well any block device. It uses files to centralize data, and directories to organize files and other directories.

The hard disk has a geometry (see the appendix) so the file system has to “respect” this. There are various approaches to making a file system, we shall inspect the Unix approach specifically since this is a manual for a Unix-like operating system.

The Unix Approach: Inodes

It should be emphasized EVERYTHING “IS-A” FILE! Unix is (sorta) object oriented like that, that’s one of the appeals to it. Any operation that can be done on a file (read, write, open, close, etc.) can be performed on directories, devices, etc.

The file system is key to the Unix philosophy…everything “is-a” file after all! The file system is like the heart of Unix…so it is worthy to spend time to discuss the idea behind the Unix-like file systems. We shall use pseudo-code that is similar to C# or D.

The basic idea is this: everything is a file. A file is represented by a data structure called an inode (index node). The inode (also written as “i-node”, “index-node”, etc.) has fields that store information about the file or the addresses of the blocks. If you are unfamiliar with disk geometry, there is an appendix on it. A toy inode could be:

struct inode{
uint mode;
uint size;
uint *blocks[MAX_ADDRESSES];
}

There are only three simple fields that really define an inode. One tells us what sort of file we are dealing with. In unix, we have ordinary files and directories, as well as file representation of the various devices, pipes, and sockets. (The last two, pipes and sockets, are a sort of data structure used in interprocess communication.)

The next thing that gives us information about the file is the size of the file, which is given to us by the field uint size.

Last, and by no stretch of the imagination least, uint *blocks[MAX_ADDRESSES]. This field is the pointers to the various blocks that the inode stores the data in. Typically, the last several blocks are so-called indirect blocks. They hold addresses to blocks which are then used to hold addresses to more blocks. Singly indirect blocks use 1 indirect block (that is, the address it refers to is a block full of addresses; the exact number of addresses is equal to (the size of the block in bytes) / (the size of the variable one uses for addressing in bytes)). TO figure out how much data storage this gives us, we have the number of addresses in the indirect block given, we shall call it N. Now, each address refers to a block of data, so there is: N * (size of a block in bytes) bytes per singly indirect block.

A doubly indirect block uses a block that is full of addresses to another indirect block. That is to say, the address referred to us by the inode is a block full of addresses. These addresses refer us to more blocks which are chalk full of addresses. These addresses then refer us to the data. To figure out how many addresses it refers to, we simply figure: (1 block of addresses) * (X bytes per block) * (1 address per Y bytes) = number of addresses referring us in the first indirect block. We previously called this N. Now, each address refers us to what is pragmatically a singly indirect block. So we have: N * ( N * (size of a block in bytes) ) = bytes supported in a doubly indirect block.

There is also the triply indirect block. If you haven’t spotted the pattern so far, here’s the trick: for an Z indirect block, it supports N**Z * (size of a block in bytes) bytes. So for our triply indirect block, it is: N * (N * (N * (size of a block in bytes) ) ) bytes.

To figure out how many bytes an inode supports total, simply sum up the direct blocks with the indirect blocks. It’s a simple sum.

The Organization of the Disk

The basic structure of the inode approach more or less organizes the hard disk (or any block device really) into several components. We shall briefly cover this organization here.

The first important block is the zeroeth block: the boot block. It is the block that is loaded into memory after bios. It must be preserved at all costs.

Then we have two bit map blocks. The first is the inode bitmap. The idea is that the disk has a finite space (despite our wishes!). There are only so many inodes that are needed. So we allocate a section of space for these inodes. We need to keep track of whether these inodes are being used or are free. We use a bitmap to do this. A bitmap is really just a collection of bits (ones and zeroes). The first bit refers to the first inode, the second bit refers to the second inode, etc. We indicate whether an inode is used by a 1 and it is free by representing it with a 0 in the bitmap.

The second bitmap that follows this is the block bitmap. Just as the inode kept track of the free and used inodes, the block bitmap tracks the blocks and whether they are free or taken.

Now we have the space allocated to the inodes. This is the inode table. It is the contiguous space of inodes that keeps track of, and organizes, the disk.

The rest of the disk is used for the data directly (or as indirect blocks full of addresses). They do not hold inodes, etc.

Directories in Unix Like File Systems

Well, we see what a file is (it’s just a collection of blocks basically!). What about a directory? It seems a little more complicated. The directory is a file. However, unlike an ordinary file that stores data, a directory has special entries within it. The directory entry is a glorified pointer to a file. It stores the file name, the inode number of the file, and sometimes other fields that are useful.

We treat the directory as a file. A file is an inode. An inode stores addresses to blocks of memory for data. A directory, however, has no data other than these glorified links called directory entries. Well, since we cannot really change the structure of the inode, we need to simply change the data that are stored on the blocks. We use things called directory entries, a data structure often shortened to dir_entry. Let us look at a simplistic one:


struct dir_entry {
char name[NAME_LENGTH];
int inodeNumber;
}

This is the simplest directory entry. It has two fields that are really important: the name of the entry within the directory, and the inode number.

The inode number refers to the inode being the Nth inode in the inode table. This is useful if we wish to know where the inode is, and if we would just so happen like to actually access the data.

Supposing that the maximum length of the name is 256 (i.e. #define NAME_LENGTH 256), then the size of a dir_entry is: (256 char) * (1 byte per char) + (1 int) * (4 bytes per int) = 256+4 = 260 bytes. That is roughly half of a sector (512/2 = 206, I know I know!). And an inode can refer to (supposing that there are 16 addresses all together) 16 blocks directly (I’m lazy, so I won’t try to calculate out “What if we use 1 singly indirect block? What if we use 1 doubly indirect block? What if…?”). Thus, in a handwavy lazy fashion, there are at most 32 entries in a directory this way…yes yes this also assumes that 1 block is 1 sector big (and 1 sector is 512 bytes). <!–I lied, I will calculate out how many dir_entry there are for: 1 singly indirect block, 1 singly and 1 doubly indirect block, and 1 singly 1 doubly and 1 triply indirect blocks. Well, for a singly indirect block using 4 bytes for addressing, we have (512 bytes per block) * (1 address per 4 bytes) = (512/4) addresses = 128 addresses. Thus if each refers to a block, we have (128 blocks) * (512 bytes per block) = 65536 bytes. Thus for an inode with 15 direct addresses and 1 singly indirect block, we have (15 addresses + 128 addresses) * (512 bytes) = 73,216 bytes. There are 281.6 directory entries, round it down and we have 281 directory entries.

Suppose now we have 14 direct blocks, 1 singly indirect block, and 1 doubly indirect block. The doubly indirect block has 128 addresses that refers to 128 addresses, or (128 addresses) * (128 addresses) = 16,384 addresses. Now, to add together all the addresses: (14 direct addresses) + (128 singly indirect addresses) + (16384 doubly indirect addresses) = 16,526 addresses. Now this supports: (16526 blocks) * (512 bytes per block) = 8,461,312 bytes. This in turn supports (8461312 bytes) * (1 dir_entry per 260 bytes) = 32543.507692308 dir_entries. We round down to 32,543 directory entries.

For 13 direct blocks, 1 singly indirect block, 1 doubly indirect block, and 1 triply indirect block, let us calculate this one out. We know how many addresses there are for direct, singly indirect, and doubly indirect blocks, but we are ignorant of the number of addresses supported by the triply indirect block. Let us figure it out now. There is a block that has addresses to other blocks full of addresses to other blocks. That is (128 addresses) * (128 addresses) * (128 addresses) = 2,097,152 addresses. Now this inode supports: (13 direct addresses) + (128 singly indirect addresses) + (16384 doubly indirect addresses) + (2097152 triply indirect addresses) = 2,113,677 addresses. This in turn supports a total of: (2113677 addresses) * (1 block per address) * (512 bytes per block) = 1,082,202,624 bytes. Now, each directory entry is 260 bytes, so that means that this inode approach supports (1082202624 bytes) * (1 dir_entry per 260 bytes) = 4162317.784615385 directory entries. We round this down to become 4,162,317 directory entries.
–>

Appendix: Disk Geometry

Disk geometry is an interesting concept in and of itself. The hard disk is divided into atoms of 512 byte sectors. Typically file systems use a “block” concept, where there are 1, 2, 4, 8, or sometimes 16 sectors in a block. Note how it’s always a multiple of 2 (2**0, 2**1, 2**2, etc.).

A Brief Anecdote and A Deformation Quantization of Gravity

14 July 2007

The Brief Anecdote

OK, so I was talking with the lead developer of Brainix and we hit a snag. Largely because it’s a microkernel, it’s indescribably difficult to program correctly. So, we said to each other “What should we do?”

Our conclusion was, well, nonexistent. That’s right, we didn’t come to a conclusion (we’re too cool to solve problems ;) ). What I suspect will happen is we’ll end up making Brainix a hybrid kernel with the drivers running in the user-space so the Operating System won’t crash so much.

We’ll try making the operating system Unix-like…but in doing so we’ll try to resolve some problems like: the devices are supposed to be represented as files, but there is an ambiguity over the “block device” vs. “character device” dichotomy (e.g. the Network device is neither apparently). Perhaps we’ll make a more object oriented approach to solve this problem.

I suggested that we should start using the D programming language and using javadoc in-code documentation so that: 1) it’s easier to program, 2) it’s easier for “newbies” to learn the operating system concepts. We’ll see how things turn out I guess. A “problem” that arises is that either we can’t use classes (we can just as easily use structs) or we will have to hack together our own special compiler from the GNU D Compiler front-end (we may have to “slightly” change the Object class). This problem depends on whether we want to focus on embedded systems (or really old computer systems) or if we want to make operating systems for “recent” computers (i.e. with at least 512 megs of RAM, 1 GHz processor, etc. etc. etc.).

But I wish to present a conjecture:

AngryPhysicist’s Conjecture: It is impossible to have an efficient Microkernel that is also POSIX-compliant. It’s one or the other, but not both.

Remark: It is possible to have an efficient microkernel! It just can’t easily be Unix-like.
I’m actually a little sad that we are departing the microkernel approach, but we’re doing something that is easier to program. Perhaps first we should write a debugger for the operating system (supposing we want to make life easier for ourselves — real programmers don’t use debuggers though, they program in binary)? That would require us to figure out how to make a debugger though…

Now, on to the paper:

Generalized Lagrange Transforms: Finsler Geometry Methods and Deformation Quantization of Gravity by Sergiu I. Vacaru

ABSTRACT: We propose a natural Fedosov type quantization of generalized Lagrange models and gravity theories with metrics lifted on tangent bundle, or extended to higher dimension, following some stated geometric/ physical conditions (for instance, nonholonomic and/or conformal transforms to some physically important metrics or mapping into a gauge model). Such generalized Lagrange transforms define canonical nonlinear connection, metric and linear connection structures and model almost Kahler geometries with induced canonical sympletic structure and compatible affine connection. The constructions are possible due to a synthesis of the nonlinear connection formalism developed in Finsler and Lagrange geometries and deformation quantization methods.

I thought this was an interesting paper, Carlip remarked he never saw an attempt at Deformation Quantization of Gravity. Well, there you have it.

More Programming Notes of Pseudo-Interest…

4 July 2007

I have stumbled upon a few gems worth noting. First off, there is the Metalinguistic Abstraction. It’s a “good read” as far as blogs go, with respect to programming.

There is also an Object Oriented version of Unix out: UnixLite. It’s (unfortunately) written in C++, but it’s interesting (to me at least) to observe an object oriented unix-like operating system’s source code. It is a “toy” operating system, but don’t let that fool you: you could possibly hack it into a full blown Linux clone.

Interestingly, Minix3 has just recently announced they ported SQLite. It appears to be trying to become a server operating system, but it still has this air of being a toy to it (a certain je ne sais quoi as the French would say, if I remember how to spell in French).

I am considering going back to Davis a wee bit early (i.e. next Saturday perhaps?), so I will be busy meeting with old acquaintances and so on and so forth.

My “To Do” List

28 June 2007

All right, some may be wondering why I spontaneously (and seemingly randomly) update my blog with posts, but I do have some method to my madness. I just have to do some things…for instance, I have to finish writing the manual for Brainix (the manual that is out is admittedly far from finish, it’s not even a draft and I’m all ready revising it heavily).

I also have a few papers to read that I’ve stumbled upon; this post is actually more or less just a “grocery list” of papers I need/want to read (so sorry for the boringness of the post!):

Restrictions on Information Transfer in Quantum Measurements and State Collapse by S. Mayburov:

Information-theoretical restrictions on the information transfer in quantum measurements are studied. They are derived for the measurement of system S by detector D, registrated and processed by information system O. The formalism of inference maps in Hilbert space is used for it; it permit to calculate O restricted state which contains available for O information on S parameters. It’s shown that the principal information losses, inevitable in this formalism and induced by Heisenberg commutation relations, stipulate the stochasticity of measurement outcomes, registrated by O in the individual events.

The Contextual Character of Modal Interpretations of Quantum Mechanics Graciela Domenech, Hector Freytes, Christian de Ronde

In this article we discuss the contextual character of quantum mechanics in the framework of modal interpretations. We investigate its historical origin and relate contemporary modal interpretations to those proposed by M. Born and W. Heisenberg. We present then a general characterization of what we consider to be a modal interpretation. Following previous papers in which we have introduced modalities in the Kochen-Specker theorem, we investigate the consequences of these theorems in relation to the modal interpretations of quantum mechanics.

Quantum mechanics on Hilbert manifolds: The principle of functional relativity Alexey A. Kryukov

Quantum mechanics is formulated as a geometric theory on a Hilbert manifold. Images of charts on the manifold are allowed to belong to arbitrary Hilbert spaces of functions including spaces of generalized functions. Tensor equations in this setting, also called functional tensor equations, describe families of functional equations on various Hilbert spaces of functions. The principle of functional relativity is introduced which states that quantum theory is indeed a functional tensor theory, i.e., it can be described by functional tensor equations. The main equations of quantum theory are shown to be compatible with the principle of functional relativity. By accepting the principle as a hypothesis, we then analyze the origin of physical dimensions, provide a geometric interpretation of Planck’s constant, and find a simple interpretation of the two-slit experiment and the process of measurement.

Relational observables in 2d quantum gravity Michael Gary, Steven B. Giddings

Local observation is an important problem both for the foundations of a quantum theory of gravity and for applications to quantum-cosmological problems such as eternal inflation. While gauge invariant local observables can’t be defined, it has been argued that appropriate relational observables approximately reduce to local observables in certain states. However, quantum mechanics and gravity together imply limitations on the precision of their localization. Such a relational framework is studied in the context of two-dimensional gravity, where there is a high degree of analytic control. This example furnishes a concrete example of some of the essential features of relational observables.

Relational physics with real rods and clocks and the measurement problem of quantum mechanics Rodolfo Gambini, Jorge Pullin

The use of real clocks and measuring rods in quantum mechanics implies a natural loss of unitarity in the description of the theory. We briefly review this point and then discuss the implications it has for the measurement problem in quantum mechanics. The intrinsic loss of coherence allows to circumvent some of the usual objections to the measurement process as due to environmental decoherence.

Localising Relational Degrees of Freedom in Quantum Mechanics Hugo Cable

This thesis presents a wide-ranging study of localising relational degrees of freedom. Three physical systems are studied in depth, each built upon a simple measurement-based process. For each physical system - light from independent sources leaking onto a beam splitter monitored by photodetectors, spatially interfering Bose-Einstein condensates extracted from separate preparation procedures, and delocalised massive particles or mirrors scattering light which is detected in the far-field - the thesis investigates the key features of the underlying process of localisation, and explores the properties of the induced post-measurement states of the system. A range of analytical and numerical methods are used. Many new results are presented - for example, cases of mixed initial states are considered in addition to the more commonly considered pure states. Up to now there has been little attempt to develop in detail the themes common to studies concerned with specific physical examples. This thesis addresses this, and sets out a “modus operandi” that can be applied widely. A variety of specific applications are considered - both in the context of controlled laboratory experiments, and with a view to understanding processes occurring in nature. The thesis is introduced and summarised in Chapter 1. Chapter 2 studies localising relative optical phase in the canonical interference process. This discussion is extended and applied in Chapter 3. Chapter 4 discusses localising relative atomic phase in interference experiments with Bose-Einstein condensates. The emergence of relative positions between particles scattering light is explored in Chapter 5. The thesis concludes with an Outlook, Chapter 6.

The EPR Argument in a Relational Interpretation of Quantum Mechanics Federico Laudisa

It is shown that in the Rovelli relational interpretation of quantum mechanics, in which the notion of absolute or observer independent state is rejected, the conclusion of the ordinary EPR argument turns out to be frame-dependent, provided the conditions of the original argument are suitably adapted to the new interpretation. The consequences of this result for the `peaceful coexistence’ of quantum mechanics and special relativity are briefly discussed.

Algebraic Quantum Mechanics and Pregeometry D.J. Bohm, P.G. Davies, B.J. Hiley

We discuss the relation between the q-number approach to quantum mechanics suggested by Dirac and the notion of “pregeometry” introduced by Wheeler. By associating the q-numbers with the elements of an algebra and regarding the primitive idempotents as “generalized points” we suggest an approach that may make it possible to dispense with an a priori given space manifold. In this approach the algebra itself would carry the symmetries of translation, rotation, etc. Our suggestion is illustrated in a preliminary way by using a particular generalized Clifford Algebra proposed originally by Weyl, which approaches the ordinary Heisenberg algebra in a suitable limit. We thus obtain a certain insight into how quantum mechanics may be regarded as a purely algebraic theory, provided that we further introduce a new set of “neighbourhood operators”, which remove an important kind of arbitrariness that has thus far been present in the attempt to treat quantum mechanics solely in terms of a Heisenberg algebra.

Quantum mechanics in general quantum systems (I): Exact solution An Min Wang

Starting from our idea of combining the Feynman path integral spirit and the Dyson series kernel, we find an explicit and general form of time evolution operator that is a $c$-number function and a power series of perturbation including all order approximations in the unperturbed Hamiltonian representation. Based on it, we obtain an exact solution of the Schr\”{o}dinger equation in general quantum systems independent of time. Comparison of our exact solution with the existed perturbation theory makes some features and significance of our exact solution clear. The conclusions expressly indicate that our exact solution is obviously consistent with the usual time-independent perturbation theory at any order approximation, it explicitly calculates out the expanding coefficients of the unperturbed state in the non-perturbation method, and it fully solves the recurrence equation of the expansion coefficients of final state in the unperturbed Hamiltonian representation from a view of time-dependent perturbation theory. At the same time, the exact solution of the von Neumann equation is also given. Our results can be thought of as theoretical developments of quantum dynamics, and are helpful for understanding the dynamical behavior and related subjects of general quantum systems in both theory and application. Our exact solution, together with its sequence studies on perturbation theory [An Min Wang, quant-ph/0611217] and open system dynamics [An Min Wang, quant-ph/0601051] can be used to establish the foundation of theoretical formulism of quantum mechanics in general quantum systems. Further applications of our exact solution to quantum theory can be expected.

Quantum mechanics: Myths and facts H. Nikolic

A common understanding of quantum mechanics (QM) among students and practical users is often plagued by a number of “myths”, that is, widely accepted claims on which there is not really a general consensus among experts in foundations of QM. These myths include wave-particle duality, time-energy uncertainty relation, fundamental randomness, the absence of measurement-independent reality, locality of QM, nonlocality of QM, the existence of well-defined relativistic QM, the claims that quantum field theory (QFT) solves the problems of relativistic QM or that QFT is a theory of particles, as well as myths on black-hole entropy. The fact is that the existence of various theoretical and interpretational ambiguities underlying these myths does not yet allow us to accept them as proven facts. I review the main arguments and counterarguments lying behind these myths and conclude that QM is still a not-yet-completely-understood theory open to further fundamental research.

Can you do quantum mechanics without Einstein? Y. S. Kim, Marilyn E. Noz

The present form of quantum mechanics is based on the Copenhagen school of interpretation. Einstein did not belong to the Copenhagen school, because he did not believe in probabilistic interpretation of fundamental physical laws. This is the reason why we are still debating whether there is a more deterministic theory. One cause of this separation between Einstein and the Copenhagen school could have been that the Copenhagen physicists thoroughly ignored Einstein’s main concern: the principle of relativity. Paul A. M. Dirac was the first one to realize this problem. Indeed, from 1927 to 1963, Paul A. M. Dirac published at least four papers to study the problem of making the uncertainty relation consistent with Einstein’s Lorentz covariance. It is interesting to combine those papers by Dirac to make the uncertainty relation consistent with relativity. It is shown that the mathematics of two coupled oscillators enables us to carry out this job. We are then led to the question of whether the concept of localized probability distribution is consistent with Lorentz covariance.

Quantum mechanics is a relativity theory Léon Brenig

Non-relativistic quantum mechanics is shown to emerge from classical mechanics through the requirement of a relativity principle based on special transformations acting on position and momentum uncertainties. These transformations keep the Heisenberg inequalities invariant and form a group. They are related to dilatations of space variables provided the quantum potential is added to the classical Hamiltonian functional. The Schr\”odinger equation appears to have a nonunitary and nonlinear companion acting in another time variable. Evolution in this time seems related to the state vector reduction.

Quantum Mechanics and the Weak Equivalence Principle Stella Huerfano, Sarira Sahu, M. Socolovsky

We use the Feynman path integral approach to nonrelativistic quantum mechanics twofold. First, we derive the lagrangian for a spinless particle moving in a uniformly but not necessarily constantly accelerated reference frame; then, applying the strong equivalence principle (SEP) we obtain the Schroedinger equation for a particle in an inertial frame and in the presence of a uniform and constant gravity field. Second, using the associated Feynman propagator, we propagate an initial gaussian wave packet, with the final wave function and probability density depending on the ratio m/hbar, where m is the inertial mass of the particle, thus exhibiting the fact that the weak equivalence principle (WEP) is violated by quantum mechanics. Although due to rapid oscillations the wave function does not exist in the classical limit, the probability density is well defined and mass independent when hbar goes to 0, showing the recovery of the WEP. Finally, at the quantum level, a heavier particle does not necessarily falls faster than a lighter one; this depends on the relations between the initial and final common positions and times of the particles.

Toy Model for a Relational Formulation of Quantum Theory David Poulin

In the absence of an external frame of reference physical degrees of freedom must describe relations between systems. Using a simple model, we investigate how such a relational quantum theory naturally arises by promoting reference systems to the status of dynamical entities. Our goal is to demonstrate using elementary quantum theory how any quantum mechanical experiment admits a purely relational description at a fundamental level, from which the original “non-relational” theory emerges in a semi-classical limit. According to this thesis, the non-relational theory is therefore an approximation of the fundamental relational theory. We propose four simple rules that can be used to translate an “orthodox” quantum mechanical description into a relational description, independent of an external spacial reference frame or clock. The techniques used to construct these relational theories are motivated by a Bayesian approach to quantum mechanics, and rely on the noiseless subsystem method of quantum information science used to protect quantum states against undesired noise. The relational theory naturally predicts a fundamental decoherence mechanism, so an arrow of time emerges from a time-symmetric theory. Moreover, there is no need for a “collapse of the wave packet” in our model: the probability interpretation is only applied to diagonal density operators. Finally, the physical states of the relational theory can be described in terms of “spin networks” introduced by Penrose as a combinatorial description of geometry, and widely studied in the loop formulation of quantum gravity. Thus, our simple bottom-up approach (starting from the semi-classical limit to derive the fully relational quantum theory) may offer interesting insights on the low energy limit of quantum gravity.

Noncommuting Observables and Local Realism James D. Malley, Arthur Fine

A standard approach in the foundations of quantum mechanics studies local realism and hidden variables models exclusively in terms of violations of Bell-like inequalities. Thus quantum nonlocality is tied to the celebrated no-go theorems, and these comprise a long list that includes the Kochen-Specker and Bell theorems, as well as elegant refinements by Mermin, Peres, Hardy, GHZ, and many others. Typically entanglement or carefully prepared multipartite systems have been considered essential for violations of local realism and for understanding quantum nonlocality. Here we show, to the contrary, that sharp violations of local realism arise almost everywhere without entanglement. The pivotal fact driving these violations is just the noncommutativity of quantum observables. We demonstrate how violations of local realism occur for arbitrary noncommuting projectors, and for arbitrary quantum pure states. Finally, we point to elementary tests for local realism, using single particles and without reference to entanglement, thus avoiding experimental loopholes and efficiency issues that continue to bedevil the Bell inequality related tests.

The Pondicherry interpretation of quantum mechanics: An overview Ulrich Mohrhoff

An overview of the Pondicherry interpretation of quantum mechanics is presented. This interpretation proceeds from the recognition that the fundamental theoretical framework of physics is a probability algorithm, which serves to describe an objective fuzziness (the literal meaning of Heisenberg’s term “Unschaerfe,” usually mistranslated as “uncertainty”) by assigning objective probabilities to the possible outcomes of unperformed measurements. Although it rejects attempts to construe quantum states as evolving ontological states, it arrives at an objective description of the quantum world that owes nothing to observers or the goings-on in physics laboratories. In fact, unless such attempts are rejected, quantum theory’s true ontological implications cannot be seen. Among these are the radically relational nature of space, the numerical identity of the corresponding relata, the incomplete spatiotemporal differentiation of the physical world, and the consequent top-down structure of reality, which defies attempts to model it from the bottom up, whether on the basis of an intrinsically differentiated spacetime manifold or out of a multitude of individual building blocks.

Quantum mechanics needs no interpretation L. Skala, V. Kapsa

Probabilistic description of results of measurements and its consequences for understanding quantum mechanics are discussed. It is shown that the basic mathematical structure of quantum mechanics like the probability amplitude, Born rule, probability density current, commutation relations, momentum operator, uncertainty relations, rules for including the scalar and vector potentials and existence of antiparticles can be derived from the definition of the mean values of the space coordinates and time. Equations of motion of quantum mechanics, the Klein-Gordon equation, Schroedinger equation and Dirac equation are obtained from requirement of the relativistic invariance of the theory. Limit case of localized probability densities leads to the Hamilton-Jacobi equation of classical mechanics. Many particle systems are also discussed.

Non-unitary evolution of a pure state into a mixed state in the measurement problem from standard Quantum Mechanics and its impact on complex space-time, no-boundary proposal and information loss paradox of singularity-free Quantum Cosmology Pradip Kumar Chatterjee

In order to resolve the measurement problem of Quantum Mechanics, non-unitary time evolution has been derived from the unitarity of standard quantum formalism. New wave functions of free and non-free quantum systems follow from Schroedinger equation after inserting an ansatz. Quantum systems show up as probability waves before measurement. A pure entangled state of a composite system evolves non-unitarily, only to disentangle itself into a definite state after reduction at the measurement point. A classical space-time point is created momentarily in this event. Unitarity is restored at that point. The non-Hermitian observables defined in the domain of rigged Hilbert space transform into Hermitian ones at the measurement point. The problem of preferred basis is resolved by the requirement of specifying the position of measurement point. Two theorems prove that time is a non-Hermitian operator, thus placing space and time on an equal footing. Bound states are found to need discrete space-time, which supports its use in loop quantum gravity. Non-unitarity in the theory helps buttress the no-boundary proposal; and uncertainty relation makes a leeway to singularity-free Quantum Cosmology. Quantum Mechanics also accommodates complex and negative probabilities.

Basic Concepts for a Quantum Mechanical Theory of Events Kim J. Bostroem

A physical theory is proposed that obeys both the principles of special relativity and of quantum mechanics. As a key feature, the laws are formulated in terms of quantum events rather than of particle states. Temporal and spatial coordinates of a quantum event are treated on equal footing, namely as self-adjoint operators on a Hilbert space. The theory is not based upon Lagrangian or Hamiltonian mechanics, and breaks with the concept of a continuously flowing time. The physical object under consideration is a spinless particle exposed to an external potential. The theory also accounts for particle-antiparticle pair creation and annihilation, and is therefore not a single-particle theory in the usual sense. The Maxwell equations are derived as a straightforward consequence of certain fundamental commutation relations. In the non-relativistic limit and in the limit of vanishing time uncertainty, the Schr\”odinger equation of a spinless particle exposed to an external electromagnetic field is obtained.

Measurement Induced Localization of Relative Degrees of Freedom Hugo Cable, Peter L. Knight, Terry Rudolph

We present a comprehensive study, using both analytical and numerical methods, of measurement-induced localization of relational degrees of freedom. Looking first at the interference of two optical modes, we find that the localization of the relative phase can be as good for mixed states - in particular for two initially Poissonian or thermal states - as for the well-known case of two Fock states. In a realistic setup the localization for mixed states is robust and experimentally accessible, and we discuss applications to superselection rules. For an ideal setup and initial Fock states we show how a relational Schr\”{o}dinger cat state emerges, and investigate circumstances under which such a state is destroyed. In our second example we consider the localization of relative atomic phase between two Bose Einstein condensates, looking particularly at the build up of spatial interference patterns, an area which has attracted much attention since the work of Javanainen and Yoo. We show that the relative phase localizes much faster than was intimated in previous studies focusing on the emerging interference pattern itself. Finally, we explore the localization of relative spatial parameters discussed in recent work by Rau, Dunningham and Burnett. We retain their models of indistinguishable scattering but make different assumptions. In particular we consider the case of a real distant observer monitoring light scattering off two particles, who records events only from a narrow field of view. The localization is only partial regardless of the number of observations. This paper contributes to the wider debate on relationism in quantum mechanics, which treats fundamental concepts - reference frames and conservation laws - from a fully quantum and operational perspective.

Classical Physics revisited: Derivation and explanation of the quantum mechanical superposition principle and Born’s rule Gerhard Groessing

Under the only assumptions that energy and momentum of a particle i) come in multiples of Planck’s quantum of action, and ii) are subject to fluctuations related to the Huygens waves originating from the particle’s embedded-ness in the surrounding “vacuum”, one can derive the essentials of quantum physics from classical physics. In fact, the suggested classical Lagrangian can via a simple transformation law be “translated” into the familiar Lagrangian leading to the Schroedinger equation. Moreover, said transformation law is necessary and sufficient also to derive and explain the quantum mechanical superposition principle as well as Born’s rule. Explicit examples are given which show that, at least in the cases discussed, the calculations within the language of classical physics are based on intuitively plausible modelling and are also done easier and faster than the corresponding ones due to orthodox quantum mechanics. This calls for the establishment of a more encompassing “dictionary” to provide more useful “translations” between the two languages.

Quantum Mechanics Hitoshi Kitada

I consider in this book a formulation of Quantum Mechanics. Usually QM is formulated based on the notion of time and space, both of which are thought a priori given quantities or notions. However, when we try to define the notion of velocity or momentum, we encounter a difficulty as we will see in chapter 1. The problem is that if the notion of time is given a priori, the velocity is definitely determined when given a position, which contradicts the uncertainty principle of Heisenberg. We then set the basis of QM on the notion of position and momentum operators as in chapter 2. Time of a local system then is defined approximately as a ratio $|x|/|v|$ between the space coordinate $x$ and the velocity $v$. In this formulation of QM, we can keep the uncertainty principle, and time is a quantity that does not have precise values unlike the usually supposed notion of time has. The feature of local time is that it is a time proper to each local system, which is defined as a finite set of quantum mechanical particles. We now have an infinite number of local times that are unique and proper to each local system. Based on the notion of local time, the motion inside a local system is described by the usual Schr\”odinger equation. We investigate such motion in a given local system in part II. This is a usual quantum mechanics. After some excursion of the investigation of local motion, we consider in part III the relative relation or motion between plural local systems. In the final part IV, we will prove that there is at least one Universe wave function $\phi$ in which all local systems have local motions and thus local times. This concludes our formulation of Quantum Mechanics.

Classical mechanics is not h=0 limit of quantum mechanics O.V.Man’ko, V.I.Man’ko

Both the set of quantum states and the set of classical states described by symplectic tomographic probability distributions (tomograms) are studied. It is shown that the sets have common part but there exist tomograms of classical states which are not admissible in quantum mechanics and vica versa, there exist tomograms of quantum states which are not admissible in classical mechanics. Role of different transformations of reference frames in phase space of classical and quantum systems (scaling and rotation) determining the admissibility of the tomograms as well as the role of quantum uncertainty relations is elucidated. Union of all admissible tomograms of both quantum and classical states is discussed in context of interaction of quantum and classical systems. Negative probabilities in classical mechanics and in quantum mechanics corresponding to the tomograms of classical states and quantum states are compared with properties of nonpositive and nonnegative density operators, respectively.

Contextual objectivity and the quantum formalism Philippe Grangier

The new orthodoxy of quantum mechanics (QM) based on the decoherence approach requires many-worlds as an essential ingredient for logical consistency, and one may wonder what status to give to all these “other worlds”. Here we advocate that it is possible to build a consistent approach to QM where no other worlds are needed, and where the quantum formalism appears as a consequence of requiring the enumerability of physical properties. Such a quantization hypothesis is closely related to indistinguishability, and is deeply inconsistent with classical physics.

Quantum mechanics without spacetime IV : a noncommutative Hamilton-Jacobi equation T. P. Singh

It has earlier been argued that there should exist a formulation of quantum mechanics which does not refer to a background spacetime. In this paper we propose that, for a relativistic particle, such a formulation is provided by a noncommutative generalisation of the Hamilton-Jacobi equation. If a certain form for the metric in the noncommuting coordinate system is assumed, along with a correspondence rule for the commutation relations, it can be argued that this noncommutative Hamilton-Jacobi equation is equivalent to standard quantum mechanics.

No black hole information puzzle in a relational universe Rodolfo Gambini, Rafael Porto, Jorge Pullin

The introduction of a relational time in quantum gravity naturally implies that pure quantum states evolve into mixed quantum states. We show, using a recently proposed concrete implementation, that the rate at which pure states naturally evolve into mixed ones is faster than that due to collapsing into a black hole that later evaporates. This is rather remarkable since the fundamental mechanism for decoherence is usually very weak. Therefore the “black hole information puzzle” is rendered de-facto unobservable.

On the principles of quantum mechanics Eijiro Sakai

We propose six principles as the fundamental principles of quantum mechanics: principle of space and time, Galilean principle of relativity, Hamilton’s principle, wave principle, probability principle, and principle of indestructibility and increatiblity of particles. We deductively develop the formalism of quantum mechanics on the basis of them: we determine the form of the Lagrangian that satisfies requirements of these principles, and obtain the Schroedinger equation from the Lagrangian. We also derive the canonical commutation relations. Then we adopt the following four guide lines. First, we do not premise the relations between dynamical variables in classical mechanics. Second, we define energy, momentum, and angular momentum as the constants of motion that are derived from homogeneity and isotropy in space and time on the basis of principle of space and time. Since energy and momentum are quantitatively defined in classical mechanics, we define them in quantum mechanics so that the corresponding conservation laws are satisfied in a coupling system of a quantum particle and a classical particle. Third, we define Planck’s constant and the mass of a particle as proportionality constants between energy and frequency due to one of Einstein-de Broglie formulas and between momentum and velocity, respectively. We shall obtain the canonical commutation relations and the Schroedinger equation for a particle in an external field in the definitive form. We shall also prove that relations between dynamical variables in quantum mechanics have the same forms for those in classical mechanics.

Time-Dependent Hilbert Spaces, Geometric Phases, and General Covariance in Quantum Mechanics Ali Mostafazadeh

We investigate consequences of allowing the Hilbert space of a quantum system to have a time-dependent metric. For a given possibly nonstationary quantum system, we show that the requirement of having a unitary Schreodinger time-evolution identifies the metric with a positive-definite (Ermakov-Lewis) dynamical invariant of the system. Therefore the geometric phases are determined by the metric. We construct a unitary map relating a given time-independent Hilbert space to the time-dependent Hilbert space defined by a positive-definite dynamical invariant. This map defines a transformation that changes the metric of the Hilbert space but leaves the Hamiltonian of the system invariant. We propose to identify this phenomenon with a quantum mechanical analogue of the principle of general covariance of General Relativity. We comment on the implications of this principle for geometrically equivalent quantum systems and investigate the underlying symmetry group.

Non-commutative Calculus and Discrete Physics Louis H. Kauffman

Sequences of actions do not commute.. For example, the tick of a clock and the measurement of a position do not commute with one another, since the position will have moved to the next position after the tick. We adopt non-commutative calculus, with derivatives represented by commutators. In the beginning distinct derivatives do not commute with one another, providing curvature formalism so that the form of the curvature of a gauge field appears almost as soon as the calculus is defined. This provides context for the Feynman-Dyson derivation of electromagnetic formalism from commutators, and generalizations including the early appearance of the form of the Levi-Civita connection dervived from the Jacobi identity. In this version of non-commutative physics bare quantum mechanics (its commutation relations) appears as the flat background for all other constructions. Ascent to classical physics is obtained by replacing commutators with Poisson brackets that satisfy the Leibniz rule. An appendix on matrix algebra from a discrete point of view (Iterants) is provided. This paper will appear in the proceedings of the ANPA conference held in Cambridge, England in the summer of 2002.

Coherence and the Clock L. Stodolsky

We discuss the notion of quantum mechanical coherence in its connection with time evolution and stationarity. The transition from coherence to decoherence is examined in terms of an equation for the time dependence of the density matrix. It is explained how the decoherence rate parameter arising in this description is related to the “unitarity defect” in interactions with the environment as well as the growth in entropy of the system. Applications to the “Zeno-Watched Pot Effect” and gravitational interactions are given. Finally, some recent results on applications to macroscopic coherence with the rf SQUID, where the transition from quantum to classical behavior could be studied experimentally, are shown.

Speakable and Unspeakable, Past and Future Aephraim M. Steinberg

This chapter is based on a talk given at the Science and Ultimate Reality meeting in March, 2002, in honour of John Archibald Wheeler. In it, I discuss some questions related to what can and cannot be said about the history of a quantum mechanical system. Relying heavily on the weak- measurement formalism of Aharonov and coworkers, I argue that there is much to be learned about a system based both on its preparation and on subsequent postselection. This is illustrated with examples from a number of past, present, and future experiments from our lab, ranging from tests of quantum “paradoxes” to studies of nonlocality to non-deterministic implementations of logic operations on quantum information. The connection between weak measurements and generalized probability theory is discussed, along with some of the counterintuitive features of these “probabilities.” Conclusions are for the most part left to the reader.

Coherent States: A General Approach P.K. Panigrahi, T. Shreecharan, J. Banerji, V. Sundaram

A general procedure for constructing coherent states, which are eigenstates of annihilation operators, related to quantum mechanical potential problems, is presented. These coherent states, by construction are not potential specific and rely on the properties of the orthogonal polynomials, for their derivation. The information about a given quantum mechanical potential enters into these states, through the orthogonal polynomials associated with it and also through its ground state wave function. The time evolution of some of these states exhibit fractional revivals, having relevance to the factorization problem.

Quantizing Time Kim Bostroem

A quantum mechanical theory is proposed which abandons an external parameter “time” in favor of a self-adjoint operator on a Hilbert space whose elements represent measurement events rather than system states. The standard quantum mechanical description is obtained in the idealized case of measurements of infinitely short duration. A theory of perturbation is developped. As a sample application Fermi’s Golden Rule and the S-matrix are derived. The theory also offers a solution to the controversal issue of the time-energy uncertainty relation.

Entanglement and Relativity C. G. Timpson, H. R. Brown

In this paper we survey, in an elementary fashion, some of the questions that arise when one considers how entanglement and relativity are related via the notion of non-locality. We begin by reviewing the role of entangled states in Bell inequality violation and question whether the associated notions of non-locality lead to problems with relativity. The use of entanglement and wavefunction collapse in Einstein’s famous incompleteness argument is then considered, before we go on to see how the issue of non-locality is transformed if one considers quantum mechanics without collapse to be a complete theory, as in the Everett interpretation. The opportunity is taken to consider whether teleportation and dense coding might constitute a source of non-locality within the Everett interpretation.

Local Realism, Contextualism and Loopholes in Bell`s Experiments Andrei Khrennikov, Igor Volovich

It is currently widely accepted, as a result of Bell’s theorem and related experiments, that quantum mechanics is inconsistent with local realism and there is the so called quantum non-locality. We show that such a claim can be justified only in a simplified approach to quantum mechanics when one neglects the fundamental fact that there exist space and time. Mathematical definitions of local realism in the sense of Bell and in the sense of Einstein are given. We demonstrate that if we include into the quantum mechanical formalism the space-time structure in the standard way then quantum mechanics might be consistent with Einstein’s local realism. It shows that loopholes are unavoidable in experiments aimed to establish a violation of Bell`s inequalities. We show how the space-time structure can be considered from the contextual point of view. A mathematical framework for the contextual approach is outlined.

Quantum Mechanical Motion of Relativistic Particle in Non-Continuous Spacetime A. Kull

The quantum mechanical motion of a relativistic particle in a non-continuous spacetime is investigated. The spacetime model is a dense, rationale subset of two-dimensional Minkowski spacetime. Solutions of the Dirac equation are calculated using a generalized version of Feynman’s checkerboard model. They turn out to be closely related to the continuum propagator.

Nonlinear Reformulation of Heisenberg’s Dynamics Martin Ziegler, Benno Fuchssteiner

A structural similarity between Classical Mechanics (CM) and Quantum Mechanics (QM) was revealed by P.A.M. Dirac in terms of Lie Algebras: while in CM the dynamics is determined by the Lie algebra of Poisson brackets on the manifold of scalar fields for classical position/momentum observables q/p, d/dt q={q,H}, d/dt p={p,H}, QM evolves (in Heisenberg’s picture) according to the formally similar Lie algebra of commutator brackets of the corresponding operators Q/P: d/dt Q=i/h [Q,H], d/dt P=i/h [P,H] where QP-PQ=ih. A further common framework for comparing CM and QM is the category of symplectic manifolds. Other than previous authors, this paper considers phase space of Heisenberg’s picture, i.e., the manifold of pairs of operator observables (Q,P) satisfying commutation relation. On a sufficiently high algebraic level of abstraction — which we believe to be of interest on its own — it turns out that this approach leads to a truly NON-linear yet Hamiltonian reformulation of QM evolution.

From a Mechanical Lagrangian to the Schrödinger Equation. A Modified Version of the Quantum Newton’s Law A. Bouda

In the one-dimensional stationary case, we construct a mechanical Lagrangian describing the quantum motion of a non-relativistic spinless system. This Lagrangian is written as a difference between a function $T$, which represents the quantum generalization of the kinetic energy and which depends on the coordinate $x$ and the temporal derivatives of $x$ up the third order, and the classical potential $V(x)$. The Hamiltonian is then constructed and the corresponding canonical equations are deduced. The function $T$ is first assumed arbitrary. The development of $T$ in a power series together with the dimensional analysis allow us to fix univocally the series coefficients by requiring that the well-known quantum stationary Hamilton-Jacobi equation be reproduced. As a consequence of this approach, we formulate the law of the quantum motion representing a new version of the quantum Newton’s law. We also analytically establish the famous Bohm’s relation % $\mu \dot{x} = \partial S_0 /\partial x $ % outside of the framework of the hydrodynamical approach and show that the well-known quantum potential, although it is a part of the kinetic term, it plays really a role of an additional potential as assumed by Bohm.

A possible new approach of quantum measurements S. Dumitru

It is proposed a possible new approach of quantum measurements (QMS), disconnected of the traditional interpretation of uncertainty relations and independent of any appeal to the strange idea of collapse (reduction) of wave functions. The new approach regards QMS as a statistical samplings (but not as simple detection acts) and their description as a distinct task, independent of actual procedures of quantum mechanics. A QMS is described by means of transformations of probability density and probability current, from intrinsic into recorded readings. The quantum observables appear as random variables, described by usual operators and valuable through probabilistic numerical parameters (mean values, correlations and standard deviations). The values of the respective parameters are not the same in the two mentioned readings. Then the measurement uncertainties (errors) are described by means of the changes in the alluded values. The new QMS approach is illustrated through an one-dimensional example.

Deformation quantization in the teaching of quantum mechanics Allen C. Hirshfeld, Peter Henselder

We discuss the deformation quantization approach for the teaching of quantum mechanics. This approach has certain conceptual advantages which make its consideration worthwhile. In particular, it sheds new light on the relation between classical and quantum mechanics. We demionstrate how it can be used to solve specific problems and clarify its relation to conventional quantization and path integral techniques. We also discuss its recent applications in relativistic quantum field theory.

Unix Version 6 in Modern C (”Intro to xv6″)

28 June 2007

As some may know, I’m an operating systems nerd (if not, you haven’t been reading this blog enough!).

Well, I ran across a fascinating toy operating system: xv6. It is Unix Version 6, but way back then C was little more than glorified assembly code (as opposed to now with C99 that’s more like Java). The problem is that xv6 is a little tricky if you don’t have access to an Athena workstation, so I’d like to share my notes on how the hell to use the damned thing!

So first thing’s first: download the thing! This may help a little, but that may just be me ;)  Here’s the url.

Now, I assume you don’t have computers lying around to test the operating system on, so you need to get bochs. But wait! There’s a small problem! You need to download MIT’s special version of bochs! Luckily, they have a shell script where you can install it automagically. Unfortunately, they haven’t updated it for the latest G++ upgrade, so you will need to change some code manually, then manually run the ./configure and ./make (and if I recall correctly ./make install) on the command line. Here is the installation script, and here are the installation instructions.

Alternatively, if you are like me and saying to yourself “Why I’m too lazy to do this!” Simple make the following script:

#!/usr/bin/bash
wget http://pdos.lcs.mit.edu/6.828/2006/src/bochs-2.2.6-6.828r1.tar.gz
tar xzvf bochs-2.2.6-6.828r1.tar.gz
cd bochs-2.2.6-6.828r1
./configure --enable-disasm \
            --enable-smp \
            --enable-debugger \
            --enable-new-pit \
            --enable-all-optimizations \
            --enable-4meg-pages \
            --enable-global-pages \
            --enable-pae \
            --enable-all-optimizations \
            --disable-reset-on-triple-fault \
            --with-all-libs \
            --with-x \
            --with-x11 \
            --with-nogui
make
make install

And you’re golden! (After invoking the script of course ;) )

Now you are have to modify the makefile for the xv6 program. You see, a lot has changed with the latest version of GCC, so you need to add something to the CCFLAGS variable. What you do is you open up the /xv6/Makefile with your favorite editor, go to line 36 and change it from

CFLAGS = -fno-builtin -O2 -Wall -MD

to become

 CFLAGS = -fno-builtin -fno-stack-protector -O2 -Wall -MD

I bolded what was added to note the difference. That should be it and you should be golden as for using it on Ubuntu linux, good luck with other *nix platforms and don’t hold your breath for Windoze users.

Some recent news (good and well boring)

15 June 2007

OK, so I have not abandoned the blog! Instead, I am working diligently on the Brainix file system.

Let me brag about how far we have gotten. We have found out the problem with the mount_root() method (messages were being lost — it was like an accurate reflection of the post office to an eery degree of precision). So we had to rehaul the entire thing to have synchronous message passing. This may not sound difficult but it was indeed hard.

The relation between the lead developer and myself is somewhat like Jack Sprat and his wife; the developer can’t really spot the bugs as quickly as me, but he can deal with them faster than I. Coincidentally, he owes me one hexadecimal dollar (we had a bet on the source of the kernel panic, and I was right).

Now the operating system can mount the root directory, but there is still a little trouble with some of the file system methods. The error messages are extremely cryptic and confusing, so we are shifting our focus on making a new debug method that combines perl and assembly code. The developer is working on the assembly part, when he is done I will start working on the Perl part.

In the mean time I have been working diligently on documenting the file system “for posterity”, and haven’t uploaded a whole lot about the documentation recently. I have however added the code.sty and information about the debug method I used. I am studying the Linux and FreeBSD virtual file system implementations and started writing some notes on the (eventual) implementation in Brainix. Expect to see these in the brainix documentation folder (if you don’t want to get subversion and download a copy, modify the code, and upload it; then go here for the eventual upload of these documents in .tex files). If you want, however, to actually help with the creation of an operating system, then by all means go here. But as you might expect, studying an operating system that’s as poorly organized as Linux or FreeBSD is time exhaustive; especially a portion as critical as the virtual file system! Mind you, I am reading first hand code and second hand analyses.

I’ll probably have my documentation done by today or tomorrow and I have no clue when my notes on the virtual file system will be done. Coincidentally, I have been asked by a few fellows to explain why Marginalism (”conventional economics”) is complete and utter bollocks in excruciating detail, so I will be posting up “practice lectures” on introductory calculus for people that barely understand algebra. Any and all criticism of these “lectures” will be greatly appreciated!

I’ll try creating a controversial post soon like “Why physicists don’t need category theory” or something provocative like that; provided mathemagicians don’t mind me playing devil’s advocate ;)

UPDATE: I just found out that the value of the Brainix kernel is $42,970 which I trust I shall be paid half of from the lead developer (and don’t try and weasel out of it with this “open source” stuff! :P).

School’s out for summer!

12 June 2007

Well, not quite…I still have one final to go, but it’s extremely easy. So easy I could do it half drunk and sleep deprived.

But I have been working on the Brainix operating system lately, and have been working really hard on writing a virtual file system from scratch. I’m quite happy to announce that Brainix has advanced quite a ways since I mentioned it last, although it’s still not mature enough to run a shell, and I’m quite proud to have participated in its recent development.

So now I can continue to rant about irrelevant matters with my free time and brag about the progress of Brainix ;) Just giving an update on why I haven’t posted a thing in ages.

Operating Systems

12 May 2007

Time for some shameless self-promotion. As you can imagine, I’m a nerdy fellow. I’ve learned how to program under Dr. Neat, another former rocket scientist from JPL (he now teaches at Crescenta Valley High School programming and math courses). For my final project in his advanced programming course, I worked with a fellow named Raffi on an operating system. We didn’t get very far, and ended up with a really simple one written entirely in x86 assembly.

Now I am still interested in operating systems because, when you think about it, it seems to be magic. But being a scientist, I know there’s no such thing as magic. So I decided to do some research on it since my senior year.

Operating systems are basically a collection of utilities (the file system, the process manager, memory management, and so forth) that is run as a single program. This is the traditional approach known as the monolithic kernel. There is an alternative approach where the file system, the memory manager, etc. are run as user programs, and the operating system is simply the process manager. This is the microkernel approach. I’m inclined to favor the latter, and have looked at several. I was working on Minix 3 independently trying to get it to run the GNOME user interface, but since they refused to have the OS be compiled with a modern compiler I abandoned them. Now I am working on brainix.

So if you would like to work on a microkernel operating system, please work on brainix (yeah, this is a really poorly assembled sales pitch from a sleep deprived physicist). And I didn’t name it either, otherwise it would have been the Kick Ass Operating System or KAOS (pronounced chaos, a reference to Get Smart!). I’m working on the file system at the moment (well, not at the moment because of my work load, but I will work on it in June) and I encourage you to work on it too!