Monday, August 25, 2008

Memory management

Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already used by another program. Since programs time share, each program must have independent access to memory.

Cooperative memory management, used by many early operating systems assumes that all programs make voluntary use of the kernel's memory manager, and do not exceed their allocated memory. This system of memory management is almost never seen anymore, since programs often contain bugs which can cause them to exceed their allocated memory. If a program fails it may cause memory used by one or more other programs to be affected or overwritten. Malicious programs, or viruses may purposefully alter another program's memory or may affect the operation of the operating system itself. With cooperative memory management it takes only one misbehaved program to crash the system.

Memory protection enables the kernel to limit a process' access to the computer's memory. Various methods of memory protection exist, including memory segmentation and paging. All methods require some level of hardware support (such as the 80286 MMU) which doesn't exist in all computers.

In both segmentation and paging, certain protected mode registers specify to the CPU what memory address it should allow a running program to access. Attempts to access other addresses will trigger an interrupt which will cause the CPU to re-enter supervisor mode, placing the kernel in charge. This is called a segmentation violation or Seg-V for short, and since it is usually a sign of a misbehaving program, the kernel will generally kill the offending program, and report the error.

Windows 3.1-Me had some level of memory protection, but programs could easily circumvent the need to use it. Under Windows 9x all MS-DOS applications ran in supervisor mode, giving them almost unlimited control over the computer. A general protection fault would be produced indicating a segmentation violation had occurred, however the system would often crash anyway.

Tuesday, August 19, 2008

Population Ecology

Population ecology Population ecology is a major sub-field of ecology that deals with the dynamics of species populations and how these populations interact with the environment.

The older term, autecology refers to the roughly same field of study, coming from the division of ecology into autecology—the study of individual species in relation to the environment—and synecology—the study of groups of organisms in relation to the environment—or community ecology. Odum (1959, p. 8) considered that synecology should be divided into population ecology, community ecology, and ecosystem ecology, defining autecology as essentially "species ecology." However, biologists have for some time recognized that the more significant level of organization of a species is a population, because at this level the species gene pool is most coherent. In fact, Odum regarded "autecology" as no longer a "present tendency" in ecology (i.e., an archaic term), although included "species ecology"—studies emphasizing life history and behavior as adaptations to the environment of individual organisms or species—as one of four sub-divisions of ecology.

The development of the field of population ecology owes much to the science of demography and the use of actuarial life tables. Population ecology has also played an important role in the development of the field of conservation biology especially in the development of population viability analysis (PVA) which makes it possible to predict the long-term probability of a species persisting in a given habitat patch .

Monday, August 11, 2008


PCX is an image file format developed by the ZSoft Corporation of Marietta, Georgia, USA. It was the native file format for PC Paintbrush (PCX = "PC Paintbrush Exchange") and became one of the first widely accepted DOS imaging standards, although its use has since been succeeded by more sophisticated image formats such as GIF, JPEG, and PNG.

The PCX is a device-independent raster image format; the file header stores information about the display hardware (screen resolution, color depth and palette information, bit planes and so on) separately from the actual image information, allowing the image to be properly transferred and displayed on computer systems with different hardware. PCX files commonly store palette-indexed images ranging from 2 or 4 colors to 16 and 256 colors, although the format has been extended to record true-color (24-bit) images as well.

A PCX file has three main sections. A 128 byte header which is followed by image data and an optional 256 color palette. PCX files were designed for use on PC and so always use little endian byte ordering.

Monday, August 04, 2008


Mitosis is the process by which a cell separates the chromosomes in its cell nucleus, into two identical sets in two daughter nuclei. It is generally followed immediately by cytokinesis, which divides the nuclei, cytoplasm, organelles and cell membrane into two daughter cells containing roughly equal shares of these cellular components. Mitosis and cytokinesis together define the mitotic (M) phase of the cell cycle - the division of the mother cell into two daughter cells, genetically identical to each other and to their parent cell.

Mitosis occurs exclusively in eukaryotic cells, but occurs in different ways in different species. For example, animals undergo an "open" mitosis, where the nuclear envelope breaks down before the chromosomes separate, while fungi such as Aspergillus nidulans and Saccharomyces cerevisiae (yeast) undergo a "closed" mitosis, where chromosomes divide within an intact cell nucleus. Prokaryotic cells, which lack a nucleus, divide by a process called binary fission.

The process of mitosis is complex and highly regulated. The sequence of events is divided into phases, corresponding to the completion of one set of activities and the start of the next. These stages are prophase, prometaphase, metaphase, anaphase and telophase. During the process of mitosis the pairs of chromosomes condense and attach to fibers that pull the sister chromatids to opposite sides of the cell. The cell then divides in cytokinesis, to produce two identical daughter cells.

Because cytokinesis usually occurs in conjunction with mitosis, "mitosis" is often used interchangeably with "mitotic phase". However, there are many cells where mitosis and cytokinesis occur separately, forming single cells with multiple nuclei. This occurs most notably among the fungi and slime moulds, but is found in various different groups. Even in animals, cytokinesis and mitosis may occur independently, for instance during certain stages of fruit fly embryonic development. Errors in mitosis can either kill a cell through apoptosis or cause mutations that may lead to cancer.