Saturday, January 13, 2007

Hanoi

: Hà Nội) pronunciation (help·info), estimated population 3,058,000(2004), is the capital of Vietnam. From 1010 until 1802, it was the political center of an independent Vietnam with a few brief interruptions. It was eclipsed by Huế during the Nguyen Dynasty as the capital of Vietnam, but served as the capital of French Indochina from 1887 to 1945. From 1945 to 1976, it was the capital of North Vietnam.

The city is located on the right bank of the Red River. Hanoi is located at 21°2' North, 105°51' East (21.0333, 105.85), 1,760 km (1,094 mi) north of Ho Chi Minh City (formerly Saigon). [2]
History
Hoàn Kiếm Lake in the center of Hanoi, with the streets of the old town in the background (1999)
Hoàn Kiếm Lake in the center of Hanoi, with the streets of the old town in the background (1999)

The area around modern Hanoi has been inhabited for at least 3000 years BC. One of the first known permanent settlements is the Co Loa citadel founded around 200 BC.

Through history, Hanoi was known by many names. During Chinese domination of Vietnam, it was known as Long Bien, Tống Bình and later Long Đỗ. In 866, it was turned into a citadel and was named Đại La.

In 1010, Lý Thái Tổ, the first ruler of the Lý Dynasty (Triều Lý), moved the capital of Đại Việt (the Great Viet, then the name of Vietnam) to the site of the Đại La Citadel. Claiming to have seen a dragon ascending the Red River, he renamed it Thăng Long (Ascending dragon)—a name still used poetically to this day. It remained the capital of Vietnam until 1397, when the capital was moved to Thanh Hóa, also known as Tây Đô (Western Capital). Thăng Long then became Đông Đô (Eastern Capital).

In 1408, Vietnam was invaded by Chinese troops from the Ming Dynasty and Đông Đô was renamed Đông Quan (Eastern Gateway) by the Chinese. In 1428, Vietnam was liberated from Chinese rule by Lê Lợi, the founder of the Le Dynasty (Triều Lê ) and Dông Quan was renamed Đông Kinh (Eastern Capital—the name known to Europeans as Tonkin; and the same characters used for Tokyo). During the Tây Son Dynasty, it was named Bắc Thành (Northern Citadel).

In 1802, when the Nguyễn Dynasty (Triều Nguyễn) was established and then moved the capital down to present-day Huế, it was renamed Thăng Long. However, the second syllable of the toponym is actually a homonym of the word long, and so, actually suggests "to flourish" as opposed to "dragon". Therefore the name would be translated roughly to to ascend and flourish. In 1831 the Nguyen Dynasty renamed it Hà Nội (which can be translated as around the bend of the river or River Interior) . Hanoi was occupied by the French in 1873 and passed to them ten years later. It became the capital of French Indochina after 1887.

The city was occupied by the Japanese in 1940, and liberated in 1945, when it became the seat of Vietnam's government. From late 1946 to early 1947, it was the scene of heavy fighting between the French and Viet Minh forces. At that point, the city became the capital of an independent North Vietnam.

During the Vietnam War Hanoi's transportation facilities were disrupted by the bombing of bridges and railways, which were, however, promptly repaired. Following the end of the war, Hanoi became the capital of all Vietnam when North and South Vietnam were reunited on July 2, 1976.

In 2004, during site surveys for construction of a new parliament house, the remnant of a massive 900 years old citadel was discovered in central Hanoi, near the site of Ba Dinh square.

[edit] Geography

[edit] Districts

Hanoi comprises of eight inner districts of Ba Đình, Cầu Giấy, Đống Đa, Hoàn Kiếm, Hai Bà Trưng, Hoàng Mai, Long Biên, Tây Hồ and Thanh Xuân, and five outer districts of Đông Anh, Gia Lâm, Từ Liêm, Thanh Trì and Sóc Sơn.

[edit] Climate

Hanoi experiences the typical climate of northern Vietnam, where summers are hot and humid, and winters are relatively cool and dry. The summer months from May to September receive the majority of rainfall in the year (1,682 mm rainfall/ year). The winter months from November to March are relatively dry, although spring then often brings light rains. The minimum winter temperature in Hanoi can dip as low as 6–7°C (43°F), while summer can get as hot as 38–40 (100-104°F). Central heating is not common in Hanoi, and wind chills may make one feel rather cold in winter.[3]

[edit] Education

Hanoi, as the capital of Indochina, was home to the first western-style universities in Indochina, including: Hanoi Medical College (1902), Indochina University (1904), and École Supérieure des Beaux-Arts de L'Indochine (1925).

Hanoi is the largest center of education in Vietnam. Admissions to undergraduate study are through entrance examinations, which are conducted annually and open for everyone in the country. The majority of universities in Hanoi are public, although in recent years a few private universities have started their operation.

Because most of the national universities are located in Hanoi (and Ho Chi Minh City), students from other provinces wishing to enter university often travel to Hanoi for the annual entrance examination. Such events often take place in June/July, when a large number of students and their families converge on the city for a few weeks around the examimation period. In recent years, these entrant exams have been centrally set by the ministry of education, but the passmarks are decided independently by each university.

Pre-tertiary schools in Hanoi mainly serve their local districts. Education is equivalent to the K–12 system in the US, with elementary school between grades 1 and 5, middle school (or junior high) between grades 6 and 9, and high school from grades 10 to 12.

Some pre-tertiary schools might have a few selective classes for students with higher entry scores, with a stronger emphasis on subjects such as mathematics or sciences. In addition, some schools are designated as selective where admissions are also by entrant examination on the subjects of specialization. A few major universities in Hanoi also run a limited number of high-school and middle-school classes out of their Hanoi campuses for gifted students in subjects such as mathematics, chemistry, physics, information technology, linguistics, biology, and other social science and humanity subjects.

[edit] Places of interest
Ba Dinh square
Ba Dinh square

As the capital of Vietnam for almost a thousand years, Hanoi is considered to be the cultural center of Vietnam, where every dynasty has left behind their imprint. Even though some relics have not survived through wars and time, the city still has many interesting cultural and historic monuments for visitors and residents alike.
Hanoi opera house
Hanoi opera house

Some of the prominent places are: The Temple of Literature (Văn Miếu), site of the oldest university in Vietnam; One Pillar Pagoda (Chùa Một Cột); Flag Tower of Hanoi (Cột cờ Hà Nội); The Old Quarter and Hoàn Kiếm

Hanoi is also home to a number of museums, including the Vietnamese National History Museum, the National Museum of Ethnology, the National Museum of Fine Arts and the Revolution Museum .
The Temple of Literature , main entry
The Temple of Literature , main entry

The Old Quarter, near the scenic Hoan Kiem lake, has the original street layout and architecture of the old Hanoi. At the beginning of 20th century, the city consisted of only about 36 streets, most of which are now part of the old quarter. Each street then comprised of merchant and household specialized in a particular trade, such as silk traders, jewellery, etc. The street names nowadays still reflect these specializations, although few of them remain exclusively in their original commerce. The area is in general famous for its small artisans and merchants, including many silk shops. Local cuisine specialties as well as several clubs and bars can be found here also. A night market in the heart of the district opens for business every Friday, Saturday, and Sunday evening with a variety of clothing, souvenirs, and food.

West Lake (Hồ Tây) is a popular place for people to hang out. It is the largest lake in Hanoi, and there are many temples to visit in the area. There are small boats for hire, and a floating restaurant which has been operating for a couple of decades.

[edit] Population

Hanoi's population is constantly growing, a reflection of the fact that the city is both a major metropolitan area of Northern Vietnam, and also the country's political centre. This population growth also puts a lot of pressure onto the infrastructure, some of which is antiquated and dates back from the early 20th century.

When you talk to Hanoians, they will concede that most people you meet in Hanoi these days are from somewhere else. If you define a native Hanoian as someone who has been here for three generations or more, that number is likely to be very small as compared to the overall population of the city. Even in the Old Quarter, where commerce started hundreds years ago and was mostly a family business, many of the street-front stores nowadays are owned by merchants and retailers from other provinces. The original owner family may have either rented out the store and moved to live further inside the house, or just moved out of the neighbourhood altogether. The pace of change has especially escalated after the abandonment of central-planing economic policies, and the loosening of the district-based household registrar system.

The considerate and genteel nature of Hanoians is occasionally quoted in idioms and literature, which may appear as annoyingly snobbish. In reality, they are a reflection of a past where Hanoi is the convergent point for much of the country's talents in arts and education. They are also a reflection of a system heavily entrenched in Confucian values where modesty and consideration of others were regarded with a higher priority than one's self. As the opening up of the economy has brought in other pressures on people's daily life, advocates for traditional social and family values are in many ways helping to counter an "everyone for himself" mentality.

[edit] Transportation
Motor scooters dominate the roads in the Old Quarter
Motor scooters dominate the roads in the Old Quarter

Hanoi is served by Noi Bai International Airport, located in the Soc Son District, approximately 40 km (25 miles) north of Hanoi. Noi Bai is the only international airport for the northern regions of Vietnam. Direct daily flights are available to other cities in Vietnam, Asia, Australia, and Europe. Flights to and from the Americas usually involve a transit. The airport has recently been rebuilt with modern facilities.

There are two main highways linking the airport and city. The route to the city via Thang Long Bridge is more direct than Highway 1, which runs along the outskirts of the city. The main highways are shared by cars, motor scooters, with separate lanes by the side for bicycles. Taxis are plentiful and usually have trip meters, although it is also common to agree on the trip price before taking a taxi from airport to the city center. Tourists also sometimes tour the city on Cyclos especially in the Old Quarter.

Hanoi is also the origin departure point for many train routes in the country. The Union Express (tàu Thống Nhất) runs from Hanoi to Ho Chi Minh City from Hanoi station (formerly Hang Co station), with stops at cities and provinces along the line. Trains also depart Hanoi frequently for Hai Phong and other northern cities.

The main means of transport within the city are motobikes, buses, taxis, and bicycles. Motobikes remain the most common way to move around the city, due to their flexibility in navigating small streets, lack of parking spaces for cars, and also being more fuel economic than automobiles. The number of private cars are however rising every year, and traffic at peak hours can be very heavy at main intersections.

Public buses run on many routes and fare can be purchased on the bus. For short trips, "xe ôm" (literally, "hug vehicle") motorcycle taxis are available where the passenger sits at the rear of a motobike and the driver will take you to your destination. A taxi is more convenient for longer trips, and if you do not wish to travel in open air.

[edit] Economy

Though representing only 3.6 percent of the country's population and 0.3 percent of the national territory, Hanoi contributes 8 percent to the national GDP and 45 percent of the Red River Delta's economy.

Industrial production in the city has experienced a rapid boom since the 1990s, with average annual growth of 19.1 percent from 1991–95, 15.9 percent from 1996–2000, and 20.9 percent during 2001–2003. In addition to eight existing industrial parks, Hanoi is building five new large-scale industrial parks and 16 small- and medium-sized industrial clusters. The non-state economic sector is expanding fast, with more than 25,000 businesses currently operating under the Enterprise Law.

Trade is another strong sector of the city. In 2003, Hanoi had 2,000 businesses engaged in foreign trade, having established ties with 161 countries and territories. The city's export value grew by an average 11.6 percent each year from 1996–2000 and 9.1 percent during 2001–2003. The economic structure also underwent important shifts, with tourism, finance, and banking now playing an increasingly important role.

Agriculture, previously a pillar in Hanoi's economy, has striven to reform itself, introducing new high-yield plant varieties and livestock, and applying modern farming techniques.

Together with economic growth, Hanoi's appearance has also changed significantly, especially in recent years. Infrastructure is constantly being upgraded, with new roads and an improved public transportation system. The rate of telephone users was 30 per 100 people in 2003. New urban areas are growing rapidly, with 1.5 million square metres of housing constructed during 1996–2000 and 1.3 million square metres built in 2003 alone.

Social services have been developed in both scale and quality. The public healthcare network has been strengthened, ensuring at least one doctor for each commune and ward. Thanks to these accomplishments, Hanoi has the highest development index in the country. Movements such as raising donations for poor people or promoting a "cultural lifestyle", have received support from local people and been maintained.

[edit] Health care and other facilities

The following medical facilities are located in Hanoi:

* Bach Mai Hospital
* Viet Duc Hospital
* Saint Paul Hospital
* 108 Hospital
* L'Hôpital Français De Hanoï
* Hanoi Dental Clinic
* Hanoi Family Medical Practice
* International SOS Clinic
* 19-8 Hospital

[edit] Photos of Hanoi

The Temple of Literature, called ' la pagode des corbeaux " under the French


The Temple of Literature, second court yard


The Temple of Literature, steles with names of those successful at the imperial exams


The Temple of Literature, third court yard

The Temple of Literature, third court yard


The Temple of Literature, main hall


The Temple of Literature, main hall


The Temple of Literature

One Pillar Pagoda


Presidential Palace, Hanoi (formerly Place of The Governor-General of French Indochina)


Presidential Palace during APEC2006


Presidential Palace at night during APEC2006

Grand Opera House


State Guest House (formerly Residence of Resident - Superior of Tonkin)


Historic hotel Sofitel Metropole Hanoi


Flag Tower of Hanoi

Tran Quoc pagoda


The cathédrale St-Joseph


Statue of Ly Thai To, founder of Hanoi


Hoan Kiem lake

The Huc bridge and Hoan Kiem lake


The Old Quarter


Kham Thien street, old days


Phan Dinh Phung street, former boulevard Carnot

National Museum of Fine Art


National Museum of History


Hanoi tower (built on the land of the famous prison Hanoi Hilton)


Long Bien bridge

West Lake


Trang Tien street, former rue Paul-Bert


A busy street


Ho Chi Minh mausoleum

A new street


A new quarter


Park of Reunification (former Lenin park)


Selling flower in the street

A French colonial-style house


An old house (Pho Hang Hom)


Old street—A photo of a painting by Bui Xuan Phai—a famous Vietnamese painter

PHP

PHP (PHP: Hypertext Preprocessor) is a reflective programming language originally designed for producing dynamic Web pages.[1] PHP is used mainly in server-side application software, but can be used from a command line interface or in standalone graphical applications.

PHP competes with other programming languages such as Perl, Ruby, and Python; as of December 2006, it is ranked 5th, down from 4th last year, by TIOBE Programming Community Index. The rankings are based on world wide availability of practitioners, courses and vendors.[2]

The sole implementation is produced by The PHP Group and released under the PHP License. It is considered to be free software by the Free Software Foundation. This implementation serves to define a de facto standard for PHP, as there is no formal specification.
History

PHP was written as a set of CGI binaries in the C programming language by the Danish-Canadian programmer Rasmus Lerdorf in 1994, to replace a small set of Perl scripts he had been using to maintain his personal homepage.[3] Lerdorf initially created PHP to display his résumé and to collect certain data, such as how much traffic his page was receiving. "Personal Home Page Tools" was publicly released on June 8, 1995 after Lerdorf combined it with his own Form Interpreter to create PHP/FI (this release is considered PHP version 2).[4][5]

Zeev Suraski and Andi Gutmans, two Israeli developers at the Technion - Israel Institute of Technology, rewrote the parser in 1997 and formed the base of PHP 3, changing the language's name to the recursive initialism "PHP: Hypertext Preprocessor". The development team officially released PHP/FI 2 in November 1997 after months of beta testing. Public testing of PHP 3 began immediately and the official launch came in June 1998. Suraski and Gutmans then started a new rewrite of PHP's core, producing the Zend Engine in 1999.[6] They also founded Zend Technologies in Ramat Gan, Israel, which actively manages the development of PHP.

In May 2000, PHP 4, powered by the Zend Engine 1.0, was released. The latest version as of December 2006 is 4.4.4. PHP 4 is currently still supported by security updates for those applications that require it.

On July 13, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5 included new features such as:[7]

* Robust support for Object-Oriented Programming
* The PHP Data Objects extension, which defines a lightweight and consistent interfaces for accessing databases
* Performance enhancements taking advantage of the new engine
* Better support for MySQL through a completely rewritten extension
* Embedded support for SQLite
* Integrated SOAP support
* Data iterators
* Error handling through Exceptions

The latest version as of January 2007 is PHP 5.2.0.

[edit] Usage

PHP generally runs on a web server, taking PHP code as its input and creating Web pages as output, but command-line scripting and client-side GUI applications are part of the three primary uses of PHP as well. PHP can be deployed on any web server and on almost every OS platform free of charge. The PHP Group also provides the complete source code for users to build, customize and extend for their own use.

[edit] Server-side scripting

Originally designed to create dynamic web pages, PHP's principal focus is server-side scripting. While running the PHP parser with a web server and web browser, the PHP model can be compared to other server-side scripting languages such as Microsoft's ASP.NET system, Adobe ColdFusion, Sun Microsystems' JavaServer Pages, Apple's WebObjects, Zope, mod_perl and the Ruby on Rails framework, as they all provide dynamic content to the client from a web server. To more directly compete with the "framework" approach taken by these systems, Zend is working on the Zend Framework - an emerging (as of June 2006) set of PHP building blocks and best practices; other PHP frameworks along the same lines include CakePHP and Symfony.

The LAMP architecture has become popular in the Web industry as a way of deploying inexpensive, reliable, scalable, secure web applications. PHP is commonly used as the P in this bundle alongside Linux, Apache and MySQL. PHP can be used with a large number of relational database management systems, runs on all of the most popular web servers and is available for many different operating systems. This flexibility means that PHP has a wide installation base across the Internet; over 18 million Internet domains are currently hosted on servers with PHP installed.[8]

Examples of popular server-side PHP applications include phpBB, WordPress and MediaWiki.

[edit] Command-line scripting

PHP also provides a command line interface SAPI for developing shell and desktop applications, log parsing, or other system administration tasks. It is increasingly used on the command line for tasks that have traditionally been the domain of Perl, Python, awk, or shell scripting.

[edit] Client-side GUI applications

PHP provides bindings to GUI libraries such as GTK+ and text mode libraries like ncurses in order to facilitate development of a broader range of cross-platform GUI applications.

WinBinder Also provide windows bindings for php to make windows application utilizing the WinAPI

[edit] Syntax
Wikibooks
Wikibooks Programming has more about this subject:
PHP

PHP primarily acts as a filter. The PHP program takes input from a file or stream containing text and special PHP instructions and outputs another stream of data for display. As of PHP 4, the PHP parser compiles input to produce bytecode for processing by the Zend Engine, giving improved performance over its interpreter predecessor.

The usual Hello World code example for PHP is:

echo 'Hello, World!';
?>

PHP only parses code within its delimiters, such as . Anything outside its delimiters is sent directly to the output and not parsed by PHP. The example above is equivalent to the following text (and indeed is converted into this form):

Hello, World!

The primary use of this is to allow PHP statements to be embedded within HTML documents, for example:

// PHP statements here
?>
Regular HTML here
// More PHP Statements
?>

Variables are prefixed with a dollar symbol and a type does not need to be specified in advance. Unlike function and class names, variable names are case sensitive. Both double-quoted ("") and heredoc strings allow the ability to embed the variable's value into the string.

PHP treats new lines as whitespace, in the manner of a free-form language (except when inside string quotes). Statements are terminated by a semicolon, except in a few special cases.

PHP has three types of comment syntax: it allows multi-line comments using the /* */ construction as in C, and also allows comments which terminate at the end of the line using the // and # characters (as in C++ and Perl respectively).

[edit] Data types

PHP stores whole numbers in a platform-dependent range. This range is typically that of 32-bit signed integers. Integer variables can be assigned using decimal (positive and negative), octal and hexadecimal notations. Real numbers are also stored in a platform-specific range. They can be specified using floating point notation, or two forms of scientific notation.

PHP has a native Boolean type, named "boolean", similar to the native Boolean types in Java and C++. Using the Boolean type conversion rules, non-zero values can be interpreted as true and zero as false, as in Perl.

The null data type represents a variable that has no value. The only value in the null data type is NULL.

Variables of the "resource" type represent references to resources from external sources. These are typically created by functions from a particular extension, and can only be processed by functions from the same extension. Examples include file, image and database resources.

Arrays support both numeric and string indices, and are heterogeneous. Arrays can contain elements of any type that PHP can handle, including resources, objects, and even other arrays. Order is preserved in lists of values and in hashes with both keys and values, and the two can be intermingled.

[edit] Objects

Basic object-oriented functionality was added in PHP 3. However, handling of objects was completely rewritten for PHP 5, allowing for better performance and more features. In previous versions of PHP, objects were handled like primitive types. The drawback of this method was that semantically the whole object was copied when a variable was assigned, or passed as a parameter to a method. In the new approach, objects are referenced by handle, and not by value. PHP 5 introduced private and protected member variables and methods, along with abstract classes and abstract methods. It also introduced a standard way of declaring constructors and destructors similar to that of other object-oriented languages, such as C++, and an exception handling model similar to that of other programming languages.

The static method and class variable features in Zend Engine 2 do not work the way some expect. There is no virtual table feature in the engine, so the static variables are bound with a name at compile time instead of with a reference.

If the developer asks to create a copy of an object by using the reserved word clone, the Zend engine will check if a __clone() method has been defined or not. If not, it will call a default __clone() which will copy all of the object's properties. If a __clone() method is defined, then it will be responsible to set the necessary properties in the created object. For convenience, the engine will supply a function that imports all of the properties from the source object, so that they can start with a by-value replica of the source object, and only override properties that need to be changed.

[edit] Resources

[edit] Libraries

Main article: List of PHP libraries

PHP includes a large number of free and open source libraries with the core build. PHP is a fundamentally Internet-aware system with modules built in for accessing FTP servers, many database servers, embedded SQL libraries such as embedded MySQL and SQLite, LDAP servers, and others. Many functions familiar to C programmers such as those in the stdio family are available in the standard PHP build.

PHP extensions have been written to add support for the Windows API, process management on Unix-like operating systems, multibyte strings (Unicode), cURL, and several popular compression formats. Some more unusual features include integration with Internet relay chat, and dynamic generation of images and Adobe Flash content. Some additional extensions are available via the PHP Extension Community Library.

[edit] Source code Encoders, Optimizers and Accelerators

As with many scripting languages, PHP scripts are normally kept as human-readable source code, even on production webservers. While this allows flexibility, it can raise issues with security and performance.

Encoders offer some source code security and enable proprietary software by hindering source code reverse engineering. Encoders fall broadly into two types; those that hide source code and those that compile code into bytecode. The downside of this latter approach is that a special extension has to be installed on the server in order to run encoded scripts, however the approach of encoding compiled code and use of an extension offers typically the best performance, security and opportunity for additional features that may be useful for developers. Compiled code solutions may exploit the potential for increased security through the use of their own execution engine, although some simpler solutions rely on the regular PHP engine to execute the compiled code. The most commonly used packages for source code protection are from Zend Technologies and ionCube Ltd.

Code optimizers improve the quality of the compiled code by reducing its size and making changes that can reduce the execution time and improve performance. The nature of the PHP compiler is such that there are often many opportunities for code optimization.

Accelerators offer performance gains by caching the compiled form of a PHP script in shared memory to avoid the overhead of parsing and compiling the code every time the script is run. They may also perform code optimization to provide increased execution performance. Both commercial (e.g. Zend Platform) and open source accelerators (e.g. xcache, eAccelerator, APC) are available.

[edit] Debuggers and profilers

PHP debuggers and profilers allow PHP developers to quickly and accurately analyse PHP code for potential and noted problems and bottlenecks. Examples include APD and Xdebug.

[edit] Templating engines

Templating engines provide macros that allow PHP applications to uniformly identify common variables. One popular templating engine is Smarty.

[edit] PEAR

The PHP Extension and Application Repository (PEAR) project aims to provide reusable libraries and components for PHP development. PEAR projects are usually written in PHP code using the Object-oriented programming paradigm.

[edit] PECL

The PHP Extension Community Library (PECL) project provides extensions to the PHP language. PECL extensions are written generally in C, using the Procedural programming paradigm.

[edit] Support

PHP has a formal development manual that is maintained by the free software community. In addition, answers to many questions can often be found by doing a simple internet search. PHP users assist each other through various media such as chat, forums, newsgroups and PHP developer web sites. In turn, the PHP development team actively participates in such communities, garnering assistance from them in their own development effort (PHP itself) and providing assistance to them as well. There are many help resources available for the novice PHP programmer.

[edit] Criticism
The neutrality of this section is disputed.
Please see the discussion on the talk page.

Criticisms of PHP include those general criticisms ascribed to other scripting languages and dynamically typed languages. This list includes criticisms that have been rectified in recent versions.

* PHP has traditionally inserted data received over the network directly into the language namespace ("register_globals"), leading to confusion between trusted and untrusted data, and hence innumerable security holes in PHP applications. However, this behavior was turned off by default in 4.2.0 and later.[9]
* PHP has traditionally used features such as "magic_quotes_gpc" and "magic_quotes_runtime" which attempt to escape apostrophes (') and quotes (") in strings in the assumption that they will be used in databases, to prevent SQL injection attacks. This leads to confusion over which data is escaped and which is not, and to problems when data is not in fact used as input to a database. [10]
* PHP does not have native support for Unicode or multibyte strings. [11]
* PHP does not enforce the declaration of variables prior to their use, and variables which have not been initialized can have operations (such as concatenation) performed on them; an operation on an uninitialized variable raises an E_NOTICE level error, but this is hidden by default.
* PHP has no namespace support, with all PHP functions sharing the same global namespace.
* PHP's dynamic type conversion could potentially cause problems. Variable types in PHP, although they exist, are transparent to the programmer. Some may consider this a feature, as a variable can change from int to double and back again without extra lines of code. However, variable type errors are not detected at compile-time, and the dynamic-typing behavior lacks full predictability.
* The standard function library lacks internal consistency. Many functions perform relatively similar actions and have different name standards and argument orders. For example, strpos($haystack, $needle) vs. in_array($needle, $haystack), and strcasecmp vs. stristr.

[edit] Future development

PHP 6, in development as of October 2006, aims to address some of PHP 5's shortcomings.[12]

* Native Unicode support will be added;
* The magic_quotes option will be removed;
* The register_globals option will be removed;
* The safe_mode option will be removed.

In addition, there has been discussion of adding namespace support.

Thursday, December 21, 2006

PHP-Nuke


PHP-Nuke is a web based automated news publishing and content management system (a 'nuke') based on PHP and MySQL. The system is fully controlled using a web-based user interface. PHP-Nuke was originally a fork of the Thatware news portal system.

The system is released as free software under the GNU General Public License. Until version 7.5, the latest version of the software was freely downloadable from the PHP-Nuke website; version 7.5 is the first version for which a USD $10 download charge is made. This is permitted under the GNU GPL (providing the source code is included), but the purchaser of the software has the right to freely distribute the source code of the product. This charge only applies to the latest version of PHP-Nuke; previous versions are available free of charge. Version 8.0, the current release as of December 14, 2006, is being distributed for USD $12.

Starting with version 5.6, the display of a copyright message on webpages is required according with the GPL license section 2(c) and approved by the Free Software Foundation as explained on the official web site [1].

It requires a web server which supports the PHP extension (such as the Apache HTTP Server), as well as an SQL database (such as MySQL, mSQL, PostgreSQL, ODBC, Adabas, Sybase or InterBase).
Features of PHP-Nuke

The main aim of PHP-Nuke is to allow a webmaster to create a community-based portal (similar to that used by Slashdot), with an automated web site allowing users and editors to post news items (user-submitted news items are selected by editors). Users can comment on these articles using the comments system.

Modules may be added to the PHP-Nuke system, allowing the webmaster to add more features (such as an Internet forum or calendar) to their PHP-Nuke installation in addition to the core modules such as News, FAQ and Private Messaging. The whole system is maintained by administrators using the web-based administration section.

PHP-Nuke is able to support many languages, including English, French, Portuguese and Thai. Its look and feel can also be customized (to an extent), using the Themes system, although some people have found it difficult to make the site look any different to the standard ⅔ column layout (as used by the program's official website [2]).

[edit] Lack of security and criticism
The neutrality of this section may be compromised by "weasel words".
You can help Wikipedia by improving weasel-worded statements.

PHP-Nuke has in the past been criticized for containing many security holes. SQL injection is one of the most widely-known flaws in PHP-Nuke's security [3], although other methods of gaining access to the admin panel of a site running PHP-Nuke have been found [4][5]. In February of 2005, the Webmail module of PHP-Nuke was removed from all versions due to security problems at the request of EV1Servers.net, phpnuke.org's web hosting service [6]. Since it contains a port of phpBB2, it also inherits phpBB's security flaws.

[edit] Forks

The PHP-Nuke project has been forked many times by different people, for different reasons. The best known of these are:

* Dragonfly CMS — based on PHP-Nuke 6.5 with Coppermine Photo Gallery included
* Nuke-Evolution — Based on PHP-Nuke with many security fixes, custom modifications, and PHP-Nuke modifications pre-installed
* myPHPNuke — based on PHP-Nuke 4.4.1a
* NPDS — based on PHP-Nuke 4.3
* openPHPNuke — based on myPHPNuke
* phpWebSite — project managed by the Web Technology Group at Appalachian State University
* Postnuke — based on PHP-Nuke 5.0
* XOOPS — based on PHP-Nuke and myPHPNuke
* Xaraya — based on Postnuke
* UNITED-NUKE — based on and fully compatible with PHP-Nuke (new features are ported continuously)
* Zentri
* nCo Modified PHP-Nuke Ultra — based on and fully compatible with PHP-Nuke
* PHPNuke-Clan — Nuke core based, aiming towards the gaming community.
* Nuke-Evolution: Clan Edition — Based on Nuke Evolution, packaged with vWar, SQuery, and more.
* Alchemy Portal — Combination of PHP-Nuke + Invision Power Board
* NukeMalaysia 8.0 — Based on the new version of CMS PHPNuke i.e. 8.0 with the incorporation of several modules and blocks.
* NukeMalaysia 2008 — An effort to make PHPNUKE a W3C compliance.

These forks, and others, have all had their own ideas regarding several aspects of the system, and thus do many things in different ways in an attempt to produce a better product. Nevertheless, most, if not all of these systems can be used to produce a community portal similar to that which can be built using PHP-Nuke, although it is possible that these systems are better at doing some things than PHP-Nuke (and vice-versa).

Joomla!


Joomla! is a free, open source content management system written with PHP for publishing content on the world wide web and intranets using a MySQL database. Joomla! includes features such as page caching to improve performance, web indexing, RSS feeds, printable versions of pages, news flashes, blogs, forums, polls, calendars, website searching, and language internationalization.

The name is a phonetic spelling of the Swahili word jumla meaning "all together" or "as a whole". It was chosen to reflect the commitment of the development team and community to the project. The first release of Joomla! (Joomla! 1.0.0) was announced on September 16, 2005. This was a re-branded release of Mambo 4.5.2.3 combined with other bug and moderate-level security fixes. In the project's roadmap, the core developers say Joomla! 1.5 will be a completely re-written code base built with PHP 5.

The project site can be found at http://www.joomla.org/. An online demo of Joomla! can be found at http://demo.joomla.org/.

Joomla! is released under the GNU General Public License.
History

Joomla! came into being as the result of a fork of Mambo between Miro Corporation of Australia, the trademark holder of the Mambo name at that time, and all of the then core developers. The two groups parted ways on August 17, 2005. The Miro Corporation formed a non-profit foundation with the stated purpose to fund the project and protect it from lawsuits. The development team claimed that many of the provisions of the foundation structure went against previous agreements made by the elected Mambo Steering Committee, lacked the necessary consultation with key stake holders, and included provisions that violated core Open Source values.

The development team created a web site called OpenSourceMatters to distribute information to users, developers, web designers and the community in general. The project team leader, at the time, Andrew Eddie, also known as "MasterChief," wrote an Open Letter to the Community, which appeared on the announcements section of the public forum at mamboserver.com.
Open Source Matters logo
Open Source Matters logo

By the next day, 1000 people had joined the opensourcematters.org forum web site, most posting words of encouragement and support for the actions of the Development Team. The web site received a slashdotting and news articles regarding the event appeared at newsforge.com, eweek.com, and ZDnet.com. Miro CEO, Peter Lamont, gave a public response in an article entitled The Mambo Open Source Controversy - 20 Questions With Miro.

This event has stirred deeply held feelings in the Open Source movement regarding what shall constitute "Open Source". Forums at many other open source projects were active with postings for and against the actions of both sides. Rumor and accusations of wrongdoing by Miro and the Mambo Foundation were rampant.

In the two weeks following Eddie's announcement, teams were reorganized, and the community continued to grow. On September 1, 2005 the new name was announced to a mixed reception of 3000+ faithful followers of the Development Team. This is a developing event.

[edit] Contents of Joomla!

The Joomla package consists of many different parts, which are built to be as modular as possible, allowing extensions and integrations to be made easily. An example of such are the so called "Bots". Bots are background modules that, if enabled, will extend Joomla with new functionality. The WikiBot, for example, will allow the author of Joomla content to use "Wikitags" in Joomla articles, which will autocreate dynamic hyperlinks to Wikipedia articles when displayed. Hundreds of 'extensions' for Joomla are also made available via Extensions Directory

[edit] Community

Joomla! maintains an active official and unofficial community. The official Joomla! forums claims 100,000 threads, over 500,000 posts from over 60,000 members in 40 languages.[1] Unofficial sites are published in many languages, often with Joomla! extensions that are region specific. For example, Bi-directional text support for the Hebrew and Arabic languages can be found on 3rd party community portals. Unofficial web developers also build extensions and web templates for commercial sale, in addition to offering freelance customization services.

Linux

This article is about operating systems which use the Linux kernel. For the kernel itself, see Linux kernel. For other uses, see Linux (disambiguation).

Linux Tux the penguin, mascot of Linux
Tux the penguin, based on an image created by Larry Ewing in 1996, is the mascot of Linux.
OS family: Unix-like
Latest stable release: 2.6.19.1 (kernel) / December 11, 2006
Kernel type: Monolithic kernel
License: GNU General Public License
Working state: Current

Linux, or GNU/Linux, refers to any Unix-like computer operating system which uses the Linux kernel. It is one of the most prominent examples of open source development and free software as well as user generated software; its underlying source code is available for anyone to use, modify, and redistribute freely.

Initially developed and used primarily by individual enthusiasts on personal computers, Linux has since gained the support of corporations such as IBM, Sun Microsystems, Hewlett-Packard, and Novell, Inc., and has risen to prominence as an operating system for servers; eight of the ten most reliable internet hosting companies now run Linux on their web servers.[1]
A KDE desktop on the SUSE Linux distribution.
Enlarge
A KDE desktop on the SUSE Linux distribution.

Linux has been more widely ported to different computing platforms than any other operating system, except NetBSD. It is used in devices ranging from supercomputers to mobile phones, and is gaining popularity in the personal computer market.[2]
Early
Linus Torvalds - creator of the Linux kernel.
Enlarge
Linus Torvalds - creator of the Linux kernel.

In 1983, Richard Stallman founded the GNU Project, with the goal of developing a complete Unix-like operating system composed entirely of free software. By the beginning of the 1990s, GNU had produced or collected most of the necessary components of this system — libraries, compilers, text editors, a Unix shell — except for the core component, the kernel. The GNU project began developing a kernel, the GNU Hurd, in 1990, based on the Mach microkernel, but the development of this Mach-based design proved difficult and proceeded slowly.

Meanwhile, in 1991, another kernel was begun as a hobby by Finnish university student Linus Torvalds while attending the University of Helsinki.[3] Torvalds originally used Minix on his own computer, a simplified Unix-like system written by Andrew Tanenbaum for teaching operating system design. However, Tanenbaum did not permit others to extend his operating system, leading Torvalds to create a replacement for Minix.

Originally, Torvalds called his kernel "Freax" for "free" and "freak" and with the often-used X in the names of Unix-like systems. The name "Linux" was coined by Ari Lemmke, who administered an FTP server belonging to the Finnish University Network; he invented the name Linux for the directory from which Torvalds' project was first available for download.[4]
A graphic history of Unix systems. Linux is a Unix-type system but its source code does not descend from the original Unix.
Enlarge
A graphic history of Unix systems. Linux is a Unix-type system but its source code does not descend from the original Unix.

At first a computer running Minix was necessary in order to configure and install Linux. Initial versions of Linux also required another operating system to be present in order to boot from a hard disk, but soon there were independent boot loaders such as LILO. The Linux system quickly surpassed Minix in functionality; Torvalds and other early Linux kernel developers adapted their work for the GNU components and user-space programs to create a complete, fully functional, and free (as in freedom) operating system.

Today, Torvalds continues to direct the development of the kernel, while other subsystems such as the GNU components continue to be developed separately. Other groups and companies combine and distribute these components with additional application software in the form of Linux distributions.

[edit] Linux and the GNU Project
Richard Stallman, founder of the GNU project for a free operating system.
Enlarge
Richard Stallman, founder of the GNU project for a free operating system.

Main article: GNU/Linux naming controversy

The goal of the GNU project is to produce a Unix-compatible operating system consisting entirely of free software, and all general-purpose Linux distributions rely on numerous GNU components. The Free Software Foundation views these Linux distributions as "variants" of the GNU system, and asks that such operating systems be referred to as GNU/Linux or a Linux-based GNU system. While some distributions make a point of using the combined form - notably Debian GNU/Linux - its use outside of the enthusiast community is limited, and Linus Torvalds has said that he finds calling Linux in general GNU/Linux "just ridiculous".[5] The distinction between the Linux kernel and distributions based on it plus the GNU system is a source of confusion to many newcomers, and the naming remains controversial.

[edit] SCO litigation

Main article: SCO-Linux controversies

In March 2003, the SCO Group filed a lawsuit against IBM, claiming that IBM had contributed portions of SCO's copyrighted code to the Linux kernel in violation of IBM's license to use Unix. Additionally, SCO sent letters to a number of companies warning that their use of Linux without a license from SCO may be actionable, and claimed in the press that they would be suing individual Linux users. This controversy has involved lawsuits by SCO against DaimlerChrysler (dismissed in 2004), and AutoZone, and by Red Hat and others against SCO. Furthermore, whether SCO even owns the relevant Unix copyrights is currently disputed by Novell.

As per the Utah District Court ruling on July 3, 2006; 182 claims out of 294 claims made by SCO against IBM have been dismissed.[6]

SCO's claims have varied widely.

[edit] Portability

Main article: Linux (kernel)#Portability

The Linux kernel was originally designed only for Intel 80386 microprocessors, but now supports a wide variety of computer architectures. Linux is one of the most widely ported operating systems, running on a diverse range of systems from the hand-held ARM-based iPAQ to the mainframe IBM System z9. Specialized distributions exist for less mainstream architectures. The ELKS kernel fork can run on Intel 8086 or 286 16-bit microprocessors. The kernel also runs on the Power-PC architecture, including computers made by Apple Computer such as the iMac and PowerBook and has even been ported to the Nintendo GameCube and Playstation 3, both of which use a CPU based on the PowerPC. There are also ports to atypical devices such as iPods and many video game consoles.

[edit] Copyright, licensing, and the Linux trademark

The Linux kernel and most GNU software are licensed under the GNU General Public License version 2. The GPL requires that all distributed source code modifications and derived works also be licensed under the GPL, and is sometimes referred to as a "share and share-alike" or "copyleft" license. In 1997, Linus Torvalds stated, "Making Linux GPL'd was definitely the best thing I ever did."[7] Other software may use other licenses; many libraries use the GNU Lesser General Public License (LGPL), a more permissive variant of the GPL, and the X Window System uses the MIT License.

After more than ten years, the Free Software Foundation announced that they would be upgrading the GPL to version 3, citing increasing concerns with Intellectual Property laws, especially Software Patents. Linus Torvalds has publicly stated he would not move the Linux kernel to GPL v.3. Torvalds opposes in particular certain Digital Rights Management exclusions in the GPL v3.

In the United States, the name Linux is a trademark[8] registered to Linus Torvalds. Initially, nobody registered it, but on August 15, 1994, William R. Della Croce, Jr. filed for the trademark Linux, and then demanded royalties from Linux distributors. In 1996, Torvalds and some affected organizations sued to have the trademark assigned to Torvalds, and in 1997 the case was settled.[9] The licensing of the trademark is now handled by the Linux Mark Institute. Torvalds has stated that he only trademarked the name to prevent someone else from using it, but was bound in 2005 by United States trademark law to take active measures to enforce the trademark. As a result, the LMI sent out a number of letters to distribution vendors requesting that a fee be paid for the use of the name, and a number of companies have complied.[10]

[edit] Pronunciation

In 1992, Torvalds explained how he pronounces the word Linux (IPA: /'lɪnʉks/)
“ 'li' is pronounced with a short [ee] sound: compare prInt, mInImal etc. 'nux' is also short, non-diphthong, like in pUt {IPA /ʊ/}. It's partly due to minix: linux was just my working name for the thing, and as I wrote it to replace minix on my system, the result is what it is... linus' minix became linux. „

—Linus Torvalds, comp.os.linux newsgroup[28]

An audio file of Torvalds saying "Hello, this is Linus Torvalds, and I pronounce Linux as Linux" can be found online [29] Note that in English, "Linux" and "Minix" are usually pronounced with a short i (IPA: /ɪ/) sound that is different from Torvalds' Finland Swedish pronunciation of these words.

[edit] Development

More Than a Gigabuck: Estimating GNU/Linux's Size, a 2001 study of Red Hat Linux 7.1, found that this distribution contained 30 million source lines of code.[11] Using the Constructive Cost Model, the study estimated that this distribution required about eight thousand man-years of development time. According to the study, if all this software had been developed by conventional proprietary means, it would have cost about 1.08 billion dollars (year 2000 U.S. dollars) to develop in the United States. [11] This distribution contained over fifty-five million source lines of code, and the study estimated that it would have cost 1.9 billion dollars (year 2000 U.S. dollars) to develop by conventional means.

[edit] Distributions

For more details on this topic, see Linux distribution.

Linux is predominantly used as part of a Linux distribution (commonly called a "distro"). These are compiled by individuals, loose-knit teams, commercial and volunteer organizations. They commonly include additional system and application software, an installer system to ease initial system setup, and integrated management of software installation and upgrading. Distributions are created for many different purposes, including computer architecture support, localization to a specific region or language, real-time applications, and embedded systems, and many deliberately include only free software. Currently, over three hundred distributions are actively developed, with about a dozen distributions being most popular for general-purpose use.[12]

A typical general-purpose distribution includes the Linux kernel, some GNU libraries and tools, command-line shells, the graphical X Window System and an accompanying desktop environment such as KDE or GNOME, together with thousands of application software packages, from office suites to compilers, text editors, and scientific tools.

[edit] Desktop usage
A GNOME desktop running from the GNOME LiveCD.
Enlarge
A GNOME desktop running from the GNOME LiveCD.

See also: Comparison of Windows and Linux

The high level of access granted to Linux's internals has led to Linux users traditionally tending to be more technologically oriented than users of Microsoft Windows and Mac OS. Linux and other free software projects have been frequently criticized for not going far enough to ensure ease of use. [13] This stereotype has been dispelled in recent years. Linux is now typically being used with a user interface that is very similar to those running on other operating systems. However, users may sometimes have to switch to alternative application software, and there are often fewer "known" software choices for certain types of software(as in the case of computer games) but there exist replacements for all general-purpose software, and general applications like spreadsheets, word processors, and browsers are available for Linux in profusion. Additionally, a growing number of proprietary software vendors are supporting Linux,[14] . In the meantime, developers have resorted to using compatibility layers such as Wine or NdisWrapper allowing some Microsoft Windows application software and drivers to be used on Linux without requiring the vendor to adapt them. This is aimed at piggybacking on Window's commercial success.

Linux suffers from a serious lack of computer games. As such, it is not taken seriously by hardcore gamers.

A significant problem that Linux faces as a desktop operating system is lack of hardware support, such as drivers for Winmodems.

Linux's roots in the Unix operating system mean that in addition to graphical configuration tools and control panels available for many system settings and services, plain-text configuration files are still commonly used to configure the OS and can readily be made accessible (or not) to users, at the administrator's will.

The Berlin-based organization Relevantive concluded in 2003 that the usability of Linux for a set of desktop-related tasks was "nearly equal to Windows XP."[15] Since then, there have been numerous independent studies and articles which indicate that a modern Linux desktop using either GNOME or KDE is on par with Microsoft Windows, even in a business setting.[16]

[edit] Enterprise usage

Linux has historically been used mainly as a server operating system. Linux is the cornerstone of the "LAMP" server-software combination (Linux, Apache, MySQL, Perl/PHP/Python) which has achieved popularity among developers, and which is one of the more common platforms for website hosting.

Due to its low cost and its high configurability, Linux is often used in embedded systems such as television set-top boxes, mobile phones, and handheld devices. Linux has become a major competitor to the proprietary Symbian OS found in many mobile phones, and it is an alternative to the dominant Windows CE and Palm OS operating systems on handheld devices. The popular TiVo digital video recorder uses a customized version of Linux.[17] Several network firewall and router standalone products, including several from Linksys, use Linux internally, using its advanced firewalling and routing capabilities.

Linux is increasingly common as an operating system for supercomputers. Of the 500 systems, 376 (75.2%) ran Linux.

[edit] Market share and uptake

Further information: Linux adoption

According to the market research company IDC, 25% of servers and 2.8% of desktop computers ran Linux as of 2004.[18] Proponents and analysts attribute the success of Linux to its security, reliability,[19] low cost, and freedom from vendor lock-in.[20] The frictional cost of switching and lack of support for certain hardware and application programs designed for Microsoft Windows, especially games or uncommon business software, have been two factors that have initially inhibited fast adoption.

The Linux market is rapidly growing and the revenue of servers, desktops, and packaged software running Linux is expected to exceed $35.7 billion by 2008.[21] The actual installed user base may be higher than indicated by this figure, as most Linux distributions and applications are freely available and redistributable.

The paper Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers![22] identifies many quantitative studies of open source software on topics including market share and reliability, with many studies specifically examining Linux.

[edit] Installation

The most common method of installing Linux on a personal computer is by booting from a CD-ROM that contains the installation program and installable software. Such a CD can be burned from a downloaded ISO image, purchased alone for a low price, obtained as part of a box set, or in a few cases shipped for free by request. A box set may also include manuals and additional proprietary software. Mini CD images allow Linux to be installed from a disk with a small form factor. Linux also offers a more convenient method of installation by allowing users to download CD image files ISO and then the user can use a CD/DVD burning software to create installation CD's/DVD's themselves.

As with servers, personal computers that come with Linux already installed are available from vendors including Hewlett-Packard and Dell, although generally only for their business desktop line.

Alternatives to traditional desktop installation include thin client installation and running directly from a Live CD. In a thin client installation, the operating system is loaded and run from a centralised machine over a network connection. In a Live CD setup, the computer boots the entire operating system from CD without first installing it on the computer's hard disk.

On embedded devices, Linux is typically held in the device's firmware and may or may not be consumer-accessible.

[edit] Programming on Linux

The GNU Compiler Collection (GCC) is the standard compiler family for most Linux systems. Amongst others, GCC provides frontends for C, C++ and Java. Most distributions come installed with interpreters for Perl, Python and other scripting languages, and several now include C# via the Mono project.

There are a number of Integrated development environments available including MonoDevelop, KDevelop, Anjuta, NetBeans, and Eclipse while the traditional editors Emacs and Vim remain popular. [23]

The two main widget toolkits used for contemporary GUI programming are Qt and the Gimp Toolkit, known as GTK+.

As well as these free and open source options, there are proprietary compilers and tools available from a range of companies such as the Intel C Compiler, PathScale [24], Micro Focus COBOL,[25], Franz Inc[26], and the Portland Group.[27]

[edit] Support

Technical support is provided by commercial suppliers and by other Linux users, usually in online forums, IRC, newsgroups, and mailing lists. Linux User Groups have traditionally been organized to provide support for Linux in specific cities and regions.

The business model of commercial suppliers is generally dependent on charging for support, especially for business users. A number of companies offer a specialized business version of their distribution, which adds proprietary support packages and tools to administer higher numbers of installations or to simplify administrative tasks.

Mac OS

This article relates to both the original "Classic" Mac OS as well as Mac OS X, Apple's more recent operating system. See the Mac OS X article for information directly relating to this current Macintosh operating system.

This article or section does not cite its references or sources.
Please help improve this article by introducing appropriate citations. (help, get involved!) This article has been tagged since November 2006.

Mac OS, which stands for Macintosh Operating System, is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Computer for their Macintosh line of computer systems. The Mac OS is often credited with popularizing the graphical user interface. It was first introduced in 1984 with the original Macintosh 128K.

Apple deliberately played down the existence of the operating system in the early years of the Macintosh to help make the machine appear more user-friendly and to distance it from other operating systems such as MS-DOS, which were portrayed as arcane and technically challenging. Apple wanted Macintosh to be portrayed as a computer "for the rest of us". The term "Mac OS" did not really exist until it was officially used during the mid-1990s. The term has since been applied to all versions of the Mac system software as a handy way to refer to it when discussing it in context with other operating systems.

Earlier versions of the Mac OS were compatible only with Motorola 68000-based Macintoshes, while later versions were also compatible with the PowerPC (PPC) architecture. Most recently, Mac OS X has become compatible with Intel's x86 architecture.
Versions

The early Macintosh operating system initially consisted of two pieces of software, called "System" and "Finder", each with its own version number. System 7.5.1 was the first to include the Mac OS logo (a variation on the original "Happy Mac" smiley face Finder startup icon), and Mac OS 7.6 was the first to be named "Mac OS" (to ensure that users would still identify it with Apple, even when used in "clones" from other companies).

Until the advent of the later PowerPC G3-based systems, significant parts of the system were stored in physical ROM on the motherboard. The initial purpose of this was to avoid using up the limited storage of floppy disks on system support, given that the early Macs had no hard disk. (Only one model of Mac was ever actually bootable using the ROM alone, the 1991 Mac Classic model.) This architecture also allowed for a completely graphical OS interface at the lowest level without the need for a text-only console or command-line mode. A fatal software error, or even a low-level hardware error discovered during system startup (such as finding no functioning disk drives), was communicated to the user graphically using some combination of icons, alert box windows, buttons, a mouse pointer, and the distinctive Chicago bitmap font. Mac OS depended on this core system software in ROM on the motherboard, a fact which later helped to ensure that only Apple computers or licensed clones (with the copyright-protected ROMs from Apple) could run Mac OS.

The Mac OS can be divided into two families of operating systems:

* "Classic" Mac OS, the system which shipped with the first Macintosh in 1984 and its descendants, culminating with Mac OS 9.
* The newer Mac OS X (the "X" refers to the Roman numeral, ten). Mac OS X incorporates elements of OpenStep (thus also BSD Unix and Mach) and Mac OS 9. Its low-level BSD-based foundation, Darwin, is free software/open source software.

[edit] "Classic" Mac OS (1984-2001)
Original 1984 Mac OS desktop
Enlarge
Original 1984 Mac OS desktop

Main article: Mac OS history

The "classic" Mac OS is characterized by its total lack of a command line; it is a completely graphical operating system. Heralded for its ease of use, it is also criticized for its singletasking (in early versions) or cooperative multitasking (in later versions), very limited memory management, lack of protected memory, and susceptibility to conflicts among "extensions" that extend the operating system, providing additional functionality (such as networking) or support for a particular device. Some extensions may not work properly together, or work only when loaded in a particular order. Troubleshooting Mac OS extensions can be a time-consuming process of trial and error.

Mac OS originally used the Macintosh File System (MFS), a flat file system with only one level of folders. This was replaced by the Hierarchical File System (HFS), which had a true directory tree. Both file systems are otherwise compatible.
Extensions Manager under Mac OS 9
Enlarge
Extensions Manager under Mac OS 9

Most file systems used with DOS, Unix, or other operating systems treat a file as simply a sequence of bytes, requiring an application to know which bytes represented what type of information. By contrast, MFS and HFS gave files two different "forks". The data fork contained the same sort of information as other file systems, such as the text of a document or the bitmaps of an image file. The resource fork contained other structured data such as menu definitions, graphics, sounds, or code segments. A file might consist only of resources with an empty data fork, or only a data fork with no resource fork. A text file could contain its text in the data fork and styling information in the resource fork, so that an application which didn't recognize the styling information could still read the raw text. On the other hand, these forks provided a challenge to interoperability with other operating systems; copying a file from a Mac to a non-Mac system would strip it of its resource fork.

The Classic OS is still supported and Classic Applications Support is shipped in addition to OS X with PowerPC (but not Intel) Macs as late as early 2006.

[edit] Mac OS X (2001-present)

Main article: Mac OS X

Mac OS X brought Unix-style memory management and pre-emptive multitasking to the Mac platform. It is based on the Mach kernel and the BSD implementation of UNIX, which were incorporated into NeXTSTEP, the object-oriented operating system developed by Steve Jobs's NeXT company. The new memory management system allowed more programs to run at once and virtually eliminated the possibility of one program crashing another. It is also the second Macintosh operating system to include a command line (the first is the now-discontinued A/UX, which supported classic Mac OS applications on top of a UNIX kernel), although it is never seen unless the user launches a terminal emulator.

However, since these new features put higher demands on system resources, Mac OS X only officially supported the PowerPC G3 and newer processors, and now has even higher requirements (the additional requirement of built-in USB (10.3) and later FireWire (10.4)). Even then, it runs somewhat slowly on older G3 systems for many purposes.

As of 2005, every update to Mac OS X since the original public beta has had the atypical quality of being perceptibly more responsive than the version it replaced, the opposite to the trend of most operating systems.
“ For over three years now, Mac OS X has gotten faster with every release—and not just "faster in the experience of most end users", but faster on the same hardware. This trend is unheard of among contemporary desktop operating systems. „

—John Siracusa, Ars Technica [1]

Power PC builds of Mac OS X include a compatibility layer for running older Mac applications, the Classic Environment. This runs a full copy of the older Mac OS, version 9.1 or later, in a Mac OS X process. PowerPC-based Macs ship with OS 9.2 as well as OS X. OS 9.2 must be installed by the user—it is not installed by default on all new hardware revisions released after the release of Mac OS X 10.4. Most well-written "classic" applications function properly under this environment, but compatibility is only assured if the software was written to be unaware of the actual hardware, and to interact solely with the operating system. The Classic Environment does not work in the Intel version of OS X.

Users of the original Mac OS generally upgraded to Mac OS X, but a few criticized it as being more difficult and less user-friendly than the original Mac OS, for the lack of certain features that had not been re-implemented in the new OS, or for being slower on the same hardware (especially older hardware), or other, sometimes serious incompatibilities with the older OS. Because drivers (for printers, scanners, tablets, etc.) written for the older Mac OS are not compatible with Mac OS X, and due to the lack of OS X support for older Apple machines, a significant number of Macintosh users have continued using the older OS. By 2005, it is reported that almost all users of systems capable of running Mac OS X are doing so, with only a small percentage still running the classic Mac OS.

In June 2005, Steve Jobs announced at his Worldwide Developers Conference keynote that Apple computers would be transitioning from PowerPC to Intel processors. At the same conference, Jobs announced Developer Transition Kits that included beta versions of Apple software including Mac OS X that developers could use to test their applications as they ported them to run on Intel-powered Macs. In January 2006, Apple released the first Macintosh computers with Intel processors, an iMac and the MacBook Pro, and in February 2006, Apple released a Mac Mini with an Intel Core Solo and Duo processor. On May 16, 2006, Apple released the MacBook, before completing the Intel transition on August 7 with the Mac Pro. To ease the transition for early buyers of the new machines, Intel-based Macs include an emulation technology called Rosetta, which allows them to run (at reduced speed) pre-existing Mac OS X native application software which was compiled only for PowerPC-based Macintoshes.

[edit] "Classic" Mac OS technologies

Some features of the "classic" Mac OS are carried forward and implemented natively in Mac OS X, including:

ColorSync
ColorSync is a technology for matching colors between the screen and a printer.
Finder
The Finder is the interface for browsing the filesystem and launching applications.
MacRoman
MacRoman is the character encoding used in classic Macintosh systems. Mac OS X's standard character encoding is Unicode, in its UTF-8 and UTF-16 forms, but HFS volumes using MacRoman encoding are still supported.
PlainTalk
PlainTalk is a speech synthesis and speech recognition technology providing Mac OS with a spoken language interface for controlling the computer. The proprietary noise-cancelling microphone interface bearing the same name was phased out with the introduction of the Blue and White Power Macintosh G3s in 1999.
QuickDraw
QuickDraw was the first imaging model to provide mass-market WYSIWYG capabilities. Although mostly obsolete on Mac OS X, due to the use of Quartz, QuickDraw still works on Mac OS X 10.4. Apple has deprecated QuickDraw, meaning it may not work in future versions.
QuickTime
QuickTime provides support for audio-visual editing and playback, virtual reality motion, and streaming of multimedia content over a network. The QuickTime file format and streaming technology has been adopted in some MPEG 4 standards relating to multimedia content delivery via DVD or by streaming over the Internet to computers and cell phones. The iTunes Store also uses QuickTime.
TrueType
TrueType is a very successful scalable font technology which was eventually ported to Microsoft Windows and later integrated into the OpenType font standard.

[edit] Obsolete technologies

Many technologies of the "classic" Mac OS are no longer used on OS X, including:

Chooser
The Chooser is a tool for enabling AppleTalk, and accessing and selecting network resources such as printers. It was derived from the Choose Printer Desk Accessory found in early versions of the Mac OS.
Desk Accessories
Desk Accessories were small "helper" applications that could be run concurrently with other applications, prior to the advent of the multi-tasking MultiFinder and System 7. Mac OS X version 10.4 introduced a similar feature called Dashboard.
Mac OS memory management
The Mac OS memory management describes how the Macintosh managed RAM and virtual memory before the switch to the Unix-based Mac OS X. It has been defunct since Mac OS X, but most of the APIs are still available via the Carbon compatibility layer.
MultiFinder
MultiFinder was a version of the Finder with support for simultaneous processes. It became a part of the Finder in System 7.
PowerPC emulation of the Motorola 68000
The PowerPC emulation of the Motorola 68000 refers to the way in which the Macintosh handled the architectural transition to the PowerPC microprocessor. The emulator could run older software (including parts of the OS) which had not been recompiled to run natively on the PowerPC processor. The 68k emulator remained in Mac OS through version 9, and most old 68k application software still works within the Classic environment of Mac OS X.
GeoPort
Geoport Technology allows the Macintosh to run fax, data, and voice telephony services using an interface device called a GeoPort. Unlike true modems, the GeoPort device is merely an interface adapter—the modem is implemented in software, an approach that some say burdens the CPU and slows the computer.
OpenDoc
Co-developed with IBM, OpenDoc allowed bits of software, known as "parts" to interact within a framework application known as an "editor." Apple discontinued development on OpenDoc in 1997 in favor of the OpenStep technology now know as Cocoa, acquired in the merger with NeXT Computer.
QuickDraw GX
An enhanced printing, screen display and typography system building on the Classic Mac OS QuickDraw system. The technology was introduced with System 7.5, but was initially plagued with bugs and lack of third party support. Though most of the bugs were eventually worked out, it was, like OpenDoc, abandoned in favor of OpenStep technology. The TrueType font engine was isolated and retained, and the rest of Quickdraw GX was removed from Mac OS 8.5 and later OS versions. Mac OS X provides capabilities superior to Quickdraw GX in its PDF-based Quartz graphics engine.

[edit] Project Star Trek

Main article: Star Trek project

One interesting historical aspect of the classic Mac OS was a relatively unknown secret prototype Apple started work on in 1992, code-named "Project Star Trek". The goal of this project was to create a version of Mac OS that would run on Intel-compatible x86 personal computers. It was short lived, being cancelled only one year later in 1993 due to political infighting, although its team was able to get the Macintosh Finder and some basic applications, like QuickTime, running smoothly on a PC. It ran on MS-DOS' rival DR-DOS and was generally faster than its 680x0 counterparts.

Fourteen years after project Star Trek, with Apple's transition over to the Intel processor, the current version of Mac OS (v10.4) runs smoothly on x86 architecture.

[edit] Emulation

Although the Star Trek software was never released, third-party Macintosh emulators, such as vMac, Basilisk II, and Executor, eventually made it possible to run the classic Mac OS on Intel-based PCs. These emulators were restricted to emulating the 68000 series of processors, and as such couldn't run versions of the Mac OS that succeeded 8.1, which required PowerPC processors. Recently, the PearPC emulator has appeared, which is capable of emulating the PowerPC processors required by newer versions of the Mac OS (like Mac OS X). Unfortunately, it is still in the early stages and, like many emulators, tends to run much slower than a native OS would.

Another PowerPC emulator is SheepShaver, which has been around since 1998 for the BeOS platform, but in 2002 was open sourced with porting efforts beginning to get it to run on other platforms. Although it is capable of emulating a PowerPC processor, it can only emulate up to Mac OS 9.0.4 because it does not emulate a memory management unit.

Other examples include ShapeShifter (by the same programmer that conceived SheepShaver), Fusion and iFusion. The latter ran classic Mac OS with a PowerPC "coprocessor" accelerator card. Using this method has been said to equal or better the speed of a Macintosh with the same processor, especially with respect to the m68k series due to real Macs running in MMU trap mode, hampering performance.

[edit] Macintosh clones

Several computer manufacturers over the years have made Macintosh clones capable of running Mac OS, notably Power Computing and Umax. These machines normally ran various versions of classic Mac OS. Steve Jobs ended the clone licensing program after returning to Apple in 1997.

[edit] A/UX

Main article: A/UX

In 1988, Apple released its first UNIX based OS, named A/UX.

This was an operating system that seamlessly integrated the Mac OS look and feel with the power and flexibility of UNIX.[citation needed] Since it was before the advent of PowerPC and therefore had to run on the Motorola 68000 processor, it was not very competitive for its time. A/UX had most of its success in sales to the Federal government of the United States, where UNIX was a requirement that Mac OS could not meet.

[edit] Graphical timeline

Windows Vista


is the name of the latest release of Microsoft Windows, a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, and media centers. Prior to its announcement on July 22, 2005, Vista was known by its codename Longhorn. On November 8, 2006, Windows Vista development was completed and is now in the release to manufacturing stage. Some editions were available to volume license customers, MSDN and TechNet subscribers through November 2006;[1] Microsoft has stated that the scheduled release date for worldwide availability is January 30, 2007.[2] These release dates come more than five years after the release of its predecessor, Windows XP, making it the longest time span between major releases of Windows.

According to Microsoft,[3] Windows Vista contains hundreds of new features; some of the most significant include an updated graphical user interface and visual style dubbed Windows Aero, improved searching features, new multimedia creation tools such as Windows DVD Maker, and completely redesigned networking, audio, print, and display sub-systems. Vista also aims to increase the level of communication between machines on a home network using peer-to-peer technology, making it easier to share files and digital media between computers and devices. For developers, Vista introduces version 3.0 of the .NET Framework, which aims to make it significantly easier for developers to write high-quality applications than with the traditional Windows API.

Microsoft's primary stated objective with Vista, however, has been to improve the state of security in the Windows operating system.[4] One of the most common criticisms of Windows XP and its predecessors has been their commonly exploited security vulnerabilities and overall susceptibility to malware, viruses and buffer overflows. In light of this, then Microsoft chairman Bill Gates announced in early 2002 a company-wide 'Trustworthy Computing initiative' which aims to incorporate security work into every aspect of software development at the company. Microsoft claimed that it prioritized improving the security of Windows XP and Windows Server 2003 above finishing Windows Vista, significantly delaying its completion.[5]

During the course of its development, Vista has been the target of a number of negative assessments by various groups. Criticism of Windows Vista has included protracted development time, more restrictive licensing terms, the inclusion of a number of new Digital Rights Management technologies aimed at restricting the copying of protected digital media, and the usability of new features such as User Account Control.
Development

Main article: Development of Windows Vista

The Windows Vista Codename (Longhorn) logo
Enlarge
The Windows Vista Codename (Longhorn) logo

Microsoft started work on their plans for "Longhorn" in May 2001,[6] prior to the release of Windows XP. It was originally expected to ship sometime late in 2003 as a minor step between Windows XP (codenamed "Whistler") and "Blackcomb" (now known as Windows "Vienna"). Gradually, "Longhorn" assimilated many of the important new features and technologies slated for "Blackcomb", resulting in the release date being pushed back a few times. Many of Microsoft's developers were also re-tasked with improving the security of Windows XP. Faced with ongoing delays and concerns about feature creep, Microsoft announced on August 27, 2004 that it was making significant changes. "Longhorn" development basically started afresh, building on the Windows Server 2003 codebase, and re-incorporating only the features that would be intended for an actual operating system release. Some previously announced features, such as WinFS and NGSCB, were dropped or postponed, and a new software development methodology called the "Security Development Lifecycle" was incorporated in an effort to address concerns with the security of the Windows codebase.[7]

After "Longhorn" was named Windows Vista, an unprecedented beta-test program was started, which involved hundreds of thousands of volunteers and companies. In September 2005, Microsoft started releasing regular Community Technology Previews (CTP) to beta testers. The first of these was distributed among 2005 Microsoft Professional Developers Conference attendees, and was subsequently released to Microsoft Beta testers and Microsoft Developer Network subscribers. The builds that followed incorporated most of the planned features for the final product, as well as a number of changes to the user interface, based largely on feedback from beta testers. Windows Vista was deemed feature-complete with the release of the "February CTP", released on February 22, 2006, and much of the remainder of work between that build and the final release of the product focused on stability, performance, application and driver compatibility, and documentation. Beta 2, released in late May, was the first build to be made available to the general public through Microsoft's Customer Preview Program. It was downloaded by over five million people. Two release candidates followed in September and October, both of which were made available to a large number of users.

While Microsoft had originally hoped to have the operating system available worldwide in time for the 2006 holiday season, it was announced in March 2006 that the release date would be pushed back to January 2007, so as to give the company – and the hardware and software companies which Microsoft depends on for providing device drivers – additional time to prepare. Through much of 2006, analysts and bloggers had speculated that Windows Vista would be delayed further, owing to anti-trust concerns raised by the European Commission and South Korea, and due to a perceived lack of progress with the beta releases. However, with the November 8, 2006 announcement of the completion of Windows Vista, Microsoft's most lengthy operating system development project in the company's history has come to an end.

[edit] New or improved features

Main article: Features new to Windows Vista

[edit] End-user features
The appearance of Windows Explorer has changed significantly from Windows XP.
Enlarge
The appearance of Windows Explorer has changed significantly from Windows XP.

* Windows Aero: a new hardware-based graphical user interface, named Windows Aero – an acronym (possibly a backronym) for Authentic, Energetic, Reflective, and Open. The new interface is intended to be cleaner and more aesthetically pleasing than previous Windows, including new transparencies, animations and eye candy.
* Windows Shell: The new Windows shell is significantly different from Windows XP, offering a new range of organization, navigation, and search capabilities. Windows Explorer's task pane has been removed, integrating the relevant task options into the toolbar. A "Favorite links" pane has been added, enabling one-click access to common directories. The address bar has been replaced with a breadcrumb navigation system. The Start menu has changed as well; it no longer uses ever-expanding boxes when navigating through Programs. Even the word "Start" itself has been removed in favor of a blue Windows Orb.
* Windows Search (also known as Instant Search or search as you type): significantly faster and more thorough search capabilities. Search boxes have been added to the Start menu, Windows Explorer, and several of the applications included with Vista. By default, Instant Search indexes only a small number of folders such as the start menu, the names of files opened, the Documents folder, and the user's e-mail.

Windows Gadgets
Enlarge
Windows Gadgets

* Windows Sidebar: A transparent panel anchored to the side of the screen where a user can place Desktop Gadgets, which are small applets designed for a specialized purpose (such as displaying the weather or sports scores). Gadgets can also be placed on other parts of the Desktop, if desired.
* Windows Internet Explorer 7: new user interface, tabbed browsing, RSS, a search box, improved printing, Page Zoom, Quick Tabs (thumbnails of all open tabs), a number of new security protection features, and improved web standards support.[8]

Windows Media Player 11
Enlarge
Windows Media Player 11

* Windows Media Player 11, a major revamp of Microsoft's program for playing and organizing music and video. New features in this version include word wheeling (or "search as you type"), a completely new and highly graphical interface for the media library, photo display and organization, and the ability to share music libraries over a network with other Vista machines, Xbox 360 integration, and support for other Media Center Extenders.
* Backup and Restore Center: Includes a backup and restore application that gives users the ability to schedule periodic backups of files on their computer, as well as recovery from previous backups. Backups are incremental, storing only the changes each time, minimizing the disk usage. It also features CompletePC Backup which backs up an entire computer as an image onto a hard disk or DVD. CompletePC Backup can automatically recreate a machine setup onto new hardware or hard disk in case of any hardware failures.
* Windows Mail: A replacement for Outlook Express that includes a completely replaced mail store that improves stability, and enables real-time search. It has the Phishing Filter like IE7 and a Junk mail filtering which is enhanced through regular updates via Windows Update.[9]

Windows Update with Windows Ultimate Extras
Enlarge
Windows Update with Windows Ultimate Extras

* Windows Calendar is a new calendar and task application.
* Windows Photo Gallery, a photo and movie library management application. WPG can import from digital cameras, tag and rate individual items, adjust colors and exposure, create and display slideshows (with pan and fade effects), and burn slideshows to DVD.
* Windows DVD Maker, a companion program to Windows Movie Maker, which provides the ability to create video DVDs based on a user's content.
* Windows Meeting Space is the replacement for NetMeeting. Users can share applications (or their entire Desktop) with other users on the local network, or over the Internet using peer-to-peer technology.
* Windows Media Center, which was previously exclusively bundled as a separate version of Windows XP, known as Windows XP Media Center Edition, will be incorporated into the Home Premium and Ultimate editions of Windows Vista.
* Games: Every game included with Windows has been rewritten to take advantage of Vista's new graphics capabilities. New games include Chess Titans (in Vista Home Premium), Mahjong Titans and Purble Place. The Games section will also hold links and information to all games on the user's computer. One piece of information that will be shown is the game's ESRB rating.

Previous Versions
Enlarge
Previous Versions

* Previous Versions automatically creates backup copies of files and folders, with daily frequency. Users can also create "shadow copies" by setting a System Protection Point using the System Protection tab in the System control panel. The user can be presented multiple versions of a file throughout a limited history and be allowed to restore, delete, or copy those versions. This feature is available only in the Business, Enterprise, and Ultimate editions of Windows Vista and is inherited from Windows Server 2003.[10]
* Windows Mobility Center is a new control panel that centralizes the most relevant information related to mobile computing (e.g. brightness, sound, battery level / power scheme selection, wireless network, screen orientation, presentation settings, etc.).
* Windows Update: Software and security updates have been simplified, now operating solely via a control panel instead of as a web application. Mail's spam filter and Defender's definitions will also be automatically updated via Windows Update.
* Parental controls: Allows administrators to control which websites, programs, and games each standard user can use and install.
* Windows SideShow: Enables the auxiliary displays on newer laptops or on supported Windows Mobile devices. It is meant to be used to display Device gadgets while the computer is on or off.
* Speech recognition is fully integrated into Vista. It is an improved version of Microsoft Speech Recognition currently working under Office 2003, with a better interface, a rich and flexible set of commands, and an extensive command-and-control capability to activate the computer by voice. Unlike the Office 2003 version, which works only in Office and WordPad, it works for dictation in multiple applications. In addition, it currently supports several languages: English US and UK, Spanish, French, German, Chinese (Classical and Simplified), and Japanese.
* Many new fonts, including several designed especially for screen reading, and new high-quality Chinese (Yahei, JhengHei), Japanese (Meiryo) and Korean (Malgun) fonts. See Windows Vista typefaces. ClearType has also been enhanced and enabled by default.
* Touchscreen support will be included as part of Tablet PC, which will be incorporated as a standard component.[11]
* Problem Reports and Solutions, a new control panel which allows users to see previously sent problems and any solutions or additional information that is available.
* Improved audio controls allow the system-wide volume or volume of individual audio devices and even individual applications to be controlled separately. Introduced new audio functionalities such as Room Correction, Bass Management and Speaker Fill [2].
* Support for symbolic links has been made available for the first time to Windows users in Vista.[12]
* System Performance Assessment is a benchmark used by Windows Vista to regulate the system for optimum performance. Games can take advantage of this feature, reading the data produced by this benchmark in order to fine-tune the game details. The benchmark tests CPU, RAM, Graphics acceleration (2D and 3D) and disk access.[13]

[edit] Core technologies

Windows Vista is intended to be a technology-based release, to provide a solid base to include advanced technologies, many of which will be related to how the system functions, and hence not readily visible to the user. An example of this is the complete restructuring of the architecture of the audio, print, display, and networking subsystems; while the results of this work will be clearly visible to software developers, end-users will only see what appear to be evolutionary changes in the user interface.

Vista includes technologies such as ReadyBoost and ReadyDrive which employ fast flash memory (located on USB drives and hybrid hard disk drives respectively) to improve system performance by caching commonly-used programs and data. This manifests itself in improved battery life on notebook computers as well, since a hybrid drive can be spun down when not in use. Another new technology called SuperFetch utilizes machine learning techniques to analyze usage patterns in order to allow Windows Vista to make intelligent decisions about what content should be present in system memory at any given time.

As part of the complete redesign of the networking architecture, IPv6 has been fully incorporated into the operating system, and a number of performance improvements have been introduced, such as TCP window scaling. Prior versions of Windows typically needed third-party wireless networking software to work properly; this is no longer the case with Vista, as it includes more comprehensive wireless networking support.

For graphics, Vista introduces a new Windows Display Driver Model, as well as major revision to Direct3D. The new driver model facilitates the new Desktop Window Manager, which provides the tearing-free desktop and special effects that are the cornerstones of Windows Aero. Direct3D 10, developed in conjunction with major display driver manufacturers, is a new architecture with more advanced shader support, and allows the graphics processing unit to render more complex scenes without assistance from the CPU. It features improved load balancing between CPU and GPU and also optimizes data transfer between them.[14]

At the core of the operating system, many improvements have been made to the memory manager, process scheduler, heap manager, and I/O scheduler. A Kernel Transaction Manager has been implemented that gives applications the ability to work with the file system and registry using atomic transaction operations.

[edit] Security-related technologies

Main article: Security and safety features new to Windows Vista

Improved security was the primary design goal for Vista.[4] Microsoft’s Trustworthy Computing initiative, which aims to improve public trust in its products, has had a direct effect on its development. This effort has resulted in a number of new security and safety features.
A User Account Control consent dialog.
Enlarge
A User Account Control consent dialog.

User Account Control is perhaps the most significant and visible of these changes. User Account Control is a security technology that makes it possible for users to use their computer with fewer privileges by default. This was often a difficult thing to do in previous versions of Windows, as the previous "limited" user accounts proved too restrictive and incompatible with a large proportion of application software, and even prevented some basic operations such as looking at the calendar from the notification tray. In Windows Vista, when an action requiring administrative rights is requested, the user will first be prompted for an administrator name and password; in cases where the user is an administrator, the user is still prompted to confirm the action they are about to take.

Another significant new feature is BitLocker Drive Encryption, a data protection feature that provides encryption for the entire operating system volume that is included in the Enterprise and Ultimate editions of Vista. Bitlocker can work in conjunction with a Trusted Platform Module chip that is on a computer's motherboard, or with a USB key.[15]
Windows Defender
Enlarge
Windows Defender

Microsoft's anti-spyware product, Windows Defender, has been incorporated into Windows, providing protection against malware and other threats. Changes to various system configuration settings (such as new auto-starting applications) are blocked unless the user gives consent.

Internet Explorer 7's new security and safety features include a phishing filter, IDN with anti-spoofing capabilities, and integration with system-wide parental controls. For added security, ActiveX controls are disabled by default. Also, Internet Explorer operates in a "protected mode" which operates with lower permissions than the user, preventing it from accessing or modifying anything besides the Temporary Internet Files directory.[16] Also, Internet Explorer is no longer integrated with the Explorer shell; local files typed in IE are opened using the Explorer shell and Web sites typed in Explorer are opened using the default web browser.

A variety of other privilege-restriction techniques have been adopted in Vista. One example of this is the concept of "integrity levels" in user processes, whereby a process with a lower integrity level cannot interact with processes of a higher integrity level. The security restrictions of Windows service is more fine-grained, so that system services (especially those listening on the network) have no capability to interact with parts of the operating sytem they don't need to. Obfuscation techniques such as address space layout randomization and Kernel Patch Protection are used to increase the amount of effort required by malware to infiltrate a system.

As part of the rearchitecting of the network stack, Windows Firewall has been upgraded, with new support for filtering both incoming and outgoing traffic. Advanced packet filter rules can be created which can grant or deny communications to specific services. Vista also adds new SSL and TLS cryptographic extensions, which enable the support of both AES and new ECC cipher suites.

[edit] Business technologies

While much of the focus of Vista's new capabilities has been on the new user interface, security technologies, and improvements to the core operating system, Microsoft is also adding new deployment and maintenance features to make a compelling case for businesses still running Windows NT, 2000, and XP desktops.

* The WIM image format (Windows IMage) is the cornerstone of Microsoft's new deployment and packaging system. WIM files, which contain an image of Windows Vista, can be maintained and patched without having to rebuild new images. Windows Images can be delivered via Systems Management Server or Business Desktop Deployment technologies. Images can be customized and configured with applications then deployed to corporate client personal computers using little to no touch by a system administrator. ImageX is the Microsoft tool used to create and customize images.
* Windows Deployment Services replaces Remote Installation Services for deploying Vista and prior versions of Windows.
* Approximately 800 new Group Policy settings have been added, covering most aspects of the new features in the operating system, as well as significantly expanding the configurability of wireless networks, removable storage devices, and user desktop experience.[17]

* Services for UNIX has been renamed "Subsystem for UNIX-based Applications", and is included with the Enterprise and Ultimate editions of Vista. Network File System (NFS) client support is also included.
* Wireless Projector support

[edit] Developer technologies

Windows Vista includes a large number of new application programming interfaces. Chief among them is the inclusion of version 3.0 of the .NET Framework, which consists of a class library and Common Language Runtime. Version 3.0 includes four new major components:[18]

* Windows Presentation Foundation is a user interface subsystem and framework based vector graphics, which will make use of 3D computer graphics hardware and Direct3D technologies. It provides the foundation for building applications and blending together application UI, documents, and media content. It is the successor to Windows Forms.
* Windows Communication Foundation is a service-oriented messaging subsystem which will enable applications and systems to interoperate locally or remotely using Web services.
* Windows Workflow Foundation provides task automation and integrated transactions using workflows. It is the programming model, engine and tools for building workflow-enabled applications on Windows.
* Windows CardSpace is a component which securely stores digital identities of a person, and provides a unified interface for choosing the identity for a particular transaction, such as logging into a website.

These technologies will also be available for Windows XP and Windows Server 2003 to facilitate their introduction to and usage by developers and end users.

There are also significant new development APIs in the core of the operating system, notably the completely re-architected audio, networking, print, and video interfaces, major changes to the security infrastructure, improvements to the deployment and installation of applications ("ClickOnce" and Windows Installer 4.0), new device driver development model ("Windows Driver Foundation"), Transactional NTFS, mobile computing API advancements (power management, Tablet PC Ink support, SideShow) and major updates to (or complete replacements of) many core subsystems such as Winlogon and CAPI.

There are some issues for software developers using some of the graphics APIs in Vista. Games or programs which are built on Vista's version of DirectX, 10, will not work on prior versions of Windows, as DirectX 10 is not backwards-compatible with DirectX 9.[19] According to a Microsoft blog, there are three choices for OpenGL implementation on Vista. An application can use the default implementation, which translates OpenGL calls into the Direct3D API and is frozen at OpenGL version 1.4, or an application can use an Installable Client Driver (ICD), which comes in two flavors: legacy and Vista-compatible. A legacy ICD, the kind already provided by independent hardware vendors targeting Windows XP, will disable the Desktop Window Manager, noticeably degrading user experience under Windows Aero. A Vista-compatible ICD takes advantage of a new API, and will be fully compatible with the Desktop Window Manager.[20] At least two primary vendors, ATI and NVIDIA, are expected to provide full Vista-compatible ICDs in the near future.[21]

[edit] Deprecated features

Some notable Windows XP features and components have been replaced or removed in Windows Vista. Perhaps the most significant of these is the removal of Windows Messenger, the network Messenger Service, HyperTerminal, MSN Explorer, and the replacement of NetMeeting with Windows Meeting Space. Windows Vista also does not include the Windows XP "Luna" visual theme, or most of the classic color schemes which have been part of Windows since the Windows 3.x era. The "Hardware profiles" startup feature has been removed as well, along with support for older motherboard technologies like the EISA bus and APM. WinHlp32.exe, used to display 32-bit .hlp files, is no longer included in Windows Vista as Microsoft considers it obsolete.[22] This has resulted in a number of older programs not being able to display Help when running on Vista. In addition, Microsoft prohibits software manufacturers from re-introducing it with their products. However, WinHlp32.exe can still be installed manually from Microsoft's Download Center.

telnet.exe is no longer installed by default, but is still included as an installable feature.[23]

[edit] Postponed features

During the course of development, a number of features that had been announced or discussed publicly are no longer slated to be included with the initial release of Windows Vista.

* Due to scheduling issues, the Windows PowerShell, code-named Monad, will not be included in Windows Vista. However, it is available as a separate download [3].
* Owing to significant difficulties in getting third-party developers to support the system (particularly due to the lack of support for writing for the Trusted Operating Root using .NET managed code), the Next-Generation Secure Computing Base architecture was abandoned for Windows Vista.[24] Some aspects of the NGSCB initiative, such as support for Trusted Platform Module chips, are still present, though its role is now limited to being a provider of cryptographic functions which will support BitLocker Drive Encryption.

* Support for Intel's Extensible Firmware Interface was originally slated to be included with Vista, but has been removed due to what Microsoft has described as a lack of support on desktop computers.[25] The UEFI 2.0 specification (which replaces EFI 1.10) was not completed until early 2006, and as of mid-2006, no firmware manufacturers have completed a production implementation. Microsoft has stated that it intends on incorporating 64-bit UEFI support into a future update to Vista, but 32-bit UEFI will not be supported.[26]

* PC-to-PC Sync, a technology for synchronizing folders on multiple computers using peer-to-peer technology, was removed due to quality concerns. Microsoft plans to release it after Vista's release.[27]

[edit] Visual styles

Windows Vista has four distinct visual styles.[28]

Windows Aero
Vista's premier visual style is built on a new desktop composition engine called Desktop Window Manager. Windows Aero introduces support for 3D graphics (Windows Flip 3D), translucency effects (Glass), window animations and other visual effects, and is intended for mainstream and high-end graphics cards. To enable these features, the contents of every open window is stored in video memory to facilitate tearing-free movement of windows. As such, Windows Aero has significantly higher hardware requirements than its predecessors. 64 MB of graphics memory is the minimum requirement, depending on resolution used.[29] Windows Aero (including Windows Flip 3D) is not planned for inclusion in the Starter and Home Basic editions.

Windows Vista Standard
This mode is a variation of Windows Aero without the glass effects, window animations, and other advanced graphical effects such as Windows Flip 3D. Like Windows Aero, it uses the Desktop Window Manager, and has generally the same video hardware requirements as Windows Aero. This is the default mode for the Windows Vista Home Basic Edition. The Starter (developing markets) edition does not support this mode.

Windows Vista Basic
This mode has aspects that are similar to Windows XP's visual style with the addition of subtle animations such as those found on progress bars. It does not employ the Desktop Window Manager; as such, it does not feature transparency or translucency, window animation, Windows Flip 3D or any of the functions provided by the DWM. The Basic mode does not require the new Windows Display Driver Model (WDDM) for display drivers, and has similar graphics card requirements to Windows XP. For computers with graphics cards that are not powerful enough to support Windows Aero, this is the default graphics mode.

Windows Classic
An option for corporate deployments and upgrades, Windows Classic has the look and feel of Windows 2000 and Windows Server 2003, does not use the Desktop Window Manager and does not require a WDDM driver. As with prior versions of Windows, this theme supports "Color schemes" which are a collection of color settings. Windows Vista includes six classic color schemes, comprised of four high-contrast color schemes, as well as the default colour schemes from Windows 95 and Windows 2000.


"Windows Aero" style. "Windows Vista Standard" is similar in appearance but without the glass effects around windows.

"Windows Vista Basic" visual style.

"Windows Classic" visual style.


[edit] Hardware requirements

According to Microsoft, computers capable of running Windows Vista are classified as Vista Capable and Vista Premium Ready.[30] A Vista Capable or equivalent PC needs to have at minimum an 800 MHz processor, 512 MB RAM and a DirectX 9 class graphics card, and will be capable of supporting the high end Vista graphics, including the Aero user interface. A Vista Premium Ready PC will take advantage of Vista's "high-end" features but will need at least a 1.0 GHz processor, 1 GB main memory, and an Aero-compatible graphics card with at least 128 MB graphics memory and supporting the new Windows Display Driver Model. The company also offers Windows Vista Upgrade Advisor[31] from its Web site to determine the ability of a PC to run Vista in its various guises. The utility runs on Windows XP and Windows Vista.

Microsoft lists some Vista capable hardware on their web site. The "Vista Premium Ready" laptops they specify have Intel Core 2 Duo T5500 or above CPUs and 1 GB memory.[32]

Windows Vista's "Basic" and "Classic" interfaces will work with virtually any graphics hardware that supports Windows XP or 2000; accordingly, most discussion around Vista's graphics requirements centers on those for the Windows Aero interface. As of Windows Vista Beta 2, the NVIDIA GeForce FX family and later, the ATI Radeon 9500 and later, Intel's GMA 950 integrated graphics, and a handful of VIA chipsets and S3 Graphics discrete chips are supported.[33] Though some XGI Technology Volari chips were DirectX 9 (including the Volari V3XT which was available in PCI cards), with XGI's exit from the graphics card business it appears none of its chips are supported as of Vista Beta 2.

Microsoft has not specifically stated whether an AGP or PCI Express (PCIe) video card is a requirement for Windows Aero, but they recommend PCIe video due to their greater bandwidth.[34] There are some PCI cards available that are compatible with Windows Vista as well.
Windows Vista system requirements Vista Capable[29] Vista Premium Ready[29]
Processor 800 MHz 1 GHz
Memory 512 MB RAM 1 GB RAM
Graphics Card DirectX 9 capable DirectX 9 capable GPU with Hardware Pixel Shader v2.0 and WDDM Driver support
Graphics Memory N/A 128 MB RAM supports up to 2,756,000 total pixels (e.g. 1920 × 1200) or 512 MB+ for greater resolutions such as 2560x1600[35]
HDD capacity 20 GB 40 GB
HDD free space 15 GB 15 GB
HDD type Normal Normal, but hybrid flash memory/hard disk drive recommended
Other drives N/A DVD-ROM

[edit] Gaming

With Vista comes DirectX 10 - however in order to run future Vista-only games, a DirectX 10-compatible graphics card is needed. DirectX 10 makes use of Direct3D 10, XACT, XInput, DirectDraw and DirectPlay, forcing that the computer also should have a modern sound card. The monitor should also be at least able to have a screen resolution of 800x600. The WHQL tests in Vista has also been re-designed to meet the requirements of new games. An amount of 1 GB RAM will also provide good stability for new games, making Premium Ready computers most appropriate for future games.

[edit] Editions and pricing
A diagram representing the most common editions of Windows Vista.
Enlarge
A diagram representing the most common editions of Windows Vista.

Windows Vista will ship in six editions.[36] All editions will be available in both 32-bit (x86) and 64-bit (x64) architectures, except Windows Vista Starter which will only be available for 32-bit architectures. Microsoft maintains a detailed Product Guide that describes the various editions of Windows Vista, including detailed comparison charts of all features.

On September 5, 2006, USD pricing was announced for the four editions they plan on making available through retail channels.[37] New license and upgrade license SKUs of each edition will be made available.