Windows 95 (кодова назва Chicago) — орієнтована на споживача операційна система розроблена компанією Microsoft, як частина сімейства операційних систем Windows 9x. Перша система з сімейства 9х, наступник до Windows NT 4.0, RTM-реліз стався 15 серпня 1995 року та у роздрібній торгівлі 24 серпня 1995. Windows 95 з'єднала, раніше розділені, MS-DOS i Microsoft Windows, та мала в собі значні покращення на відміну від свого попередника, найпомітніші у графічному інтерфейсі (GUI) та спрощених «plug-and-play» можливостях. Були також внесені суттєві зміни до основних компонентів операційної системи, такі як перехід від кооперативної багатозадачності 16-бітної архітектури до витискальної багатозадачності 32-бітної архітектури, принаймні при запуску лише 32-бітних програм захищеного режиму.

У супроводі великої рекламної кампанії, Windows 95 представила численні функції, які були представлені в пізніших версіях Windows, такі як панель завдань, кнопка «Пуск» та шляхи, якими користувач може орієнтуватися у системі.

Через три роки після випуску Windows 95 вийшла Windows 98. Microsoft закінчила основну підтримку для Windows 95 31 грудня 2000 року, а розширена підтримка закінчилася 31 грудня 2001 року.

Розробка

Початковий дизайн Windows 95 можна відстежити приблизно у березні 1992,Comes v. Microsoft. Plaintiff's Exhibit 1263 .Comes v. Microsoft. Plaintiff's Exhibit 1308 .Comes v. Microsoft. Plaintiff's Exhibit 1310 . під час виходу Windows 3.1. У цей час, Windows for Workgroups 3.11 та Windows NT 3.1 досі були у розробці і план на майбутнє Microsoft був спрямований на Cairo. Cairo могла бути наступним поколінням для операційних систем Microsoft, базованих на Windows NT, включаючи в себе новий інтерфейс користувача та об'єктно-орієнтовану файлову систему, але вона не була запланована на випуск після 1994 року. Однак Cairo могла бути запланована до випуску частково у липні 1996 у формі Windows NT 4.0, але без об'єктно-орієнтованої файлової системи, котра повинна була потім розвинутися у WinFS.

Водночас з випуском Windows 3.1, IBM почала випуск OS/2 2.0. Microsoft зрозуміла свою потребу у оновленій версії Windows, яка могла би підтримувати 32-бітні додатки та витискальну багатозадачність, але все ще могла би працювати на дешевому обладнанні. (Windows NT не могла). З того моменту була розпочата розробка Windows «Chicago», яка стала відома під назвою Windows 4.0 або Windows 93, оскільки була запланована до випуску наприкінці 1993 року. Спочатку було рішення не додавати новий інтерфейс користувача, оскільки він був запланований для Cairo, та сфокусуватися на розробці більш простого встановлення, налаштування та знаходження у мережі. Windows 93 могла бути видана разом з MS-DOS 7.0, пропонуючи більшу інтеграцію з системою, роблячи при цьому безглуздими клони DOS від інших компаній. У цей час MS-DOS 7.0 була у розробці під кодовою назвою «Jaguar» та могла працювати з ядром «Cougar», яке було частиною Windows 3.1, щоб краще конкурувати з DR-DOS. Перша версія специфікацій для Chicago була закінчена 30 вересня 1992. Cougar став ядром для Chicago.

Бета До офіційного виходу Windows 95, користувачі з США та Великої Британії мали можливість приєднатися до Windows 95 Preview Program. За $19.95/£19.95 користувачі отримували кілька 3.5-дюймових дискет для встановлення Windows 95 як оновлення для Windows 3.1 або встановлення з нуля. Учасники отримували безкоштовний попередній доступ до The Microsoft Network (MSN) — це онлайн сервіс, запущений компанією Microsoft разом з Windows 95. На період тестування Microsoft створила різні пункти електронного розповсюдження рекламної та технічної документації для Чикаго,Microsoft Windows Chicago Reviewer's Guide, p.282 включаючи детальний документ для медіа-оглядачів описуючи основні можливості нової системи. Термін дії тестових версій закінчився у листопаді 1995, після цього користувачу пропонувалося придбати власну копію фінальної версії Windows 95.

Архітектура

Windows 95 була розроблена з максимальною сумісністю з вже існуючими MS-DOS та 16-бітними Windows програмами та драйверами для обладнання, пропонуючи більш стабільну та більш ефективну систему. Архітектура Windows 95 є еволюцією для Windows for Workgroups' 386 розширеному режимі. Найнижчій рівень системи має в собі велику кількість віртуальних драйверів обладнання (VxD) працюючих у 32-бітному захищеному режимі та одній (або більше) віртуальній DOS машині, працюючій у віртуальному 8086 режимі. Віртуальні драйвери обладнання відповідають за користування фізичних пристроїв (такі як відео-, або мережеві карти), емулювання віртуальних пристроїв, використаних віртуальними машинами, або забезпечення інших системних сервісів. Три найважливіші віртуальні драйвери:

Virtual Machine Manager (VMM32.VXD) Відповідальний за менеджмент пам'яті, обробник подій, керування перериванням, завантаження та ініціалізація драйверів віртуального обладнання, створення нових віртуальних машин та планування ниток. Configuration Manager (CONFIGMG) Відповідальний за виконання Plug and Play функцій; моніторинг змін налаштувань обладнання; виявлення пристроїв використовуючи bus enumerators; та розподіл портів вводу/виводу, IRQ, каналів DMA та пам'яті безконфліктним способом. Installable File System Manager (Input/Output Subsystem) Coordinates access to supported file systems. Windows 95 initially shipped with support for FAT12, FAT16, the VFAT extension, ISO 9660 (CDFS) and network redirectors, with later releases supporting FAT32.:Координує доступо до файлових систем, які підтримуються. Windows 95 з самого початку підтримує FAT12, FAT16, VFAT-розширення, ISO 9660 (CDFS) та мережеві переспрямовувачі. З наступними релізами підтримує FAT32.

Запит доступу до фізичного пристрою відправляється до Input/Output Supervisor, компонент відповідальний за планування запитів. Кожен фізичний пристрій має свій драйвер: доступ до диску виконується драйвером порту, коли доступ до SCSI пристрою керується через драйвер мініпорту, котрий працює поверх SCSI прошарку. Драйвери порту та мініпорту виконують операції вводу/виводу у 32-бітному захищеному режимі, в обхід MS-DOS та BIOS, даючи значний приріст у швидкості роботи. У випадку, якщо немає власного Windows драйверу для певного пристрою, або якщо пристрій вимушений працювати у режимі сумісності, Real Mode Mapper може отримати доступ через MS-DOS.

32-бітним програмам Windows призначені власні сегменти пам'яті, які можна налаштувати під будь-який потрібний розмір. Програма не может отримати доступ до області пам'яті поза своїм сегментом. Якщо програма виходить з ладу, то інші програми не пошкоджуються. Перед цим програми мали фіксовані, не ексклюзивні сегменти розміром 64 кілобайти. Незважаючи на те, що розмір 64 КБ був серйозним недоліком у DOS та Windows 3.x, відсутність гарантії ексклюзивності було причиною проблем із стабільністю, оскільки програми іноді перезаписували сегменти один одного.

Win32 API реалізований трьома модулями, кожен з яких складається з 16-бітного та 32-бітного компонентів::

Ядро Забезпечує доступ високого рівня до пам'яті та управління процесами, а також доступ до файлової системи. Складається з KRNL386.EXE, KERNEL32.DLL та VWIN32.VXD. Користувач Відповідає за управління та малювання різних компонентів інтерфейсу користувача, таких як вікна, меню та кнопки. Складається з USER.EXE та USER32.DLL. Graphics Device Interface (GDI) Відповідає за малювання графіки незалежним від пристрою способом. Складається з GDI.EXE та GDI32.DLL.

Залежність від MS-DOS

Для кінцевих користувачів MS-DOS є основним компонентом Windows 95. Наприклад, можна запобігти завантаженню графічного інтерфейсу користувача та завантажувати систему в середовищі MS-DOS в реальному режимі. Це можна зробити, вставивши command.com у файл autoexec.bat. Це викликало дискусії серед користувачів та професіоналів щодо того, наскільки Windows 95 є операційною системою або звичайною графічною оболонкою, що працює над MS-DOS.

Коли запускається графічний інтерфейс користувача, менеджер віртуальної машини бере на себе функціонал, пов'язаний з файловою системою та диском. Сам MS-DOS переведений на рівень сумісності для 16-бітних драйверів пристроїв. Це контрастує з більш ранніми версіями Windows, які покладаються на MS-DOS для доступу до файлів та дисків (Windows for Workgroups 3.11 може також працювати в обхід MS-DOS коли 32-бітний доступ до файлів та 32-бітний доступ до диску були увімкнені). Зберігання MS-DOS в пам'яті дозволяє Windows 95 використовувати драйвери пристроїв DOS, коли відповідні драйвери Windows відсутні. Windows 95 здатний використовувати всі 16-бітні драйвери для Windows 3.x.

На відміну від Windows 3.1x, програмам DOS, що працюють у Windows 95, не потрібні драйвери DOS для миші, CD-ROM та звукової карти; натомість використовуються драйвери Windows. HIMEM.SYS все ще потрібен для завантаження Windows 95. Однак EMM386 та інші менеджери пам'яті використовуються лише застарілими програмами DOS. На додачу, налаштування CONFIG.SYS та AUTOEXEC.BAT (на відміну від HIMEM.SYS) не впливають на програми Windows. Ігри DOS, які неможливо виконати в Windows 3.x, можуть працювати в Windows 95 (ігри, як правило, закривають Windows 3.x або викликають інші проблеми). Як і у Windows 3.x, програми DOS, які використовують графічні режими EGA або VGA, працюють у віконному режимі (програми CGA і текстовий режим можуть продовжувати працювати).

При запуску компонент MS-DOS в Windows 95 відповідає на натиснуту клавішу тимчасово призупинивши процес завантаження за замовчуванням та представивши меню параметрів завантаження DOS, дозволяючи користувачеві продовжувати нормально запускати Windows, запускати Windows у безпечному режимі або вийти до консолі DOS. Як і в попередніх версіях MS-DOS, немає 32-бітної підтримки, і драйвери DOS повинні бути завантажені для мишей та іншого обладнання.

Як наслідок, будучи заснованою на DOS, Windows 95 має підтримувати внутрішні структури даних DOS, синхронізовані зі структурами Windows 95. Запускаючи програму, навіть рідну 32-бітну програму Windows, MS-DOS миттєво виконується для створення структури даних відому як Program Segment Prefix. Для MS-DOS навіть можливо вийти за основну область пам'яті, створюючи перепони для запуску програми. Windows 3.x спочатку виділяв фіксовані сегменти основної області пам'яті. Оскільки сегменти були виділені як фіксовані, Windows не могла їх перемістити, що не дозволяло запускати більше програм.

Microsoft частково видалила підтримку для File Control Blocks у Windows 95 OSR2 (OEM Service Relese 2). Функції FCB можуть читати розділи FAT32, але не записувати в них інформацію.

Інтерфейс користувача

Windows 95 представила перероблену оболонку на основі метафори робочого столу; робочий стіл був призначений для зберігання ярликів до програм, файлів і папок, що нагадує Mac OS.

У Windows 3.1 робочий стіл використовувався для відображення піктограм запущених програм. У Windows 95 поточні запущені програми відображалися у вигляді кнопок на панелі завдань у нижній частині екрана. Панель завдань також містила область сповіщень, яка використовується для відображення піктограм фонових програм, регулювання гучності та поточного часу.

Меню «Пуск», яке викликається натисканням кнопки «Пуск» на панелі завдань, було введено як додатковий засіб запуску програм або відкриття документів. Підтримуючи групи програм, які використовував його попередник менеджер програм, він також відображав програми в каскадних підменю.

Попередню програму File Manager було замінено на Провідник Windows.

Користувацький інтерфейс виглядав кардинально по іншому від попередніх версій Windows, але мова його дизайну не мала спеціальної назви, як Metro, Aqua або Material Design. Всередині компанії його називали «the new shell», а потім просто «the shell». Підпроєкт в Microsoft для розробки нової оболонки всередині був відомий як «Stimpy».