Ibm os/2
Первая 32-разрядная версия OS/2 2.0 широко использовала прием, описанный в примере П.1, и представляла собой сочетание 32- и 16-разрядных подсистем. Так, подсистема ввода-вывода была полностью 16-разрядной и, тем самым, обеспечивала полную совместимость со старыми драйверами и другими модулями ядра. Тем не менее, система в полной мере использовала преимущества, предоставляемые новым процессором, такие, как страничная подкачка и режим виртуального 8086 [Минаси/Камарда 1996]. Реализованный в OS/2 2.x эмулятор DOS является одним из крупнейших достижений в сфере разработки виртуальных машин — фирма IBM имеет немалый опыт создания, поддержки и эксплуатации систем виртуальных машин для System/370-390 — и, безусловно, он остается лучшим в мире эмулятором DOS на момент написания книги (в связи с общим снижением интереса к приложениям DOS, вполне возможно, что этот эмулятор останется таковым навсегда).
Иных не стану поминать Они под солнцем хладным зреют Бумаги даже замарать И то, как надо, не умеют. С. Есенин
Система имеет объектно-ориентированный пользовательский интерфейс, основанный на компонентах SOM (System Object Model). Еще одной, менее известной, но не менее важной на взгляд автора, уникальной особенностью IBM OS/2, является возможность установки пользовательской программой собственного обработчика страничных отказов. Данная особенность уникальна — во всяком случае, среди известных автору промышленно используемых ОС, и позволяет реализовать в пользовательском адресном пространстве функции, которые в других ОС могут исполняться только модулями ядра.
Так, свободно распространяемая библиотека ЕМХ использует этот механизм для реализации полного функционального аналога системного вызова fork ОС семейства Unix; известен ряд реализаций отображения файлов в адресное пространство памяти. Развитие системы сопровождалось постепенной заменой 16-разрядных подсистем на 32-разрядные. В версии 4.5 — Warp Server for e-Business — была наконец-то реализована 32-разрядная подсистема ввода-вывода, и это позволило перенести в OS/2 сугубо 32-разрядный код журнальной файловой системы jfs, первоначально разработанной для IBM AIX. В версии 4.0 появился, а в версии 4.5 был включен в стандартную комплектацию стек TCP/IP, совместимый с BSD 4.4, с поддержкой IPSec и фильтрации пакетов[redbooks.ibm.com sg245393]. Первые версии системы отличались большими по тем временам требованиями к ресурсам (для нормальной работы требовалось около 16 Мбайт ОЗУ, по меркам начала 90-х — чрезвычайно много), и поэтому тоже имели успех преимущественно в качестве серверов.Windows NT/2000/XP
Наработки Microsoft no OS/2 New Technology были в 1993 г. выпущены на рынок под названием Windows NT. Версии 3.x и 4.0 этой системы обеспечивали совместимость с 16-разрядными приложениями для OS/2 1.x в отдельной подсистеме, без возможности обращаться из 16-разрядных приложений к 32-разрядным DLL и наоборот. В описываемый период из DEC в Microsoft в полном составе перешла команда разработчиков ядра VMS под управлением Д. Катера. Microsoft широко рекламировал этот факт и утверждал, что Windows NT находится с VMS в гораздо более близком родстве, чем с OS/2 1.
x. Из табл. П.1 видно, что это утверждение не очень-то согласуется с действительностью.Таблица П.1. Сравнение OS/2 1.2, Windows NT и VMS
OS/2 1.x | Windows NT 3.x | VMS | |
Mногозадачность | Вытесняющая | Вытесняющая | Вытесняющая |
Ядро | Монолитное | Монолитное | Монолитное |
Ввод-вывод | Асинхронный | Асинхронный — | Асинхронный |
Защита памяти | Сегментная | Страничная | Страничная |
Трехуровневая | Двухуровневая | Трехуровневая | |
Сборка при загрузке | Динамическая | Динамическая | Статическая |
Подкачка | Задачная | Страничная | Страничная |
Поиск жертвы | — | FIFO | FIFO |
Файловая система | Без транзакций | Журнальная | Журнальная |
Программный RAID | RAID I | RAIDO I 5 | RAIDO 1 |
Длина имени файла | 256 | 256 | 32+16 |
Версии файлов | Нет | Нет | Да |
Форматы файлов | Потоковый | Потоковый | Блочный |
Относительный | |||
Индексно- последовательный | |||
Командный процессор | cmd. exe | cmd.exe | DCL |
Граф, подсистема | РМ | Win32 | X Window |
Ид. пользователя | Вся система | Задача | Задача |
БД учетных записей | Распределенная | Распределенная | Локальная |
Сетевой протокол | NETBIOS/SMB | NETBIOS/SMB | DECNet |
Наиболее важные заимствования из VMS — страничная подкачка и идентификация пользователя на уровне процессов — являлись ответом на насущные требования развития системы и могли быть заимствованы из любой ОС, адекватной времени. В остальном, табл. П.1 показывает, что OS/2 1.x, безусловно, приходится Windows NT гораздо более близкой родней, чем VMS. Наиболее важной заимствованной концепцией была журнальная файловая система NTFS, представляющая собой любопытный гибрид HPFS (основной ФС OS/2) и FCS2 (основной ФС VAX/VMS). Это заимствование следует признать довольно удачным. Гораздо менее удачным было заимствование своеобразной стратегии управления рабочими множествами процессов в ОЗУ, используемой в VMS: разработчики Microsoft устранили из этой стратегии одно из ключевых понятий, квоту размера рабочего множества. В результате получилась система, практически не способная воспользоваться преимуществами страничной подкачки, потому что даже небольшая нехватка оперативной памяти приводит к резкому падению производительности из-за неспособности системы сбалансировать потребности приложений и дискового кэша. Еще одна ключевая для понимания архитектуры Win32 концепция была позаимствована вовсе не из VMS и даже не из OS/2 1. x, а была, скорее всего, введена по настоятельным просьбам разработчиков графических приложений для Apple Macintosh. Речь идет о системном реестре (system registry), централизованной базе данных, в которой все модули системы, стандартные утилиты и прикладные программы хранят все, что считают нужным сохранить. Системный реестр впервые был реализован в Mac OS. Эта система имеет довольно простое ядро и небогатый набор системных настроек, поэтому реестр Mac OS в основном содержит настройки прикладных программ и в такой форме вполне терпим. Напротив, довольно сложная многопользовательская Windows NT, поддерживающая широкий спектр внешних устройств, нуждается в большом объеме конфигурационных данных для самой системы. Характер обращений к разным частям этих данных сильно различается — некоторые, например, нужны только при загрузке системы, а изменению подлежат только при изменении аппаратной конфигурации. Другие же меняются при каждом открытии нового окна пользовательской программой. Относительная ценность этих данных также различается очень резко: искажение некоторых может привести к невозможности загрузить систему или к потере пользователями доступа к ней, некоторые другие можно было бы и не хранить вовсе. В свете этого, идея общей «свалки», в которой содержится все на свете, — начиная от слов, которые произносил пользователь, пытаясь убрать с экрана знаменитую скрепку, и заканчивая БД учетных записей -представляется автору не очень-то здравой мыслью. В Windows NT этот концептуальный недостаток усугубляется недостатками реализации — реестр не имеет адекватных средств резервного копирования и восстановления (при фатальных повреждениях реестра Microsoft рекомендует переустановку системы) и фактически лишен средств самоконтроля и диагностики. Во всяком случае, в версии 4.0 (автор не имел случая проверить это на более поздних версиях системы, но судя по тому, что исправление этой ошибки не анонсировалось, в 2000/ХР ситуация не изменилась) ОС никогда не уменьшала объем реестра, даже после удаления большого количества ключей. Еще одним важным новшеством была поддержка нескольких процессоров — кроме х8б первые версии Windows NT были реализованы для RISC-процессоров MIPS и DEC Alpha, и, существенно позднее, для PowerPC. Большинство RISC-процессоров не имеют многоуровневых режимов доступа, характерных для VAX и 80286Д86, поэтому разработчики Windows NT были вынуждены отказаться от привилегированных разделяемых библиотек (понятие, которое в той или иной форме присутствовало как в OS/2 1.x, так и в VAX/VMS) и перейти к двухуровневой системе привилегий. Разработчики приложений не проявили интереса к альтернативным аппаратным архитектурам, поэтому NT на этих архитектурах не имела большого успеха, и в 1999 г. без большого шума была прекращена поддержка Windows NT для последнего неинтеловского процессора, который к тому времени уже назывался Compaq Alpha [techupdate.zdnet.com]. К тому же, пока NT была малоиспользуемой системой с бедным набором сетевых сервисов, мало кто всерьез интересовался ее взломом. Это привело к усилению давления со стороны управленцев — «вот видите, у соседей стоит — и ничего», поэтому серверы под управлением NT все чаще и чаше подключались к Internet, иногда даже без закрытия каким-либо брандмауэром (надо отметить, что firewall (брандмауэр) в данном случае мало чем может помочь — сайт [www. microsoft.com] закрыт маршрутизатором с фильтрацией пакетов «по самые уши», и то его «роняют» несколько раз в год). Распространение системы привело к тому, что взломщики из спортивного интереса заинтересовались ею всерьез. Первой ласточкой был выпущенный в 1997 г. свободно распространяемый продукт Back Orifice (дословно — «задний проход»), демонстрировавший целый набор способов получения неавторизованного доступа (в том числе и с последующей установкой троянских программ) к системам Win32. Устанавливаемый в качестве троянской программы компонент пакета долгое время был лучшим из доступных инструментов удаленного управления Win32-системами и автор знает немало системных администраторов, которые использовали его в своих сетях [www.sourceforge.net bo2k]. Впрочем, одна ласточка весны не делает, и еще три года пользователи Win32-cHCTCM жили относительно спокойно (если можцо считать спокойной жизнью постоянную борьбу с макровирусами для MS Office, почтовыми вирусами и другими порождениями больной фантазии). За это время в систему добавились новые сетевые сервисы и расширилась номенклатура сервисов, запускаемых при установке ОС по умолчанию — например, в их число попал флагманский серверный продукт, сервер ftp/HTTP и ряд других протоколов, IIS (Internet Information Server). Собственно весна настала в августе 2001 г. с пандемией сетевого червя Code Red, который, как и червь Морриса, использовал несколько каналов распространения, в том числе срывы буфера в сетевых сервисах IIS. Как и червь Морриса, заразив одну из машин домена, Code Red распространялся на другие машины того же домена простым копированием по сети. Дальнейшее развитие событий, впрочем, резко отличалось от последствий атаки червя Морриса: Microsoft довольно быстро выпустила заплаты (patches), исправлявшие часть используемых вирусом ошибок — однако полное количество ошибок, оставшихся в коде системы и сетевых сервисов, от этого почти не изменилось. Атаки червей и поливалентных (использующих несколько каналов распространения) вирусов, которые легко преодолевают корпоративные брандмауэры (firewalls), продолжались на протяжении всего 2001 г. , демонстрируя все новые и новые проблемы в системе безопасности Windows NT/2000/XP. В опубликованном в сентябре 2001 г. докладе аналитическая компания Gartner Group рекомендовала ни при каких обстоятельствах не использовать IIS из-за огромного количества известных и весьма пессимистических прогнозов на количество неизвестных уязвимостей. К моменту написания книги прогнозировать дальнейшее развитие событий не представлялось возможным. Очевидно, что ситуация с безопасностью Windows может только ухудшаться — или, точнее, абсолютная нетерпимость положения дел с безопасностью в Windows может становиться только более и более очевидна все большему и большему кругу людей. Попытки исправить положение законодательными мерами, например, применяя уголовные наказания к разработчикам вирусов или запрещая публикацию сведений о проблемах с безопасностью, вряд ли могут изменить тенденцию. Так, наказание для разработчиков вирусов, хотя и морально оправданно, но вряд ли может быть эффективным, потому что в большинстве случаев создателя практически невозможно идентифицировать, а идентифицировав — весьма сложно доказать его вину по стандартам судопроизводства демократических стран. В свою очередь, законодательный запрет публикации сведений об ошибках, разговоры о котором начались в 2001 г., не только абсолютно не оправдан морально, но и крайне вреден с прагматической точки зрения, хотя бы только потому, что сделает невозможным принятие контрмер администраторами уязвимых систем. Оптимистический сценарий развития событий может состоять в том, что пользователи начнут массовым образом отказываться от применения Windows, или Microsoft пересмотрит свой подход к проектированию, разработке и тестированию программного обеспечения (или в данном случае включающее). Так или иначе, исправление положения потребует значительных вложений в перестройку всей вычислительной инфраструктуры и не может пройти безболезненно. Впрочем, исторический опыт дает автору весьма мало оснований для оптимизма.
Windows 95/98/ME
В первой половине 90-х годов XX столетия практически всем разработчикам и техническим специалистам было очевидно, что MS и DR DOS доживают последние дни: они не удовлетворяли запросам пользователей практически ни по одному из параметров: приложения требовали больших объемов памяти и перехода к 32-разрядной архитектуре, пользователям требовались большая надежность, многозадачность, более развитые сетевые средства. Напротив, преимущества DOS, такие, как небольшая потребность в памяти, становились все менее и менее критичными. Основным препятствием на пути перехода пользователей на другие платформы было требование совместимости с существующими приложениями и драйверами нестандартных внешних устройств для DOS. Наилучшим образом удовлетворяла этому требованию IBM OS/2, в виртуальной машине которой можно было запустить не только практически любое приложение DOS, но и использовать многие модули ядра DOS, в том числе — загружая в разных виртуальных машинах разные версии ДОС и разные наборы драйверов. Однако высокие требования этой системы к ресурсам и ориентированная на корпоративных пользователей схема лицензирования приводили к тому, что система не получила большого распространения на массовом рынке. В 1992-1993 гг. Microsoft занялась разработкой системы, которая должна была заполнить перспективную рыночную нишу «многозадачной ДОС защищенного режима». Подобно марксизму, разрабатываемая ОС имела три источника и три составные части.
1. Windows NT
2. DesqView и другие многозадачные среды для DOS
3. Windows 3.x
От Windows NT новая система получила интерфейс системных вызовов — Win32 API — и формат загружаемого модуля РЕ (Portable Executable — переносимый исполняемый [модуль]). У многозадачных сред разработчики новой ОС позаимствовали идею преобразования DOS в многозадачную среду защищенного режима: эти среды демонстрировали, что помещение ядра DOS в виртуальный 8086 и окружение его семафорами позволяет относительно малой кровью получить как многозадачность, так и совместимость. Такая архитектура была довольно-таки трудоемка в реализации и создавала специфические проблемы (так, DOS не отдавала управления при обращениях к приводу гибких дисков, поэтому работа с дискетами из любой сессии приводила к остановке всех остальных сессий), но не представляла непреодолимых концептуальных сложностей и была в целом работоспособна. Windows 3.x представляла собой пример системы, реализовавшей интерфейс между пользовательскими программами, работающими в защищенном режиме, и ядром DOS, исполняющимся в виртуальном 8086. К 1993-1994 гг. на рынке существовало более десятка других продуктов, предоставляющих аналогичный интерфейс, так называемых расширителей DOS (DOS Extender), среди которых нельзя не упомянуть PharLap DOS Extender, Rational DOS/4G и свободно распространяемый на условиях GPL djgpp. С точки зрения разработчиков новой ОС Windows 3.x представляла наибольший интерес в качестве отправной точки, потому что, в отличие от остальных расширителей DOS, она предоставляла динамическую сборку в момент загрузки и реализовывала также событийно-ориентированную архитектуру, пусть и более примитивную, чем асинхронная очередь сообщений Win32. К тому же, Windows 3.11 имела собственную дисковую подсис- тему, позволявшую работать с жестким диском в обход DOS (так называемый 32-битный доступ к диску). Первым получившим признание результатом работ над новой системой был продукт Win32s — набор DLL для Windows 3. x, позволявший исполнять загрузочные модули формата РЕ, использовавшие подмножество Win32 API. После длинной последовательности публичных бета-версий, многократного переноса сроков и большой шумихи в прессе новая система, получившая название Windows 95, вышла на рынок в 1995 г. Система с самого начала задумывалась как переходная, предназначенная для облегчения перевода пользовательской базы DOS на Windows NT, однако прошло не менее 4—5 лет, прежде чем совместимость с приложениями DOS перестала быть решающим параметром при выборе ОС для настольного компьютера. За это время успело выйти несколько версий «переходной» системы (OSR2, 98, 98SE, Millennium Edition) и даже после выхода ХР Microsoft еще не готова объявить о прекращении поддержки этой линии ОС.
Windows СЕ
Система, предназначенная для кросс-разработки приложений, прошиваемых в ПЗУ, сверхпортативных компьютеров. К моменту написания книги это единственная система из семейства СР/М, поддерживающая процессоры, отличные от х86. Использование ПЗУ позволяет отказаться от целого набора подсистем, обслуживающих виртуальную память, загрузку исполняемых модулей и сборку в момент загрузки. Система предоставляет графический пользовательский интерфейс с асинхронной очередью сообщений, вытесняющую многопоточность и базовый стек TCP/IP. В поставку системы входит среда кросс-разработки (компилятор, эмулятор целевого процессора, удаленный отладчик и интегрированная оболочка), работающая под Windows NT [Boling 2001]. Интерфейс системных вызовов этой ОС в целом похож на Win32 API — тем не менее, складывается впечатление, что основным источником требований было не обеспечение совместимости с приложениями для Win32 вообще, а пожелания разработчиков Mobile Office (пакет, включающий в себя функциональные аналоги некоторых программ из пакета Microsoft Office). Любопытно, что, рекламируя эту систему, Microsoft делает большой упор на то, что она разработана с нуля, т. е. без использования существующего кода Wiii32-cHcreM. На взгляд автора, это является косвенным признанием той репутации, которой качество кода этих систем заслуженно пользуется среди разработчиков и эксплуатационщиков.
27
Harmony OS 2.0 полностью отличается от Android. От запрета Android для Huawei больше пользы, чем вреда
Вчера в Китае состоялась конференция разработчиков Huawei Developer Conference 2020, на которой китайский технологический гигант официально представил операционную систему Hongmeng OS 2.0 или Harmony OS 2.0, как она будет называться за пределами Китая.
После конференции Ван Чэнлу (Wang Chenglu), президент отдела потребительского программного обеспечения Huawei, заявил, что уже сейчас операционная система работает очень хорошо и полностью отличается от Android.
Устройства c Hongmeng можно рассматривать как модули, а не как отдельные терминалы . Например, почему система Windows может подключать принтер и печатать напрямую? Причина в том, что современные принтеры разработаны на основе платформы Windows. То же самое и с ОС Hongmeng OS 2.0, которая рассматривает независимое устройство как модуль, который может быть вызван в любое время по запросу.
Ван Чэнлу
В дистрибутив Hongmeng OS будут регулярно добавлять поддержку новых устройств, а в будущем каждое из них будет периферийным устройством друг для друга. По задумке Huawei, это позволит Hongmeng совершить прорыв в индустрии.
Ван Чэнлу считает, что отключение Huawei от Android определенно принесет больше пользы, чем вреда. По его словам, у Huawei все ещё есть контракт с Google, но после его выполнения обеими сторонами у Hongmeng OS будет больше возможностей.
Это лишь вопрос времени, когда все смартфоны с EMUI 11 будут полностью обновлены до Hongmeng OS 2.0. Huawei уже заменила практически всё внутри Android, включая то, чего даже Google не ожидала. После того, как обе стороны выполнят условия контракта, я считаю, что Hongmeng OS 2.0 подарит пользователям совершенно новые впечатления.
Ван Чэнлу
Компания планирует поддерживать сотни миллионов устройств с Hongmeng по всему миру.
Особенности установки на компьютер двух и более операционных систем: ликбез • Обучение компьютеру
Ваш компьютер или ноутбук совсем не обязательно должен быть заложником одной единственной операционной системы (ОС). Если дисковое пространство позволяет, вы можете иметь на одном компьютере две ОС, а то и более. И это могут быть как различные системы – Windows, Linux, Mac OS, так и их версии, например, Windows ХР, Windows 7, Windows 8.1 или 10. Чаще всего, помимо основной ОС, какую-либо другую ОС устанавливают на свои ПК пользователи-экспериментаторы.
Таким образом основная ОС не подвергается риску, в то время как другая ОС всецело исследуется и подвергается различным экспериментам с настройками и установкой софта. Реже две разные версии одной и той же ОС устанавливаются на компьютеры для обеспечения совместимости программ или оборудования. К примеру, Windows 8/8.1 может не поддерживать некоторые старые игры или же устаревшие модели принтеров, и для их работы нужна среда Windows ХР.
Установка двух и более ОС на один компьютер имеет свои нюансы, не зная о которых, начинающие экспериментаторы могут столкнуться с определёнными трудностями. Об этих нюансах речь и пойдёт ниже.
Куда устанавливается вторая ОС?
Вторую ОС необходимо устанавливать либо на несистемный раздел жёсткого диска, либо вовсе на другой отдельный жёсткий диск, если такой имеется в сборке ПК. Второй ОС, как и первой основной, также нужно своё рабочее пространство, куда будут установлены её каталоги и файлы. Находясь в разных разделах диска или вовсе на разных жёстких дисках, две ОС не будут мешать друг другу при работе.
В принципе, установить две различные версии одной и той же системы — например, Windows 7 и Windows 10 — в один раздел диска можно, но в данном случае, даже опытному пользователю придётся столкнуться с разными сложностями. Необходимо будет создавать виртуальный жёсткий диск, следовательно, в этом вопросе нужно иметь и знания, и навыки. Также нужно уметь работать с командной строкой. Но это хлопотно, потому по этому пути не хотят идти даже опытные системщики. Зачем усложнять задачу, если её решение просто – даже если на вашем жёстком диске не так уж и много свободного места, для экспериментов можно выделить небольшую сумму денег, чтобы прикупить недорогой б/у-шный винчестер.
Если же места на жёстком диске для установки второй ОС у вас предостаточно, не лишним будет позаботиться об отдельном разделе диска для неё, если жёсткий диск разбит только на два раздела – С и D. Последний, как правило, играет роль файлохранилища, являясь несистемным диском, и если на него установить вторую ОС, хранящиеся там файлы исчезнут во время форматирования, если со второй ОС что-то пойдёт не так, и её придётся переустанавливать. Чтобы не подвергать риску данные, лучше провести переразбивку жёсткого диска и добавить новый раздел, позаимствовав несколько гигабайт у существующего несистемного раздела.
При установке второй ОС вам только и останется, что указать мастеру установки тот самый приготовленный для неё раздел диска.
Дополнительные работы по переразбивке диска на разделы
Жёсткий диск компьютера с всего одним лишь разделом — это редкость, но бывает и такое, например, если работу по разбивке диска проводил не профессионал. Разбивка нового жёсткого диска должна предусматривать как минимум два раздела — С и D, системный и несистемный. Более того, последнему — несистемному — выделяется большая часть дискового пространства, поскольку он, как упоминалось, является файлохранилищем, откуда данные, в отличие от системного раздела, никогда не стираются при форматировании во время очередной переустановки ОС.
Диск нужно переразбить на три раздела: два – для функционирования ОС, третий – файлохранилище.
Переразбивка жёсткого диска проводится с помощью специальных программ — например, Acronis Disk Director или Paragon Partition Manager. В случае с жёстким диском, не разбитым на разделы, неразмеченное дисковое пространство можно разбить на разделы и при помощи программ установок некоторых ОС. В частности, функция разбивки неразмеченного пространства предусмотрена программой установки ОС Windows.
Переразбивка диска является не сложным процессом, по крайней мере, указанные выше программы оснащены интуитивно-понятным интерфейсом и содержат подсказки для работы с ними. Здесь скорее дело в хлопотности последствий – так, при переразбивке диска разделы могут быть отформатированы. Так что заранее стоит приготовиться к возможности переустановки основной ОС, а важные данные либо скопировать на съёмный носитель (флешку, SD-карту, внешний жёсткий диск), либо сохранить резервную копию этих данных в файловом интернет-хранилище (Яндекс.Диск, Google Drive, Dropbox и т.п.).
Сколько гигабайт выделить для раздела, на который будет в дальнейшем уставлена другая ОС?
Рекомендуемый объем — 50 Гб. Так, для нормальной работы ресурсоёмких систем (например, Windows 7, 8.1, 10) требуется примерно 20 Гб. И ещё 30 Гб можно выделить для установки софта. Правда, данный момент во многом будут определять ваши конкретные цели и задачи, ради которых и устанавливается вторая ОС.
Первоочерёдность установки разных ОС
То, какая ОС будет установлена в качестве основной, а какая – второй, имеет большое значение. Если, например, на Макинтошах присутствует программная среда BootCamp, позволяющая установку и загрузку сразу и Mac OS, и Windows, то Windows, считая, что РС принадлежат только ей одной, упорно не хочет выдавать загрузчик, позволяющий выбирать, какую именно в данный момент ОС нужно загрузить.
Потому если у вас РС, в качестве основной ОС обязательно должна быть Windows, а, например, ОС Linux – второй. Последняя обустроена собственным меню загрузчика, в котором будут присутствовать на выбор обе системы. В противном случае будет загружаться только одна Windows, в то время как Linux будет просто находиться на компьютере мёртвым грузом, так как попасть в неё без загрузчика с возможностью выбора ОС будет невозможно. И решать эту проблему придётся путём настройки возможности мультизагрузки с помощью специального софта – менеджеров загрузки ОС, например, EasyBCD или GAG. Но если вы впервые ставите вторую ОС на компьютер, куда проще последовать приведённому выше совету и устанавливать сначала Windows, а затем – Linux.
С Mac OS, устанавливаемой не на компьютеры производства компании Apple, а на РС, дела обстоят чуть сложнее – начиная от того, что это попросту незаконно, и заканчивая техническими особенностями типа обязательного условия, что процессор должен быть только производства Intel. Но при желании возможно всё, главное – тщательно изучить этот вопрос. Windows, естественно, не выдаст загрузчик и не предложит вам загрузить установленную Mac OS в качестве альтернативы. Для этого потребуется участие софта, настраивающего возможность мультизагрузки, или дополнительная установка Linux.
Linux более дружелюбна к Mac OS, и в своём загрузчике, наряду с возможностью загрузки основной Windows, покажет и себя, и Mac OS.
Последовательность версий Windows
Если вы хотите видеть на своём компьютере две разные версии Windows, здесь нужно учитывать последовательность самих версий этой ОС. Новую версию Windows – например, 8.1/10 – рекомендуется устанавливать в качестве второй ОС, в то время как основной ОС может быть более старая версия — например, 7. Соответственно, при основной ОС Windows 7 второй ОС могут быть Windows 8.1 или 10. А параллельно с Windows 8.1 на другой раздел диска можно установить только Windows 10.
При таком порядке будет создан загрузчик, который позволит выбрать, какую именно в данный момент версию Windows нужно загрузить. Так, каждая новая версия Windows учитывает факт существования старых версий и распознаёт их, в результате чего перед загрузкой ОС можно и увидеть загрузчик, предлагающий выбор.
Установленная же в качестве второй ОС Windows ХР не сможет распознать версии, созданные позднее её, и загрузчик любой более поздней версии Windows заменит на свой. В этом случае основная ОС – Windows Vista, 7, 8.1 или 10 – также, как и Linux, никуда не денется, просто без окна загрузчика вы в неё не попадёте. Опять же, чтобы не заморачиваться настройкой мультизагрузки с помощью стороннего софта, лучше устанавливать версии Windows в порядке их появления на свет.
Если соблюдено правило установки версий Windows в порядке выхода версий, их выбор можно будет осуществить в окне загрузчика. Если вы не сделаете свой выбор в течение 30 секунд, загрузчик это сделает за вас, и загрузится та ОС, которая установлена последней. Но эти настройки – автоматически загружаемая ОС и интервал времени для раздумий — можно изменить в конфигурации системы. В меню «Пуск» нужно выбрать команду «Выполнить», ввести в её поле значение «msconfig» и нажать Enter. А затем нужные значения выставить во вкладке «Загрузка».
Процесс установки второй ОС
Узнайте: Как установить Windows 7 и Windows 10 на одном компьютере.
Сам процесс установки второй ОС такой же, как и при установке основной – в BIOS необходимо выбрать загрузку с привода или флешки, а затем следовать указаниям программы установки ОС с той единственной разницей, что выбрать нужно не существующий системный раздел диска (как правило, С), а другой, специально подготовленный раздел или жёсткий диск.
Операционная система OS / 2 не умерла… она ушла в подполье
Одна из проблем при создании вещей с использованием новейших технологий состоит в том, что иногда те, которые выглядят так, как будто они будут «следующим большим достижением», оказываются тупиками. Следующее, что вы знаете, — эту горячую новую часть или часть программного обеспечения сложно получить или не поддерживать. Это особенно верно, если вы строите что-то с длительным сроком службы. В качестве примера можно привести систему метро Нью-Йорка. Еще в 1990-х годах транзитный орган решил внедрить новую операционную систему IBM OS / 2.Почему бы и нет? Это было надежно, и мы всегда говорили: «Никого никогда не увольняли за покупку IBM».
Возникла одна проблема. OS / 2 была полностью вытеснена другими операционными системами, особенно Windows, и, в основном, исчезла из поля зрения общественности. В сообщении [Эндрю Игана] рассказывается о том, как переход на карточную систему вытеснил OS / 2 в подполье по всему Большому Яблоку, и это интересное чтение.
Выбор OS / 2 сегодня может показаться странным. Однако вы должны помнить об операционной системе того времени.Unix по большей части не была очень коммерческой, и коммерческие версии, такие как Xenix и SCO, часто были обременены странными и меняющимися условиями лицензирования. MSDOS вряд ли подходила для какой-либо надежной системы, с лоскутным одеялом из хаков для увеличения памяти и многозадачностью, включая ранние версии Windows, которые были не более чем оболочкой над MSDOS.
Мы могли бы предложить QNX, поскольку обе операционные системы были надежными и использовали архитектуру микроядра, которая имела много преимуществ, особенно при борьбе с аппаратными ограничениями.
Похоже, OS / 2 — это не просто метро. Некоторые старые банкоматы все еще используют его, и, вероятно, есть и другие недостатки. В 2006 году IBM прекратила выпуск этой операционной системы и продала поддержку OS / 2 компании Serenity Systems, а затем приобретена компанией Arca Noae.
Хотя OS / 2 не пользуется такой же любовью к ретро-компьютерам, как некоторые другие операционные системы, на самом деле она опередила свое время. Его неудача была связана не столько с технологиями, сколько с бизнес-решениями и рыночными условиями дня.
Если вы хотите взглянуть на современную эмуляцию OS / 2, она действительно существует. Вы ошибаетесь, если думаете, что OS / 2 — самая старая технология в метро.
Программное обеспечение OS / 2 — Ресурсы OS / 2
Интернет | Java | Производительность | Графика | Утилиты | Игры | Источники | Независимые поставщики программного обеспечения
Интернет и связь
Браузеры
Электронная почта
- Innoval PostRoad Mailer (родная для OS / 2). Программное обеспечение Innoval OS / 2 было прекращено, но их почтовые и веб-утилиты доступны бесплатно.Для разблокировки PostRoad Mailer 3 вам понадобится код лицензии «31571728», указанный там.
- PMMail / 2 (PMMail для OS / 2). VOICE приобрел исходный код и все права на PMMail / 2. Вы должны быть участником VOICE, чтобы получить регистрационный код.
- MR / 2 ICE — Internet Cruiser Edition для OS / 2.
- Hobbes содержит список почтовых программ OS / 2.
Другое
- InJoy Firewall — это полноценная система безопасности интернет-шлюза и межсетевого экрана в одном.
- Hilgraeve KopyKat, HyperACCESS Pro для OS / 2 с HyperHost и HyperACCESS / 5. (Продукты OS / 2 доступны по запросу. Поддержка этих продуктов не предоставляется.)
Вернуться к началу
Приложения Java
Java встроена в OS / 2. OS / 2 Warp 4 была первой коммерческой операционной системой, которая изначально включала Java, то есть OS / 2 не требовала браузера или другой программы для взаимодействия между программой Java и операционной системой.
Вернуться к началу
Производительность и офисные приложения
Adobe Reader для OS / 2
Для загрузки некоторых сведений, особенно для eComStation, требуется наличие установленного Adobe Reader, и они отмечены значком (PDF).
- Adobe® Reader® 3 для OS / 2: найдите aro2e30.exe на Hobbes.
- Adobe® Reader® 3 для OS / 2 больше не доступен на сайте Adobe.
Вернуться к началу
Графика
- PMView 2000 — отличный графический браузер и конвертер изображений. Стоимость составляет 49,95 долларов США, включая все обновления версии 2.
- PMJPEG (условно-бесплатная — 20 долларов).
- Hobbes содержит устаревший список графических приложений и программ поддержки OS / 2.Возможно, более интересными являются те, которые сейчас переносятся на OS / 2.
Вернуться к началу
Утилиты
- У Денниса Барейса есть куча бесплатных утилит, которые включают компиляторы REXX, инструменты архивирования, препроцессоры, исправления и многое другое, чтобы перечислять здесь.
- Travor Hemsley’s Time Tracker позволяет отслеживать свое время в различных проектах или по клиентам. Это электронная почта — бесплатно для индивидуального использования (не для корпоративного использования). Вам необходимо отправить регистрационный код по электронной почте в течение 30 дней (см. Файл readme.txt в загруженном zip-файле).
- Power Quest Partition Magic (V.3 включает поддержку OS / 2, DOS, Windows 3.1x, Windows 95 и Windows NT) и DriveCopy . Вам необходимо использовать раздел DOS или загрузиться с дискет, чтобы использовать более свежие версии. Partition Magic теперь принадлежит Symantec.
- DragText v3.3 базовые функции — это бесплатно, , но расширенные функции — это условно-бесплатное программное обеспечение и доступны только в течение 6 недель. Регистрируя DragText, вы поощряете автора улучшить эту программу.
Вернуться к началу
Игры
Вернуться к началу
Портированные приложения
- Страница обращения Грега Бойко по OS / 2 дает вам возможность запросить собственные версии OS / 2 текущих приложений Windows 95, которыми вы хотели бы владеть. Если вы не можете найти программу OS / 2, которая бы делала то, что вы хотите, подпишите петицию Грега и отправьте электронное письмо поставщику с запросом версии OS / 2. Если достаточное количество из нас запросит и купит портированный продукт с текущими функциями, другие поставщики ответят тем же.
- Проект XFree86 включает бесплатную и оптимизированную реализацию X11R6 для OS / 2 — всю среду управления окнами, которая обычно работает в средах Unix и Linux. Эта страница ссылается на версию 4.3.0, но не имеет прямого отношения к OS / 2. Основные обновления поддержки OS / 2 указаны в разделе обновлений поддержки ОС.
- Odin — это 32-битная библиотека API Windows, которая сравнима с WINE в Linux. Он позволяет запускать 32-битные программы Windows на OS / 2 и eComStation. PE2LX преобразует двоичные файлы (файлы EXE и DLL), но преобразование на лету (через PE.EXE-загрузчик) намного мощнее.
- WarpIN призван стать новым установщиком общего назначения для OS / 2, чтобы преодолеть нынешний недостаток гибкого и удобного установщика. Альтернативный сайт WarpIN.
Вернуться к началу
Прочие источники
Поставщики OS / 2
Архивы условно и бесплатного программного обеспечения
enum | osKernelState_t { osKernelInactive = 0, osKernelReady = 1, osKernelRunning = 2, osKernelLocked = 3, osKernelSuspended = 4, osKernelError = -1, osKernelReserved = 0x7FFFFFFFU } | |
Состояние ядра.Подробнее … | ||
enum | osThreadState_t { osThreadInactive = 0, osThreadReady = 1, osThreadRunning = 2, osThreadBlocked = 3, osThreadTerminated = 4, osThreadError = -1, osThreadReserved = 0x7FFFFFFF } | |
Состояние резьбы. Подробнее … | ||
enum | osPriority_t { osPriorityNone = 0, osPriorityIdle = 1, osPriorityLow = 8, osPriorityLow1 = 8 + 1, osPriorityLow2 = 8 + 2, osPriorityLow3 = 8 + 3, osPriorityLow4 = 8 + 4, osPriorityLow5 = 8 + 5, osPriorityLow6 = 8 + 6, osPriorityLow7 = 8 + 7, osPriorityBelowNormal = 16, osPriorityBelowNormal1 = 16 + 1, osPriorityBelowNormal2 = 16 + 2, osPriorityBelowNormal3 = 16 + 3, osPriorityBelowNormal4 = 16 + 4, osPriorityBelowNormal5 = 16 + 5, osPriorityBelowNormal6 = 16 + 6, osPriorityBelowNormal7 = 16 + 7, osPriorityNormal = 24, osPriorityNormal1 = 24 + 1, osPriorityNormal2 = 24 + 2, osPriorityNormal3 = 24 + 3, osPriorityNormal4 = 24 + 4, osPriorityNormal5 = 24 + 5, osPriorityNormal6 = 24 + 6, osPriorityNormal7 = 24 + 7, osPriorityAboveNormal = 32, osPriorityAboveNormal1 = 32 + 1, osPriorityAboveNormal2 = 32 + 2, osPriorityAboveNormal3 = 32 + 3, osPriorityAboveNormal4 = 32 + 4, osPriorityAboveNormal5 = 32 + 5, osPriorityAboveNormal6 = 32 + 6, osPriorityAboveNormal7 = 32 + 7, osPriorityHigh = 40, osPriorityHigh2 = 40 + 1, osPriorityHigh3 = 40 + 2, osPriorityHigh4 = 40 + 3, osPriorityHigh5 = 40 + 4, osPriorityHigh5 = 40 + 5, osPriorityHigh6 = 40 + 6, osPriorityHigh7 = 40 + 7, osPriorityRealtime = 48, osPriorityRealtime1 = 48 + 1, osPriorityRealtime2 = 48 + 2, osPriorityRealtime3 = 48 + 3, osPriorityRealtime4 = 48 + 4, osPriorityRealtime5 = 48 + 5, osPriorityRealtime6 = 48 + 6, osPriorityRealtime7 = 48 + 7, osPriorityISR = 56, osPriorityError = -1, osPriorityReserved = 0x7FFFFFFF } | |
Значения приоритета.Подробнее … | ||
enum | osTimerType_t { osTimerOnce = 0, osTimerPeriodic = 1 } | |
Тип таймера. Подробнее … | ||
enum | osStatus_t { osOK = 0, osError = -1, osErrorTimeout = -2, osErrorResource = -3, osErrorParameter = -4, osErrorNoMemory = -5, osErrorISR = -6, osStatusReserved = 0x7FFFFFFF } | |
Значения кода состояния, возвращаемые функциями CMSIS-RTOS.Подробнее … | ||
osStatus_t | osKernelInitialize (void) | |
Инициализировать ядро RTOS. Подробнее … | ||
osStatus_t | osKernelGetInfo (osVersion_t * version, char * id_buf, uint32_t id_size) | |
Информация о ядре RTOS. Подробнее … | ||
osKernelState_t | osKernelGetState (void) | |
Получить текущее состояние ядра RTOS.Подробнее … | ||
osStatus_t | osKernelStart (void) | |
Запустите планировщик ядра RTOS. Подробнее … | ||
int32_t | osKernelLock (void) | |
Заблокировать планировщик ядра RTOS. Подробнее … | ||
int32_t | osKernelUnlock (void) | |
Разблокировать планировщик ядра RTOS.Подробнее … | ||
int32_t | osKernelRestoreLock (int32_t lock) | |
Восстановить состояние блокировки планировщика ядра RTOS. Подробнее … | ||
uint32_t | osKernelSuspend (void) | |
Приостановить планировщик ядра RTOS. Подробнее … | ||
void | osKernelResume (uint32_t sleep_ticks) | |
Возобновить планировщик ядра RTOS.Подробнее … | ||
uint32_t | osKernelGetTickCount (void) | |
Получите количество тиков ядра RTOS. Подробнее … | ||
uint32_t | osKernelGetTickFreq (void) | |
Получение тактовой частоты ядра RTOS. Подробнее … | ||
uint32_t | osKernelGetSysTimerCount (void) | |
Получить счетчик системного таймера ядра RTOS.Подробнее … | ||
uint32_t | osKernelGetSysTimerFreq (void) | |
Получить частоту системного таймера ядра RTOS. Подробнее … | ||
osThreadId_t | osThreadNew (osThreadFunc_t func, аргумент void *, const osThreadAttr_t * attr) | |
для создания активного потока. Подробнее … | ||
const char * | osThreadGetName (osThreadId_t thread_id) | |
Получить имя потока.Подробнее … | ||
osThreadId_t | osThreadGetId (void) | |
Возвращает идентификатор текущего запущенного потока. Подробнее … | ||
osThreadState_t | osThreadGetState (osThreadId_t thread_id) | |
Получить текущее состояние потока в потоке. Подробнее … | ||
uint32_t | osThreadGetStackSize (osThreadId_t thread_id) | |
Получить размер стека потока.Подробнее … | ||
uint32_t | osThreadGetStackSpace (osThreadId_t thread_id) | |
Получить доступное пространство стека потока на основе записи водяного знака стека во время выполнения. Подробнее … | ||
osStatus_t | osThreadSetPriority (osThreadId_t thread_id, osPriority_t priority) | |
Изменить приоритет потока.Подробнее … | ||
osPriority_t | osThreadGetPriority (osThreadId_t thread_id) | |
Получить текущий приоритет потока. Подробнее … | ||
osStatus_t | osThreadYield (void) | |
Передать управление следующему потоку, который находится в состоянии ГОТОВ . Подробнее … | ||
osStatus_t | osThreadSuspend (osThreadId_t thread_id) | |
Приостановить выполнение потока.Подробнее … | ||
osStatus_t | osThreadResume (osThreadId_t thread_id) | |
Возобновить выполнение потока. Подробнее … | ||
osStatus_t | osThreadDetach (osThreadId_t thread_id) | |
Отсоединить поток (хранилище потоков может быть восстановлено после завершения потока). Подробнее … | ||
osStatus_t | osThreadJoin (osThreadId_t thread_id) | |
Дождитесь завершения указанного потока.Подробнее … | ||
__NO_RETURN void | osThreadExit (void) | |
Завершить выполнение текущего потока. Подробнее … | ||
osStatus_t | osThreadTerminate (osThreadId_t thread_id) | |
Завершить выполнение потока. Подробнее … | ||
uint32_t | osThreadGetCount (void) | |
Получить количество активных потоков.Подробнее … | ||
uint32_t | osThreadEnumerate (osThreadId_t * thread_array, uint32_t array_items) | |
Перечислить активные потоки. Подробнее … | ||
uint32_t | osThreadFlagsSet (osThreadId_t thread_id, uint32_t flags) | |
Установите указанные флаги потока для потока. Подробнее … | ||
uint32_t | osThreadFlagsClear (uint32_t flags) | |
Очистить указанные флаги потока для текущего запущенного потока.Подробнее … | ||
uint32_t | osThreadFlagsGet (void) | |
Получить текущие флаги текущего запущенного потока. Подробнее … | ||
uint32_t | osThreadFlagsWait (флаги uint32_t, параметры uint32_t, тайм-аут uint32_t) | |
Поток станет текущим сигнализированным.Подробнее … | ||
osStatus_t | osDelay (uint32_t ticks) | |
Wait for Timeout (Time Delay). Подробнее … | ||
osStatus_t | osDelayUntil (uint32_t ticks) | |
Подождите до указанного времени. Подробнее … | ||
osTimerId_t | osTimerNew (osTimerFunc_t func, osTimerType_t type, void * аргумент, const osTimerAttr_t * attr | Создать таймерПодробнее … |
const char * | osTimerGetName (osTimerId_t timer_id) | |
Получить имя таймера. Подробнее … | ||
osStatus_t | osTimerStart (osTimerId_t timer_id, uint32_t ticks) | |
Запуск или перезапуск таймера. Подробнее … | ||
osStatus_t | osTimerStop (osTimerId_t timer_id) | |
Остановить таймер.Подробнее … | ||
uint32_t | osTimerIsRunning (osTimerId_t timer_id) | |
Проверьте, работает ли таймер. Подробнее … | ||
osStatus_t | osTimerDelete (osTimerId_t timer_id) | |
Удалить таймер. Подробнее … | ||
osEventFlagsId_t | osEventFlagsNew (const osEventFlagsAttr_t * attr) | |
Создать и инициализировать объект событий.Подробнее … | ||
const char * | osEventFlagsGetName (osEventFlagsId_t ef_id) | |
Получить имя объекта «Флаги событий». Подробнее … | ||
uint32_t | osEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags) | |
Установите указанные флаги событий. Подробнее … | ||
uint32_t | osEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags) | |
Очистить указанные флаги событий.Подробнее … | ||
uint32_t | osEventFlagsGet (osEventFlagsId_t ef_id) | |
Получить текущие флаги событий. Подробнее … | ||
uint32_t | osEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout) | . Подробнее … |
osStatus_t | osEventFlagsDelete (osEventFlagsId_t ef_id) | |
Удалить объект Event Flags.Подробнее … | ||
osMutexId_t | osMutexNew (const osMutexAttr_t * attr) | |
Создайте и инициализируйте объект Mutex. Подробнее … | ||
const char * | osMutexGetName (osMutexId_t mutex_id) | |
Получить имя объекта Mutex. Подробнее … | ||
osStatus_t | osMutexAcquire (osMutexId_t mutex_id, uint32_t timeout) | |
Acquire a MutexAcquire.Подробнее … | ||
osStatus_t | osMutexRelease (osMutexId_t mutex_id) | |
Выпустите мьютекс, который был приобретен osMutexAcquire. Подробнее … | ||
osThreadId_t | osMutexGetOwner (osMutexId_t mutex_id) | |
Get Thread, которому принадлежит объект Mutex. Подробнее … | ||
osStatus_t | osMutexDelete (osMutexId_t mutex_id) | |
Удалить объект Mutex.Подробнее … | ||
osSemaphoreId_t | osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t * attr) | |