Sabtu, 14 November 2009

window 95

Knowledge Forever
Ad-Free Forever
Wikipedia Forever
Donate Now
[Hide]
[Show]
Wikipedia Forever We’ve created the greatest collection of shared knowledge in history. Now help us protect this treasure.
[Show]
Wikipedia Forever We’ve created the greatest collection of shared knowledge in history. Now help us protect this treasure.
WikipediaForever
Donate Now
[Hide]
[Show]
Wikipedia Forever Our shared knowledge. Our shared treasure. Help us protect it.
[Show]
Wikipedia Forever Our shared knowledge. Our shared treasure. Help us protect it.
Windows 95
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Windows 95
Part of the Microsoft Windows family
Windows 95 logo.svg
Am windows95 desktop.png
Screenshot of Windows 95
Developer
Microsoft
Releases
Release date 24 August 1995 (info)
Current version 4.00 OEM Service Release 2.5 (OSR2.5) (Build 950)
(4.00.950 C)
(1997-11-26; 11 years ago) (info)
Source model Closed source
License MS-EULA
Kernel type Monolithic
Platform support IA-32
Support status
Unsupported as of 31 December 2001[1]

Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft,[2] and was a significant progression from the company's previous Windows products. During development it was referred to as Windows 4.0 or by the internal codename Chicago.

Windows 95 was intended to integrate Microsoft's formerly separate MS-DOS and Windows products. It features significant improvements over its predecessor, Windows 3.1, most visibly in the graphical user interface (GUI). There were also major changes made at lower levels of the operating system.

In the marketplace, Windows 95 was a major success, and within a year or two of its release had become the most successful operating system ever produced. It also had the effect of driving other major players in the DOS-compatible operating system out of business, something which would later be used in court against Microsoft. Some three years after introduction, Windows 95 was succeeded by Windows 98.
Contents
[hide]

* 1 Development
o 1.1 Beta
o 1.2 Final
* 2 Architecture
o 2.1 Use of MS-DOS
* 3 User interface
* 4 Technical improvements
o 4.1 Long file names
o 4.2 32-bit
* 5 Internet Explorer
* 6 Editions
* 7 System requirements
* 8 Notes
* 9 Further reading
* 10 External links

[edit] Development

The initial design and planning of Windows 95 can be traced back to around May 1992,[3] just after the release of Windows 3.1. At this time Windows for Workgroups 3.1 and Windows NT 3.1 were still in development and Microsoft's plan for the future was focused on Cairo. Cairo would be Microsoft's next-generation operating system based on Windows NT and featuring a new user interface and an object-based file system, but it was not planned to be shipped before 1994 (Cairo would eventually partially ship in July 1996 in the form Windows NT 4.0, without the object-base file system however, which would later evolve into WinFS.)

Simultaneously with Windows 3.1's release, IBM started shipping OS/2 2.0. Microsoft realized they were in need of an updated version of Windows that could support 32-bit applications and preemptive multitasking, but could still run on low-end hardware (Windows NT did not.) So the development of Windows "Chicago" was started and, as it was planned for a late 1993 release, became known as Windows 93. Initially the decision was made not to include a new user interface, as this was planned for Cairo, and only focus on making installation, configuration, and networking easier. Windows 93 would ship together with MS-DOS 7.0 offering a more integrated experience to the user and making it pointless for other companies to create DOS clones. MS-DOS 7.0 was at that time under development under the code name "Jaguar" and could optionally run on top of a Windows 3.1-based 32-bit protected mode kernel called "Cougar" in order to better compete with DR-DOS.

The first version of Chicago's feature specification was finished on 30 September 1992. Cougar was to become Chicago's kernel.
[edit] Beta
Windows Chicago Build 58s desktop.

Several Windows 95 betas were released before the final launch.

Build 58s

Build 58s introduced a Start menu prototype. It divided the functions of the Windows 95 Start menu up into three buttons. Future Chicago builds combined these three into the Start button still recognized today.

Build 58s included a new File Manager, Chicago Explorer, which remained relatively unchanged in the initial version of Windows 95 and in Windows NT 4.0. Build 58s still included Program Manager as found in Windows 3.1, although this application was supplemented by the new desktop and taskbar/Start menu designs.

This build also introduced shortcuts (Chicago referred to them as Links) and native right click functionality, which Windows 3.1 lacked. It also introduced long file name support.

Build 73g

A screenshot of the Windows Chicago build 78 desktop.

Build 73g is the next leaked build of Windows Chicago with a date stamp of November 1993. It is more of the same thing as Build 58 with a few UI tweaks and a network logon box at startup.

Build 81

Build 81 follows build 73g. There is not much information about this build as it seems unable to install on Microsoft Virtual PC. This may have been a minor build. The date stamp says it is from January 1994.

Build 122

Build 122 was the first version of chicago to call itself a Beta edition. Again, there is not much info on this version, but there is a date stamp of June 9, 1994.


Build 177

This is the next build of Windows Chicago, with an unknown date stamp. There is no info regarding this build whatsoever.


Build 189

A screenshot of Windows Chicago build 189.

Build 189 is the first version to call itself Windows 95. The date stamp is marked September 21, 1994. The UI has been completly re-done to where it looks and feels like the final version of Windows 95, though there still are numerous things left over from Chicago. The start menu also slightly differs from newer builds of Windows 95, as there is actually color along the side.

Build 224

Build 224 is Windows 95 beta 2. Only a date stamp of November 8, 1994 can be found as information on this build.


Build 347

The startup screen from build 347.

Build 347 is the Windows 95 "Final Beta Release". The build number refers to a German release, but seems to install in English. This version has a build stamp of March 17, 1995.

Build 468

Build 468 is the May Test Release version of Windows 95, with a date stamp of May 11, 1995. This version is so close to the final Windows 95, it can be mistaken for it.

Build 480

Build 480 is the May Test Release. It was released in two languages: English and German. According to the build number, this is Release Candidate 1.

Build 490 (RC1).

The startup screen from build 468, 480 and 490.

Build is dated June 8, 1995. The build number seems to indicate that this is Release Candidate 1.


Prior to the official release, the American public was given a chance to preview Windows 95 in the Windows 95 Preview Program. For US$19.95, users were sent a set of 3½" floppy diskettes that would install Windows 95 either as an upgrade to Windows 3.1x or as a fresh install on a clean computer. Users who bought into the program were also given a free preview of The Microsoft Network (MSN), the online service that Microsoft launched with Windows 95. The preview versions expired in November 1995, after which the user would have to purchase their own copy of the final version of Windows 95.
[edit] Final
Microsoft Windows 95 operating system cover shot

Windows 95 was released with great fanfare, including a commercial featuring the Rolling Stones' 1981 single "Start Me Up" (a reference to the Start button).[4] It was widely reported that Microsoft paid the Rolling Stones between US$8 and US$14 million for the use of the song in the 95 advertising campaign. According to sources at Microsoft, however, this was just a rumor spread by the Stones to increase their market value, and Microsoft actually paid a fraction of that amount.[5] A 30-minute promotional video, labelled a "cyber sitcom", featuring Jennifer Aniston and Matthew Perry, was also released to showcase the features of Windows 95. Microsoft's US$300 million advertising campaign featured stories of people waiting in line outside stores to get a copy.

In the UK, the largest computer chain PC World received a large number of oversized Windows 95 boxes, posters and point of sale material, and many branches opened at midnight to sell the first copies of the product, although these customers were far fewer in number than publicity had suggested.

In the United States, the Empire State Building in New York City was lit to match the colors of the Windows logo.[6] In Canada, a 300-foot banner was hung from the top of the CN Tower in Toronto. Copies of The Times were available for free in the United Kingdom where Microsoft paid for 1.5 million issues (twice the daily circulation at the time).

The release included a number of "Fun Stuff" items on the CD, including music videos of Edie Brickell's "Good Times, Bad Times"[7] and Weezer's "Buddy Holly".
[edit] Architecture
Wiki letter w.svg This section requires expansion.
Architectural diagram

Windows 95 was designed to be maximally compatible with existing MS-DOS and 16-bit Windows applications and device drivers, while under this constraint offering a more stable and better performing system. Architecturally, Windows 95 can be considered an evolution of Windows for Workgroups' 386 enhanced mode. The lowest level of the operating system is formed by a large number of virtual device drivers (VxDs) running in 32-bit protected mode and one or more virtual DOS machines running in virtual 8086 mode. The virtual device drivers can be responsible for handling physical devices (such as video and network cards), emulating virtual devices used by the virtual machines, or providing various system services. The three most important virtual device drivers are:

Virtual Machine Manager
The Virtual Machine Manager (VMM32.VXD) can be considered the kernel of Windows 95 and is responsible for tasks such as memory management, event and interrupt handling, loading and initialization of all other virtual device drivers, the creation of new virtual machines, and scheduling of threads.
Configuration Manager
The Configuration Manager (CONFIGMG) is responsible for implementing Plug and Play functionality. It detects all devices in the system using several bus enumerators, monitors the system for changes to the hardware configuration. It is responsible for assigning various resources (I/O ports, IRQs, DMA channels, and memory) to the devices in a conflict free fashion.
Installable File System Manager (Input/Output Subsystem)
The Installable File System Manager coordinates the access to various file systems. Windows 95 ships with support for FAT16, and in later releases FAT32, file systems (VFAT), ISO 9660 (CDFS), and several network redirectors. A dynamically sized disk buffer is provided by VCACHE. In the Block I/O Subsystem, requests are scheduled by the Input/Output Supervisor. Access to the disk is performed by a port driver, or in the case of a SCSI device, by a miniport driver working atop the SCSI layer.
Like Windows for Workgroups running with 32-bit file and disk access enabled, I/O operations can be handled entirely in 32-bit protected mode, bypassing MS-DOS and the BIOS, giving a significant performance improvement. In case there is no native Windows driver for a certain storage device, or if a device is forced to run in compatibility mode, the Real Mode Mapper port driver can access it through MS-DOS.

The Win32 API is implemented by three modules, each consisting of a 16-bit and a 32-bit component:

Kernel
Kernel (KRNL386.EXE and KERNEL32.DLL) provides high level access to functions such as memory and process management, and access to the file system.
User
User (USER.EXE and USER32.DLL) is responsible for managing and drawing the various user interface components, such as windows, menus, and buttons.
GDI
The Graphics Device Interface (GDI.EXE and GDI32.DLL) is responsible for drawing graphics in a device-independent way.

[edit] Use of MS-DOS

MS-DOS was an underlying component of Windows 95. It was possible to prevent loading the graphical user interface and boot the system into a real-mode MS-DOS environment. This sparked an intense debate[by whom?] over the question of to what extent Windows 95 was a "real" operating system, as opposed to merely being a graphical shell running on top of MS-DOS.

The GUI, when started, took over all functionality from MS-DOS, which itself was demoted to a compatibility layer for 16-bit device drivers.[8] This contrasted with earlier versions of Windows which relied on MS-DOS to perform file and disk access. (Windows for Workgroups 3.11 could also largely bypass MS-DOS when 32-bit file access and 32-bit disk access was enabled.) Keeping MS-DOS running allowed Windows 95 to use DOS device drivers if suitable Windows drivers were unavailable. MS-DOS also still handled some requests for allocating memory and parsing file names, issued by legacy Win16 applications, as Microsoft saw little benefit in replacing these helper functions with newly written 32-bit code.[citation needed]

A negative consequence of keeping MS-DOS around was that Windows had to do some work to keep DOS's internal data structures synchronized with those of Windows itself. When starting an application, even a native 32-bit Windows application, MS-DOS would momentarily execute to create a data structure (the program segment prefix) and it was even theoretically possible for MS-DOS to run out of conventional memory while doing so, preventing the application from launching.[citation needed]
[edit] User interface
Windows 95 first-run dialog, explaining use of the Start button.

The basic elements of the interface introduced in Windows 95—including the taskbar, Start button and menu, and the Windows Explorer file manager—remain fundamentally unchanged in later versions of Windows, such as Windows Server 2008 and Windows 7, nearly 15 years later. The word "Start" was dropped from the button in Windows Vista in 2006, with the company preferring to label the button with the Windows logo ("Start" is still present as a tooltip and in the classic GUI mode).

When released for Windows 95, Internet Explorer 4.0 came with an optional shell update known as Windows Desktop Update that changed the user interface significantly. That update gave Windows 95 (and Windows NT 4.0) features that would become the graphical user interface of Windows 98.
[edit] Technical improvements

Windows 95 included support for 255-character mixed-case long filenames and preemptively multitasked pseudo-protected-mode 32-bit applications. Whereas earlier versions of Windows are optional "DOS extending shells" requiring an MS-DOS or MS-DOS compatible operating system (usually sold separately). Windows 95 incorporated MS-DOS into a consolidated operating system, which was a significant marketing change. The release of Windows 95 also marked wider acceptance of Plug and Play standards on the IBM PC platform.
[edit] Long file names

32-bit File Access is necessary for the long file names feature introduced with Windows 95 through the use of the VFAT file system. It is available to both Windows programs and MS-DOS programs started from Windows (they have to be adapted slightly, since accessing long file names requires using larger pathname buffers and hence different system calls). Competing DOS-compatible operating systems released before Windows 95 cannot see these names. Using older versions of DOS utilities to manipulate files means that the long names are not visible and are lost if files are moved or renamed, as well as by the copy (but not the original), if the file is copied. During a Windows 95 automatic upgrade of an older Windows 3.1 system, DOS and third-party disk utilities which can destroy long file names are identified and made unavailable (Microsoft Anti-Virus for Windows indicated that the upgrade program was itself a computer virus). When Windows 95 is started in DOS mode, e.g. for running DOS programs, low-level access to disks is locked out. In case the need arises to depend on disk utilities that do not recognize long file names, such as MS-DOS 6.x's defrag utility, a program called LFNBACK for backup and restoration of long file names is provided on the CD-ROM. The program is in the \ADMIN\APPTOOLS\LFNBACK directory of the Windows 95 CD-ROM.
[edit] 32-bit

Windows 95 followed Windows for Workgroups 3.11 with its lack of support for older, 16-bit x86 processors, thus requiring an Intel 80386 (or compatible).

The introduction of 32-bit File Access in Windows for Workgroups 3.11 meant that 16-bit real mode MS-DOS is not used for managing the files while Windows is running, and the earlier introduction of the 32-bit Disk Access means that the PC BIOS is not used for managing hard disks. This essentially reduces MS-DOS to the role of a boot loader for the protected-mode Windows kernel. DOS can be used for running old-style drivers for compatibility, but Microsoft discourages using them, as this prevents proper multitasking and impairs system stability. Control Panel allows a user to see what MS-DOS components are used by the system; optimal performance is achieved when they are all bypassed. The Windows kernel uses MS-DOS style real-mode drivers in Safe Mode, which exists to allow a user to fix problems relating to loading native, protected-mode drivers.
[edit] Internet Explorer

Windows 95 originally shipped without Internet Explorer, and the default network installation did not install TCP/IP, the network protocol used on the Internet. At the release date of Windows 95, Internet Explorer 1.0 was available, but only in the Plus! add-on pack for Windows 95, which was a separate product. The Plus! Pack did not reach as many retail consumers as the operating system itself (it was mainly advertised for its add-ons such as themes and better disk compression) but was usually included in pre-installed (OEM) sales, and at the time of Windows 95 release, the web was being browsed mainly with a variety of early web browsers such as Netscape (promoted by products such as Internet in a Box).

Windows 95 OEM Service Release 1 was the first release of Windows to include Internet Explorer (Codenamed O'Hare) with the OS, including version 2.0. While there was no uninstaller, it could be deleted easily if the user so desired. The included version switched to Internet Explorer 3 when it came out. The installation of Internet Explorer 4 on Windows 95 (or the OSR2.5 version preinstalled on a computer) gave Windows 95 active desktop and browser integration into Windows Explorer, known as the Windows Desktop Update. The CD version of the last release of Windows 95, OEM Service Release 2.5 (Version 4.00.950C), includes Internet Explorer 4, and installs it after Windows 95's initial setup and first boot is complete.

Only the 4.x series of the browser contained the Windows Desktop Update features, so anyone wanting the new shell had to install IE4 with the desktop update before installing a newer version of Internet Explorer. The last version of Internet Explorer supported on Windows 95 is Internet Explorer 5.5 which was released in 2000. Windows 95 shipped with Microsoft's own dial-up online service called The Microsoft Network.
[edit] Editions
Release Code name Release date Version Software components Hardware support
System properties[9] System files[10] Timestamp MS-DOS Internet Explorer DriveSpace DirectX FAT32 Infrared[11] UDMA[12] IRQ steering[13] USB AGP MMX[14] P6[15]
Windows 95 (retail and OEM) Chicago 24 August 1995 4.00.950[16] 1995-07-11 09:50:00 7.0 N/A 2 N/A No No No No No No Bugs Bugs
Microsoft Plus! for Windows 95 Frosting N/A 4.40.310 1995-07-14 04:40:00 1.0 3
Service Pack 1 N/A 14 February 1996[17] 4.00.950a 4.00.951[18] 1995-12-31 09:50:00 2.0[19] 2 Yes
OEM Service Release 1 1996-02-02 09:51:00
OEM Service Release 2 Detroit 24 August 1996 4.00.950 B 4.00.1111 1996-08-24 11:11:11 7.1 3.0 3 2.0a Yes Yes Yes Yes
USB Supplement to OSR2 N/A 27 August 1997[20] 4.03.1212[21]
4.03.1214[22] 1997-04-10 12:14:00 Yes Yes
OEM Service Release 2.1
OEM Service Release 2.5 26 November 1997 4.00.950 C 4.03.1216[23] 1997-11-26 12:16:00 4.01 5.0 Yes

While Windows 95 was originally sold as a shrink-wrapped product, later editions were provided only to computer OEMs for installation on new PCs. The term OEM Service Release is frequently abbreviated OSR, as in OSR1 or OSR2.1. Thus, for example, OSR1 was the OEM release that was identical to Windows 95 retail with Service Pack 1 applied (with the addition of Internet Explorer). In order to maintain compatibility with existing programs, Windows 95 has an internal version number of "4.00.950", regardless of the internal build number, thus reflecting Windows 95's alternative identity as "Windows 4.0" (similarly, the original edition of Windows 98 has an internal version number of Windows 4.10.1998.) Later versions are sometimes referred to by the trailing letter appended to this version string, such as Windows 95 B for OSR2 and OSR2.1.

Windows 95 partially supports USB as of OSR 2.1, though it is disabled by default and is limited by driver availability.
[edit] System requirements

Official system requirements were an Intel 80386 DX CPU of any speed, 4 MB of system RAM, and 120 MB of hard drive space. These minimal claims were made in order to maximize the available market of Windows 3.1 converts. This configuration was distinctly suboptimal for any productive use on anything but single tasking dedicated workstations due to the heavy reliance on virtual memory. Also, in some cases, if any networking or similar components were installed the system would refuse to boot with 4 megabytes of RAM. It was possible to run Windows 95 on a 386 SX but this led to even less acceptable performance due to its 16-bit external data bus. To achieve optimal performance, Microsoft recommends an Intel 80486 or compatible microprocessor with at least 8 MB of RAM.[24]

Windows 95 was superseded by Windows 98 and could still be directly upgraded by both Windows 2000[25] and Windows Me. On 31 December 2001, Microsoft ended its support for Windows 95, making it an "obsolete" product according to the Microsoft Lifecycle Policy.[26] Even though support for Windows 95 has ended, the software still remains in use on some home and school computers because of budget issues, a lack of knowledge or lack of desire to upgrade to newer editions of Windows. In addition, some video game enthusiasts choose to use Windows 95 for their legacy system to play old DOS games, although some other versions of Windows such as Windows 98 can also be used for this purpose.

Windows 95 has been released on both floppy disks and on CD-ROM, as some computer systems at the time did not include a CD-ROM drive. The retail floppy disk version of Windows 95 came on 13 DMF formatted floppy disks, while OSR 2.1 doubled the floppy count to 26. Both versions exclude additional software that CD-ROM might have featured. Microsoft Plus! for Windows 95 was also available on floppy disks.
[edit] Notes

1. ^ "Windows Life-Cycle Policy". Microsoft. 3 April 2008. http://www.microsoft.com/windows/lifecycle/default.mspx. Retrieved 6 September 2009.
2. ^ David Segal (24 August 1995). "With Windows 95's Debut, Microsoft Scales Heights of Hype". Washington Post. http://www.washingtonpost.com/wp-srv/business/longterm/microsoft/stories/1995/debut082495.htm. Retrieved 6 September 2009.
3. ^ PX 1308 & 1310
4. ^ Microsoft detractors were quick to point out that the second verse of "Start Me Up" begins "you make a grown man cry" (a line which is repeated throughout). The phrase subsequently featured as a humorous reference in many critical expositions of Windows 95.
5. ^ Michael Gartenberg (22 August 2006). "The Story behind "Start Me Up" and Windows 95". JupiterResearch. http://web.archive.org/web/20071214054208/http://weblogs.jupiterresearch.com/analysts/gartenberg/archives/016913.html. Retrieved 9 September 2009. Internet Archive
6. ^ Washington Post
7. ^ http://www.youtube.com/watch?v=xSA-CWme3pM
8. ^ Chen
9. ^ The version string displayed in the "System properties" tab. Right-click on "My Computer" and choose "Properties".
10. ^ The version of updated system files. Note that most system files that have not been updated retain their often retain their old version number. Version numbers are not consistently used: some system files may have older or newer build numbers or use a version numbering scheme separate from regular system files.
11. ^ "Windows 95 Support for Infrared Data Association Connectivity". Microsoft. 15 November 2006. http://support.microsoft.com/kb/139445. Retrieved 9 September 2009.
12. ^ "How to Enable Direct Memory Access (DMA)". Microsoft. 27 January 2007. http://support.microsoft.com/kb/258757. Retrieved 9 September 2009.
13. ^ "Description of PCI Bus IRQ Steering". Microsoft. 22 January 2007. http://support.microsoft.com/kb/182604. Retrieved 9 September 2009.
14. ^ "GP Fault or Fatal Exception Error on Intel MMX CPU". Microsoft. 15 November 2006. http://support.microsoft.com/kb/156492. Retrieved 9 September 2009.
15. ^ "Memory Management Problems on Computers with Pentium Processors". Microsoft. 22 September 2005. http://support.microsoft.com/kb/179897. Retrieved 9 September 2009.
16. ^ This version of Windows 95 is sometimes called "950r6" because there were five prior release candidates of build 950. Release candidate 6 was the build that shipped in retail boxes.
17. ^ "Microsoft Releases Windows 95 Service Pack". Microsoft. 14 February 1996. http://www.microsoft.com/presspass/press/1996/feb96/srvcpkpr.mspx. Retrieved 9 September 2009.
18. ^ Some components have higher build numbers up to 955.
19. ^ "Microsoft Windows 95 Service Pack 1 CD-ROM Readme.txt File". Microsoft. 20 January 2006. http://support.microsoft.com/kb/145667. Retrieved 9 September 2009.
20. ^ "How to Determine the Version of Windows 95/98/Me in Use". Microsoft. 12 May 2007. http://support.microsoft.com/kb/158238. Retrieved 9 September 2009.
21. ^ Original release of the USB Supplement to OSR2.
22. ^ Updated version of the USB Supplement to OSR2.
23. ^ The Microsoft Knowledge Base reports 4.03.1214. The USB Supplement to OSR2 contains an updated VMM.VXD with support for the Pentium Pro and Pentium II. This file has version 4.03.1216 and has a timestamp of 1997-09-23 09:51:18.
24. ^ "Windows 95 Installation Requirements". Microsoft. 23 April 2007. http://support.microsoft.com/kb/138349. Retrieved 9 September 2009.
25. ^ http://www.microsoft.com/windows2000/professional/howtobuy/upgrading/path/default.asp
26. ^ "Windows 95 Support: Contact Support". Microsoft. 13 December 2002. http://web.archive.org/web/20070522053321/http://www.microsoft.com/windows95/support/contact/default.asp. Retrieved 9 September 2009. Internet Archive

[edit] Further reading

Microsoft

* Microsoft. Microsoft Windows 95 Resource Kit.
* Microsoft TechNet. "Windows 95 Architecture Components".
* Microsoft. KB146449: Description of Microsoft Windows 95 Service Pack 1 Components
* Microsoft. KB143003: Description of Microsoft Windows 95 Service Pack 1 Updates
* Microsoft. KB148761: Description of Windows 95 OEM Service Release 1
* Microsoft. KB253756: Availability of Universal Serial Bus Support in Windows 95
* Microsoft. KB161020: Implementing Windows 95 Updates

Architecture

* Andrew Schulman (1994). Unauthorized Windows 95: A Developer's Guide to Exploring the Foundations of Windows "Chicago". IDG Books. ISBN 978-1-56884-169-4. http://web.archive.org/web/20060615065625/http://ftp.uni-mannheim.de/info/OReilly/windows/win95.update/unauthw.html. Retrieved 9 September 2009. Internet Archive

Articles

* Guardian Unlimited. Windows 95: The hype and beyond
* Washington Post. With Windows 95's Debut, Microsoft Scales Heights of Hype
* Microsoft. Windows 95 Installation Requirements
* Microsoft. Windows 95 end of support date

[edit] External links

* Description of Windows 95 OEM Service Release 1
* HPC: Factor Windows 95 Patches & Updates Guide
* Microsoft Windows Update (from archive.org)

[hide][hide]
v • d • e
Microsoft Windows family
Versions · Comparison · Components · History · Timeline · Criticism
Original
For DOS
1.0 · 2.0 · 2.1x · 3.0 · 3.1x
Win 9x
95 · 98 (development) · Me
NT
Client/Server
NT 3.1 · NT 3.5 · NT 3.51 · NT 4.0 · 2000
Client
XP (editions · development) · Vista (editions · development) · 7 (editions · development)
Server
2003 · Home Server · 2008 · HPC 2008 · 2008 R2 · HPC Server 2008 R2
CE
CE 3.0 · CE 5.0 · CE 6.0 · Mobile
Upcoming
Mobile 7 · Windows 8
Other
Cancelled
Cairo · Nashville · Neptune · Odyssey
Related
Preinstallation Environment · Embedded · OS/2
Retrieved from "http://en.wikipedia.org/wiki/Windows_95"
Categories: 1995 software | Windows 95 | Discontinued versions of Microsoft Windows
Hidden categories: Articles to be expanded from October 2009 | All articles to be expanded | All articles with specifically-marked weasel-worded phrases | Articles with specifically-marked weasel-worded phrases from October 2009 | All articles with unsourced statements | Articles with unsourced statements from October 2009
Views

* Article
* Discussion
* Edit this page
* History

Personal tools

* Try Beta
* Log in / create account

Navigation

* Main page
* Contents
* Featured content
* Current events
* Random article

Search

Interaction

* About Wikipedia
* Community portal
* Recent changes
* Contact Wikipedia
* Donate to Wikipedia
* Help

Toolbox

* What links here
* Related changes
* Upload file
* Special pages
* Printable version
* Permanent link
* Cite this page

Languages

* العربية
* Azərbaycan
* বাংলা
* Български
* Català
* Чӑвашла
* Česky
* Dansk
* Deutsch
* Español
* Esperanto
* Euskara
* Français
* Galego
* 한국어
* Hrvatski
* Bahasa Indonesia
* Italiano
* Kurdî / كوردی
* Latina
* Lietuvių
* Magyar
* Bahasa Melayu
* Nederlands
* 日本語
* ‪Norsk (bokmål)‬
* ‪Norsk (nynorsk)‬
* O'zbek
* Polski
* Português
* Română
* Русский
* Simple English
* Slovenščina
* Srpskohrvatski / Српскохрватски
* Suomi
* Svenska
* Tagalog
* தமிழ்
* ไทย
* Тоҷикӣ
* Türkçe
* Українська
* Tiếng Việt
* ייִדיש
* 中文

Powered by MediaWiki
Wikimedia Foundation

* This page was last modified on 12 November 2009 at 15:51.
* Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms of Use for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
* Contact us
* Privacy policy
* About Wikipedia
* Disclaimers

in then

ini tugas pak yuli yang diberikan kemaren

Conditional (programming)
From Wikipedia, the free encyclopedia
(Redirected from If-then-else)
Jump to: navigation, search
This article is about computer programming; for conditional statements in general, see Logical conditional.

In computer science, conditional statements, conditional expressions and conditional constructs are features of a programming language which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false. Apart from the case of branch predication, this is always achieved by selectively altering the control flow based on some condition.

In imperative programming languages, the term "conditional statement" is usually used, whereas in functional programming, the terms "conditional expression" or "conditional construct" are preferred, because these terms all have distinct meanings.

Although dynamic dispatch is not usually classified as a conditional construct, it is another way to select between alternatives at runtime.
Contents
[hide]

* 1 If-Then(-Else)
o 1.1 Else If parts
o 1.2 If expressions
+ 1.2.1 As a ternary operator
+ 1.2.2 As a function
+ 1.2.3 In Haskell
o 1.3 Arithmetic IF
o 1.4 Object-oriented implementation in Smalltalk
* 2 Case and switch statements
* 3 Pattern matching
* 4 Branch predication
* 5 Choice system cross reference
* 6 See also
* 7 External links
* 8 References

[edit] If-Then(-Else)

The if-then construct (sometimes called if-then-else) is common across many programming languages. Although the syntax varies quite a bit from language to language, the basic structure (in pseudocode form) looks like this: (This example is actually perfectly valid Visual Basic or QuickBASIC syntax.)

If (condition) Then
(statements)
Else
(statements)
End If


When an interpreter finds an If, it expects a boolean condition - for example, x > 0, which means "the variable x contains a number that is greater than zero" - and evaluates that condition. If the condition is true, the statements following the Then are executed. Otherwise, the execution continues in the following branch - either in the Else block (which is usually optional), or if there is no Else branch, then after the End If.

After either branch has been executed, control returns to the point after the End If.

In early programming languages - and in particular, in some dialects of BASIC in the 1980s - an if-then statement could only contain GOTO statements. This led to a hard-to-read style of programming known as spaghetti programming, with programs in this style called spaghetti code. As a result, structured programming, which allowed (virtually) arbitrary statements to be put in statement blocks inside an if statement, gained in popularity, until it became the norm. While it is possible while using only GOTO statements in if-then statements to write programs that are not spaghetti code and are just as well structured and readable as programs written in a structured programming language, structured programming makes this easier and enforces it. Structured if-then-else statements like the example above are one of the key elements of structured programming, and they are present in most popular modern high-level programming languages including VB (all versions including .NET), C and its derivatives (including C++ and C#), Java and JavaScript.
[edit] Else If parts

By using Else If, it is possible to combine several conditions. Only the statements following the first condition that is found to be true will be executed. All other statements will be skipped. The statements of the final Else will be executed if none of the conditions are true. This example is written in the Ada programming language:

if condition then
-- statements;
elseif condition then
-- more statements;
elseif condition then
-- more statements;
...
else condition then
-- other statements;
end if;

elseif, in Ada, is simply syntactic sugar for else followed by if. In Ada, the difference is that only one end if is needed, if one uses elseif instead of else followed by if.

In some other languages, such as C and Java, else if literally just means else followed by if - so no syntactic sugar is needed or provided. This works since when an else is followed by one statement (in this case the if), it doesn't need any braces.

In Python, there is a special keyword elif for this because Python uses indent to indicate structure, so if you only used else and if, then you would need to keep increasing the indent at every condition. In Perl, there is a special keyword elsif for this because braces are required for if and else, so if you only used else and if, then you would need to keep adding braces.
[edit] If expressions

Many languages support if expressions, which are similar to if statements, but return a value as a result. Thus, they are true expressions (which evaluate to a value), not statements (which just perform an action).
[edit] As a ternary operator
Main article: ?:

In C and C-like languages conditional expressions take the form of a ternary operator called the conditional expression operator, ?:, which follows this template:

(condition)?(evaluate if condition was true):(evaluate if condition was false)

This means that conditions can be inlined into expressions, unlike with if statements, as shown here using C syntax:

//Invalid
my_variable = if(x > 10) { "foo" } else { "bar" };
//Valid
my_variable = (x > 10)?"foo":"bar";

To accomplish the same as the second (correct) line above, using a standard if/else statement, this would take more than one line of code (under standard layout conventions):

if (x > 10) {
my_variable = 'foo';
}
else {
my_variable = 'bar';
}

[edit] As a function

In Visual Basic and some other languages, a function called IIf is provided, which can be used as a conditional expression. However, it does not behave like a true conditional expression, because both the true and false branches are always evaluated; it is just that the result of one of them is thrown away, while the result of the other is returned by the IIf function.
[edit] In Haskell

In Haskell 98, there is only an if expression, no if statement, and the else part is compulsory, as every expression must have some value.[1] Logic that would be expressed with conditionals in other languages is usually expressed with pattern matching in recursive functions.

Because Haskell is lazy, it is possible to write control structures,. such as if, as ordinary expressions; the lazy evaluation means that an if function can evaluate only the condition and proper branch (where a strict language would evaluate all 3). It can be written like this: [2]

if' :: Bool -> a -> a -> a
if' True x _ = x
if' False _ y = y

[edit] Arithmetic IF
This section is missing citations or needs footnotes. Please help add inline citations to guard against copyright violations and factual inaccuracies. (May 2007)

Fortran 77 has an "arithmetic if" statement which is halfway between a computed IF and a case statement, based on the trichotomy x < 0, x = 0, x > 0[3]:

IF (e) label1, label2, label3

Where e is any numeric expression (not necessarily an integer); this is equivalent to

IF (e < 0) GOTO label1
IF (e = 0) GOTO label2
IF (e > 0) GOTO label3

Because this arithmetic IF is equivalent to multiple GOTO statements, it is considered to be an unstructured control statement, and should not be used if more structured statements can be used. In practice it has been observed that most arithmetic IF statements referenced the following statement with one or two of the labels.

This was the only conditional control statement in the original implementation of Fortran on the IBM 704 computer. On that computer it could be implemented quite efficiently using instructions such as 'Branch if accumulator negative'.
[edit] Object-oriented implementation in Smalltalk

In contrast to other languages, in Smalltalk the conditional statement is not a language construct but defined in the class Boolean as an abstract method that takes two parameters, both closures. Boolean has two subclasses, True and False, which both define the method, True executing the first closure only, False executing the second closure only.[4]

var := condition
ifTrue: [ 'foo' ]
ifFalse: [ 'bar' ]

[edit] Case and switch statements
Main article: Switch statement

Switch statements (in some languages, case statements) compare a given value with specified constants and take action according to the first constant to match. The example on the left is written in Pascal, and the example on the right is written in C.
Pascal: C:

case someChar of
'a': actionOnA;
'x': actionOnX;
'y','z':actionOnYandZ;
end;



switch (someChar) {
case 'a': actionOnA; break;
case 'x': actionOnX; break;
case 'y':
case 'z': actionOnYandZ; break;
default: actionOnNoMatch;
}

[edit] Pattern matching
Main article: Pattern matching

Pattern matching is a more sophisticated alternative to both if-then-elseif, and the simple case or switch statements mentioned above. It is available in some programming languages such as the ML language family. Here is a simple example written in the O'Caml language:

match fruit with
| "apple" -> cook pie
| "coconut" -> cook dango_mochi
| "banana" -> mix;;

The true power of pattern matching, however, comes from the ability to concisely (a) match on data structure patterns, and (b) bind variables at the same time. Here is an example written in Haskell which illustrates both of these features:

map _ [] = []
map f (h : t) = f h : map f t

This code defines a function map, which applies the first argument (a function) to each of the elements of the second argument (a list), and returns the resulting list. The two lines are not two separate definitions of the function, but rather definitions of what to do in two cases - one case where the list is empty (just return an empty list) and the other case where the list is not empty.

Pattern matching is not strictly speaking always a choice construct, because it is possible in Haskell to write only one alternative, which is guaranteed to always be matched - in this situation, it is not being used as a choice construct, but simply as a way to bind variables. However, it is frequently used as a choice construct in the languages in which it is available.
[edit] Branch predication
Main article: Branch predication

In assembly language, branch predication is a feature of certain CPU instruction sets which permits conditional execution of instructions, without having to perform costly conditional jumps.
[edit] Choice system cross reference

This table refers to the most recent language specification of each language. For languages that do not have a specification, the latest officially released implementation is referred to.
Programming language Structured if switch/select case Arithmetic if Pattern matching[1]
then else else-if
Ada Yes Yes Yes Yes No No
C, C++ and C# Yes Yes not needed [2] fall-through, except C# No No
Eiffel Yes Yes Yes Yes No No
F# Yes Yes Yes not needed [3] No Yes
Fortran[clarification needed] Yes Yes Yes Yes Yes No
Java Yes Yes not needed [2] Yes No No
Haskell Yes Yes, required not needed [2] not needed [3] No Yes
Perl Yes Yes Yes Yes No No
PHP Yes Yes Yes fall-through No No
Visual Basic .NET Yes Yes Yes Yes No No
Windows PowerShell Yes Yes Yes fall-through No Yes

1. a This refers to pattern matching as a distinct conditional construct in the programming language - as opposed to mere string pattern matching support, such as regular expression support.
2. a b The often-encountered else if in the C family of languages, and in Haskell, is not a language feature but a set of nested and independent if then else statements combined with a particular source code layout. However, this also means that a distinct else-if construct is not really needed in these languages.
3. a In Haskell and F#, a separate constant choice construct is not needed, because the same task can be done with pattern matching.

[edit] See also
Search Wiktionary Look up then or else in Wiktionary, the free dictionary.

* Branch
* Dynamic dispatch for another way to make execution choices
* McCarthy Formalism for history and historical references

[edit] External links

* If Else condition examples an language reference links in many programming languages (JavaScript, Java, PHP, Perl, Python, C, C++, Objective-C, C#, Bash, Pascal, XSLT, Excel, Ruby, Fortran, Velocity)
* Microsoft Excel IF Function

konfigurasi windows

Konfigurasi Windows Secara Manual Memakai RegeditThis is a featured page
Tutorial di bawah ini adalah hasil explorasi saya terhadap program XSetup
Pro. Sebenarnya anda bisa dengan mudah mengkonfigurasi Windows
memakai program X-Setup Pro, tetapi bagi yang ingin mengetahui caranya
secara manual bisa menggunakan tutorial ini. Saat membuatnya saya
menggunakan Windows XP SP 2, jadi jika ada perbedaan key value di dalam
register anda, anda bisa membuatnya sendiri. Tetapi sebagai catatan ada juga
register yang khusus untuk Windows versi tertentu saja.
Menggunakan Regedit
1. Membuka Regedit
Klik Start – Run lalu ketik regedit pada kotak isian Open lalu klik OK
2. Membuat dan menghapus Key
Klik kanan icon folder pada tree yang di dalamnya ingin dibuat key baru
lalu klik New - Key dan beri nama sesuai yang anda inginkan. Jika anda
ingin menghapusnya klik key yang dimaksud lalu tekan tombol Delete.
Pilih yes pada kotak dialog yang muncul
3. Membuat dan merubah dan menghapus String
Klik key di mana di dalam key tersebut akan dibuat string. Klik kanan di
sembarang tempat pada jendela sebelah kanan. Klik New – String Value
lalu beri nama string tersebut. Untuk merubah nama string lagi klik kanan
pada nama string yang dimaksud lalu klik rename dan ubah namanya.
Jika ingin merubah datanya, double klik pada nama string yang
dimaksud, masukkan data lalu klik OK. Jika anda ingin menghapusnya
klik string yang dimaksud lalu tekan tombol Delete. Pilih yes pada kotak
dialog yang muncul. Cara diatas juga bisa digunakan untuk DWORD,
Binary, Multi-String dan Expendable String.
Menghilangkan Apllet "Add/Remove Program" di Dalam Control Panel
1. Masuk ke HKCU\Control Panel\Don't Load\
2. Buat string baru dengan nama addwiz.cpl
3. Ganti datanya menjadi 1
Apllet lain juga bisa diganti dengan cara yang sama hanya saja dengan
nama string yang berbeda sesuai dengan apllet yang dimaksud. Tetapi ada
14
beberapa apllet yang tidak bisa dihilangkan. Di bawah ini adalah contoh
beberapa nama apllet.
1. Accessibility = access.cpl
2. Add/Remove Program = appwiz.cpl
3. Automatic Updates = wuaucpl.cpl
4. Display properties = desk.cpl
5. Firewall = firewall.cpl
6. Game Controllers & Joysticks = joy.cpl
7. Hardware = hdwwiz.cpl
8. Internet Settings = Inetcpl.cpl
9. Mail = mlcfg32.cpl
10. Modem & Telephones = telephon.cpl
11. Mouse Control = main.cpl
12. Network Setup Wizard = NetSetup.cpl
13. ODBC = odbccp32.cpl
14. Power Management = powercfg.cpl
15. Regional options = intl.cpl
16. Security Center = wscui.cpl
17. Sound and Audio = mmsys.cpl
18. Speech = sapi.cpl
19. System = sysdm.cpl
20. Time and Date = timedate.cpl
21. UPS = ups.cpl
22. User/Passwords Properties = nusrmgr.cpl
Setiap komputer kadang-kadang memiliki apllet yang berbeda di dalam
Control Panel. Jika apllet yang di inginkan tidak ada di dalam daftar, anda bisa
melakukan pencarian dengan menjalankan Search... pada harddisk lalu ketik
*.cpl. Agar apllet yang dimaksud bisa muncul kembali, hapus string yang
bersangkutan yang telah dibuat tadi.
Memunculkan Shortcut ke Suatu Drive D: Saat Klik Kanan My Computer
1. Masuk ke HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-
08002B30309D}\Shell\
2. Buat key baru dengan nama XQXSETCMD1\
3. Ubah value data pada string bernama (default) dengan Drive D:
4. Buat key baru pada HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-
08002B30309D}\Shell\XQXSETCMD1\ dengan nama Command
5. Ubah value data pada string bernama (default) dengan letak explorer.exe
berada diikuti dengan D:\. Biasanya explorer.exe berada di
C:\Windows\explorer.exe. (Contoh: C:\Windows\explorer.exe D:\)
6. Jika ingin membuat 2 shortcut maka buatlah String baru dengan nama
XQXSETCMD2 pada HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-
08002B30309D}\Shell\ lalu ulangi langkah nomor 3 sampai 5. Jika ingin
15
menghilangkan shortcut hapuslah key XQXSETCMD1
Mengganti Nama My Computer pada Desktop
1. Buka HKCU\Software\Windows\CurrentVersion\Explorer\CLSID\
2. Buat key baru dengan nama {20D04FE0-3AEA-1069-A2D8-08002B30309D}
3. Ganti data value pada string (default) dengan nama komputer yang anda
inginkan
Membuat My Computer Special Folder
Jika saat menggunakan explorer anda merasa kerepotan karena folder yang
ingin dibuka di dalam folder lain, di bawah ini akan ditunjukkna cara membuat
folder spesial. Folder ini akan muncul pada explorer di bawah Control Panel
1. Buka HKLM\SOFTWARE\Classes\CLSID\
2. Buat key baru bernama {55028DEA-EA62-4c5f-A1F3-9D123DFAEDA1}
3. Pada string (Default) ganti data valuenya dengan nama folder yang anda
inginkan
4. Buat string baru bernama InfoTip lalu ganti data valuenya dengan
komentar tentang folder tersebut
5. Buat key baru pada HKLM\SOFTWARE\Classes\CLSID\{55028DEAEA62-
4c5f-A1F3-9D123DFAEDA1} dengan nama DefaultIcon
6. Buat expandable string dengan nama (Default) lalu isi datanya dengan
shell32.dll,4
7. Buat key baru pada HKLM\SOFTWARE\Classes\CLSID\{55028DEAEA62-
4c5f-A1F3-9D123DFAEDA1} dengan nama InProcserver32.
8. Buat expandable string dengan nama (Default) lalu isi datanya dengan
SHDocVw.dll
9. Buat string dengan nama ThreadingModel dan isi datanya dengan
Apartement
10. Buat key baru pada HKLM\SOFTWARE\Classes\CLSID\{55028DEAEA62-
4c5f-A1F3-9D123DFAEDA1} dengan nama Instance
11. Buat string baru dengan nama CLSID lalu isi datanya dengan
{0AfACED1-E828-11D1-9187-B532F1E9575D}
12. Buat key baru pada HKLM\SOFTWARE\Classes\CLSID\{55028DEAEA62-
4c5f-A1F3-9D123DFAEDA1}\Instance dengan nama
InitPropertyBag
13. Buat DWORD dengan nama Attributes lalu isi datanya dengan 15
14. Buat expandable string dengan nama Target lalu isi datanya dengan
direktori folder yang anda inginkan misalkan D:\My Documents
15. Buat key baru pada HKLM\SOFTWARE\Classes\CLSID\{55028DEAEA62-
4c5f-A1F3-9D123DFAEDA1} dengan nama ShellFolder
16. Buat DWORD dengan nama Attributes lalu isi datanya dengan f8000110
17. Buat string baru bernama WantsFORPARSING
18. Buat key baru pada
16
HKLM\SOFTWARE\Microsoft\Windows\CurentVersion\Explorer\My
Computer\NameSpace\ dengan nama {55028DEA-EA62-4c5f-A1F3-
9D123DFAEDA1}
Menonaktifkan Desktop Clean-Up Wizard
Setiap 60 hari sekali secara otomatis akan muncul kotak dialog yang
menanyakan kepada anda apakah anda ingin menghapus icon pada desktop
yang tidak pernah terpakai atau tidak. Jika anda tidak ingin menerima pesan itu
lagi, anda bisa menggunakan cara ini.
1. Buka
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Deskt
op\
2. Ubah data pada DWORD NoRun menjadi 1
Menonaktifkan Peringatan Low Disk Space
Merasa terganggu karena ada peringatan hardisk anda penuh? Lakukan cara di
bawah ini.
1. Buka
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explore
r\
2. Buat DWORD baru bernama NoLowDiskSpaceChecks lalu masukkan
angka 1 pada datanya
Mengganti Wallpaper Additional Directory
Bagi anda yang gemar mengganti wallpaper, anda mungkin akan tertolong
dengan konfigurasi register ini.
1. Buka HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\
2. Ganti data pada string WallPaperDir menjadi letak direktori yang anda
inginkan
Auto-Open Explorer Setelah Restart
Konfigurasi ini akan membuat explorer secara otomatis terbuka setelah
komputer melakukan restart
1. Buka
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advan
ced
2. Ganti data pada DWORD PersistBrowsers menjadi 1
Singkatan
Agar tutorial ini tidak terlalu panjang ada beberapa singkatan yang saya
gunakan:
1. HKCR = HKEY_CURENT_ROOT
2. HKCU = HKEY_CURRENT_USER
17
3. HKLM = HKEY_LOCAL_MACHINE
4. HKU = HKEY_USERS
5. HKCC = HKEY_CURRENT_CONFIG
Mohon maaf jika ada kesalahan dalam penulisan tutorial ini. Semoga sekelumit
tulisan ini bisa membantu anda yang ingin belajar Register Editor. Kritik dan
saran bisa dikirimkan langsung melalui email saya. Tunggu tutorial lanjutannya.
Thank's to 4JJI SWT, My Parents, My Little Sister(Nanda), ^family_code^ and
The Team - XQDC X-Setup Pro (Good works bro!)

WELOCOME TO BLOG


Click here for Myspace Layouts