OPERATING SYSTEM
An operating system (commonly abbreviated OS and O/S) is the software component of a computer system that is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system acts as a host for application programs that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers, including hand-held computers, desktop computers, supercomputers, and even modern video game consoles, use an operating system of some type. Some of the oldest models may however use an embedded OS, that may be contained on a compact disk or other storage device.
Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation. Users may also interact with the operating system with some kind a software user interface (UI) like typing commands by using command line interface (CLI) or using a graphical user interface (GUI, commonly pronounced “gooey”). For hand-held and desktop computers, the user interface is generally considered part of the operating system. On large multi-user systems like Unix and Unix-like systems, the user interface is generally implemented as an application program that runs outside the operating system. After all, always considering user interface as part of operating system is misconception because operating system can have multiple different user interfaces.
Common contemporary operating systems include
Microsoft Windows,
Mac OS X,
Linux and
Solaris. Microsoft Windows has a significant majority of market share in the desktop and notebook computer markets, while servers generally run on Linux or other Unix-like systems. Embedded device markets are split amongst several operating systems.
File system support in modern operating systems
Linux and UNIX
Many Linux distributions support some or all of ext2, ext3, ReiserFS, Reiser4, JFS , XFS , GFS, GFS2, OCFS, OCFS2, and NILFS. The ext file systems, namely ext2 and ext3 are based on the original Linux file system. Others have been developed by companies to meet their specific needs, hobbyists, or adapted from UNIX, Microsoft Windows, and other operating systems. Linux has full support for XFS and JFS, along with FAT (the MS-DOS file system), and HFS which is the primary file system for the Macintosh.
In recent years support for Microsoft Windows NT's NTFS file system has appeared in Linux, and is now comparable to the support available for other native UNIX file systems. ISO 9660 and UDF are supported which are standard file systems used on CDs, DVDs, and BluRay discs. It is possible to install Linux on the majority of these file systems. Unlike other operating systems, Linux and UNIX allow any file system to be used regardless of the media it is stored on, whether it is a hard drive, CD or DVD, or even contained within a file located on an another file system.
Microsoft Windows
Microsoft Windows presently supports NTFS and FAT file systems, along with network file systems shared from other computers, and the ISO 9660 and UDF filesystems used for CDs, DVDs, and other optical discs such as BluRay. Under Windows each file system is usually limited in application to certain media, for example CDs must use ISO 9660 or UDF, and as of Windows Vista, NTFS is the only file system which the operating system can be installed on. The NTFS file system is the most efficient and reliable of the Windows file systems, comparing closely in performance to Linux's XFS. Details of its design are not known. Windows Embedded CE 6.0 introduced ExFAT, a file system more suitable for flash drives.
Mac OS X
Mac OS X supports HFS+ with journaling as its primary file system. It is derived from the Hierarchical File System of the earlier Mac OS. Mac OS X has facilities to read and write FAT, NTFS, UDF, and other file systems, but cannot be installed to them. Due to its UNIX heritage Mac OS X now supports virtually all the file systems supported by the UNIX VFS. Recently Apple Inc. started work on porting Sun Microsystem's ZFS filesystem to Mac OS X and preliminary support is already available in Mac OS X 10.5.
BINARY NUMERAL SYSTEM
The
binary numeral system, or
base-2 number system, is a
numeral system that represents numeric values using two symbols, usually
0 and
1. More specifically, the usual
base-
2 system is a
positional notation with a
radix of 2. Owing to its straightforward implementation in
digital electronic circuitry using
logic gates, the binary system is used internally by all modern
computers.
A binary number can be represented by any sequence of bits (binary digits), which in turn may be represented by any mechanism capable of being in two mutually exclusive states. The following sequences of symbols could all be interpreted as the same binary numeric value of 667:
1 0 1 0 0 1 1 0 1 1
| - | - - | | - | |
x o x o o x x o x x
The numeric value represented in each case is dependent upon the value assigned to each symbol. In a computer, the numeric values may be represented by two different voltages; on a magnetic disk, magnetic polarities may be used. A "positive", "yes", or "on" state is not necessarily equivalent to the numerical value of one; it depends on the architecture in use.
In keeping with customary representation of numerals using Arabic numerals, binary numbers are commonly written using the symbols 0 and 1. When written, binary numerals are often subscripted, prefixed or suffixed in order to indicate their base, or radix. The following notations are equivalent:
- 100101 binary (explicit statement of format)
- 100101b (a suffix indicating binary format)
- 100101B (a suffix indicating binary format)
- bin 100101 (a prefix indicating binary format)
- 1001012 (a subscript indicating base-2 (binary) notation)
- %100101 (a prefix indicating binary format)
- 0b100101 (a prefix indicating binary format, common in programming languages)
When spoken, binary numerals are usually read digit-by-digit, in order to distinguish them from decimal numbers. For example, the binary numeral 100 is pronounced one zero zero, rather than one hundred, to make its binary nature explicit, and for purposes of correctness. Since the binary numeral 100 is equal to the decimal value four, it would be confusing, and numerically incorrect, to refer to the numeral as one hundred.
y n y n n y y n y y
Counting in binary
Counting in binary i similar to counting in any other number system. Beginning with a single digit, counting proceeds through each symbol, in increasing order. Decimal counting uses the symbols
0 through
9, while binary only uses the symbols
0 and
1.
When the symbols for the first digit are exhausted, the next-higher digit (to the left) is incremented, and counting starts over at 0. In decimal, counting proceeds like so:
- 000, 001, 002, ... 007, 008, 009, (rightmost digit starts over, and next digit is incremented)
- 010, 011, 012, ...
- ...
- 090, 091, 092, ... 097, 098, 099, (rightmost two digits start over, and next digit is incremented)
- 100, 101, 102, ...
After a digit reaches 9, an increment resets it to 0 but also causes an increment of the next digit to the left. In binary, counting is the same except that only the two symbols 0 and 1 are used. Thus after a digit reaches 1 in binary, an increment resets it to 0 but also causes an increment of the next digit to the left:
- 0000,
- 0001, (rightmost digit starts over, and next digit is incremented)
- 0010, 0011, (rightmost two digits start over, and next digit is incremented)
- 0100, 0101, 0110, 0111, (rightmost three digits start over, and the next digit is incremented)
- 1000, 1001, ...
And that are my learnings for this week. I hope that the next quarter would be more exciting for me. See yah...