На чем основана mac os
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Mac OS
Mac OS — это сокращение от Macintosh Operating System, то есть операционная система для компьютеров Apple Macintosh. Согласно легенде, название Macintosh произошло от любимого сорта яблок Джефа Раскина, тогда ведущего разработчика Apple (на самом деле они назывались McIntosh, но эта торговая марка уже была занята).
Содержание
История
История версий
System 1.0 (1984)
System 2.0, 4.0, 5.0, 6.0 (1985-1988)
В этот период разработчики добавили дополнительные возможности, настройки и стандартные приложения, также появилась иерархическая файловая система. Особое внимание создатели операционной системы уделяли ее адаптации под новые комплектующие и устройства. В частности, разработчики позаботились о поддержке слотов расширения, периферийных устройств, новых процессоров и более емких накопителей. Отметим, что полноценная панель многозадачности появилась только в версии System 5.
System 3.0
Графический интерфейс в версии Mac OS System 3.0
System 7.0 – 7.6 (1991-1996)
Первое масштабное обновление ОС получила только через семь лет существования. Обновление привело к цветному интерфейсу, хотя многие элементы по-прежнему оставались серыми, но некоторые из них были цветными. Разработчики значительно усовершенствовали режим многозадачности. В последующих обновлениях Apple устраняла ошибки, добавляла поддержку новых компонентов, реализовывала новые программы, как собственные, так и от сторонних разработчиков программного обеспечения.
System 8 (1997)
Данная редакция была выпущена летом 1997 года после того, как Стив Джобс вновь присоединился к Apple. Изначально предполагалось, что новая версия продолжит традицию и выйдет под нумерацией 7.7, однако Джобс принял иное решение. В то время пользователи могли устанавливать System 7 на компьютеры других производителей. Apple решила прекратить подобную практику и перестала выпускать System 7. Именно с тех пор «яблочная» ОС устанавливается исключительно на устройства Apple. За первые две недели после выхода System 8, компания продала 1,2 млн копий, а в последующие шесть месяцев реализовала еще три миллиона. Примечательно, что System 8 претерпела лишь немногочисленные изменения. Например, компания добавила больше цветов и оттенков в элементы интерфейса и снабдила ОС новыми темами оформления и панелью управления.
Mac OS 9 (1999)
23 октября 1999 года купертиновцы выпустили версию Mac OS 9, ставшую последним обновлением классических Mac OS. Пользователи данной редакции получили возможность хранить свою информацию и устанавливать системные настройки. В числе нововведений также следует отметить появление шифрования данных по технологии Keychain, возможность работы с удаленными серверами и усовершенствованную поддержку USB-протокола. 5 декабря 2001 года состоялся релиз последнего обновления Mac OS 9.2.2.
Mac OS X 10.0 Cheetah (2000)
Особенности и преимущества
Плюсы
Если сравнивать Mac OS с основным конкурентом ОС Windows от Microsoft, то можно выделить несколько основных отличий.
Например, интерфейс системы Mac OS X тоже имеет существенные отличия от Windows. Если в Windows каждой программе обычно соответствует одно окно с открывающимися в нем вкладками и панелями инструментов, то в Мас OS используются «плавающие» окна и панели, не привязанные к общему окну, а располагающиеся на рабочем столе.
Недостатки
Есть у Mac OS X и определенные недостатки, которые, в том числе, связаны и с достоинствами данной операционной системы.
Характеристики
Пользовательский интерфейс Mac состоит из анимированных панелей, включающих в себя иконки и значки работающих приложений и папок с документами. Кнопки Пуск здесь нет. При наведении курсора на нижний край дисплея плавно выплывает ряд кнопок и так же плавно скрывается, когда курсор отводится в сторону. В широком ранге можно кустомизировать наличие значков приложений и их привязку к разным сторонам экрана.Прежде всего, бросается в глаза ювелирная отполированность всего, что находится на экране и заметно более высокая скорость реагирования, чем на Windows. Многие пользователи Windows знакомы с Rocket Dock – это и есть подражание маковскому интерфейсу.Еще одно отличие – главная панель меню приложения всегда прикреплена к верхней части дисплея. Довольно необычно, но вскоре понимаешь, насколько это удобно.
Шрифты на экране Mac выглядят в точности так, как они и будут напечатаны на принтере. На первый взгляд это кажется несколько непривычно, но привыкаешь быстро. По этой типографской точности визуализации шрифтов, Mac отлично подходит для работы над задачами полиграфии.
В Mac OS на системном уровне решена задача запуска одновременно нескольких разных рабочих столов. Переключение горячими клавишами, ничего не глючит и не конфликтует. [Источник 4]
Заключение
ОС Mac OS устанавливался только на компьютеры Macintosh компании Apple, что является принципиальным решением ее руководства. Это не значит, что Mac OS не совместима с компьютерами других производителей и не может быть на них установлена. Установить систему конечно можно, но на данный момент это считается не законным. Компьютеры Macintosh имеют небольшой модельный ряд и не могут похвастаться разнообразием, к тому же они стоят в несколько раз дороже обычных персональных ЭВМ, поэтому число пользователей Macintosh сравнительно мало относительно общего числа компьютерных пользователей во всем мире. В 2000-х Mac OS была переименована в Mac OS X, а затем в macOS.
Ядро macOS, есть ли червячки в этом яблоке?
В самом начале этого года Apple выложили в открытый доступ исходный код системных компонентов macOS 11.0 – Big Sur, включая XNU – ядро операционной системы macOS. Пару лет назад исходный код ядра уже проверялся PVS-Studio в связи с выходом анализатора для macOS. Прошло достаточно много времени, и вышел новый релиз исходного кода ядра. Почему бы и не провести повторную проверку.
Что это за проект, Apple и open-source?
XNU – X is Not Unix – используется и разрабатывается Apple в качестве ядра операционных систем OS X. Исходные коды этого ядра 20 лет назад были опубликованы под лицензией APSL (Apple Public Source License) вместе с OC Darwin. Раньше Darwin можно было даже установить в качестве полноценной операционной системы, однако теперь это стало невозможно. Причиной публикации исходного кода является тот факт, что он во многом основан на других open-source проектах.
Исходные коды компонентов можно найти тут. Для проверки я использовала зеркало проекта на GitHub.
Предыдущая проверка
Как я уже упомянула, этот проект ранее проверялся нами с помощью PVS-Studio. С предыдущими результатами можно познакомиться в статье: «Релиз PVS-Studio для macOS: 64 weaknesses в Apple XNU Kernel». После публикации мой коллега Святослав также отправил статью разработчикам на почту, но ответа не получил. Так что я предполагаю, что наша проверка никак не связана с исправлениями, которые мы дальше рассмотрим. Разработчикам пришлось искать их другим путём. А могли бы просто взять и запустить PVS-Studio :). Сейчас, после публикации статей, мы в основном пишем об этом в GitHub репозиторий проекта.
Мне стало интересно, были ли исправлены ошибки, описанные в предыдущей статье, или всё так и осталось. Большинство из найденных ошибок действительно были исправлены. Это показывает, что отобранные предупреждения анализатора оказались верными. Хотя для написания статьи с отчётом работал человек, не участвующий в разработке XNU, то есть близко не знакомый с этим исходным кодом.
Я приведу здесь несколько примеров исправлений. Но, чтобы не раздувать объём статьи, не буду полностью приводить объяснение ошибок. Если из исправления будет неясно, в чём была проблема, то вы всегда можете обратиться к первой статье по проверке этого проекта. Я не буду разбирать все исправленные фрагменты, большинство из фрагментов всё-таки было поправлено. А фрагментов в предыдущей статье было ни много ни мало 64!
Перейдём к рассмотрению исправлений примеров из прошлой статьи.
Фрагмент N1, в котором член класса сравнивался сам с собой:
Был исправлен следующим образом:
Где макрос, из которого получена переменная orglen, выглядит следующим образом:
Выходит, что анализатор оказался прав: сравнение было некорректным и должно было проводиться с переменной orglen, которая даже присутствовала в коде до исправления.
Еще один пример исправления, который я хочу привести здесь, – фрагмент N5, где знак равно всё-таки был исправлен на проверку на равенство.
Накосячить в условии assertf – одно, но ещё и перезаписать переменную для отладочной версии – такое точно стоит поправить.
Фрагменты 6 и 7 были исправлены одинаково. Оказалось, что во вложенной проверке перепутали значение перечислителя для сравнения. Вместо PBUF_TYPE_MBUF во внутренней проверке должен быть элемент PBUF_TYPE_MEMORY в обоих случаях.
В случае фрагментов N8, 9, 10 исправление было таким:
На это исправление я обратила внимание, так как серьёзная часть коммита в целом (обновление репозитория до xnu-4903.270.47 от 11 января) содержит помимо прочего много правок код-стайла. Это может указывать на то, что для данной версии кодовая база была подчищена с помощью разных инструментов качества кода. Что сделает эту проверку PVS-Studio более интересной. Ведь видно, что качество кодовой базы уже было улучшено другими инструментами.
Что касается фрагментов 11, 12, 13, 14 – был исправлен только фрагмент 11:
Остальные остались прежними. Похоже, кто-то невнимательно прочитал наш отчёт 😉 (или отчёт анализатора, использованный для улучшения качества кода в этом коммите). Приведу здесь код, на который было выдано одно из предупреждений, чтобы не было сомнений в аналогичности ошибки:
Предупреждение PVS-Studio: V612 An unconditional ‘return’ within a loop. kern_credential.c 951
Я привела код почти целиком, чтобы можно было сформировать общее представление о том, что происходит в этой функции. В случае отмеченного цикла при выполнении условия входа в него будет совершён один проход по телу цикла, завершающийся возвращением error. Видимо, подразумевалось, что если выполняется условие (workp = TAILQ_FIRST(. )) == NULL, то нужно найти причину ошибки и завершить функцию возвращением информации об ошибке. Однако по какой-то причине вместо if был написан while, как и во фрагменте из предыдущей статьи. Строчка error = msleep0(. ) выглядит в коде таким образом:
Здесь последним аргументом передаётся указатель на функцию kauth_resolver_getwork_continue. В теле этой функции есть условие, аналогичное условию цикла, на который нам указал анализатор. Но в нём уже корректно используется if, а не while.
В принципе этот код работает немного сложнее, чем я описала. В нём присутствует рекурсия (в методе kauth_resolver_getwork_continue), и, как я поняла, он нацелен на нахождение потоков, которые можно перезагрузить. Но я не стала вдаваться в подробности, так как while всё равно лишний. Возможно, он остался здесь с того времени, когда исходный код выполнял ту же задачу, но без использования рекурсии.
Это примеры из начала статьи. Проскочим в середину и возьмём фрагмент N40. В нём одному и тому же элементу дважды присваивается одно значение:
Предупреждение PVS-Studio: V519 CWE-563 The ‘wrap.Seal_Alg[0]’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 2070, 2071. gss_krb5_mech.c 2071
Эта ошибка, конечно же, тоже была поправлена:
Ну и ближе к концу статьи, фрагмент 62 был исправлен так, как и было предложено в предыдущей статье. Причём это было единственной правкой в том файле.
Фрагменты 63 и 64 также были исправлены, но там код был изменён капитально. Поэтому понять, какое исправление было именно для рассмотренного предупреждения, сложно.
Новые находки
После этого долгого вступления перейду к ошибкам, которые привлекли моё внимание при последней проверке исходного кода XNU статическим анализатором PVS-Studio. Скажу честно, мне тяжело далась работа с отчётом, так как проект имеет сложный код и у меня нет опыта работы с подобной кодовой базой. Но предупреждения PVS-Studio достаточно подробны и имеют ссылку на документацию с примерами правильного и неправильного кода и описанием возможной проблемы, что очень меня выручило.
К этой проверке cloc насчитал в проекте 1346 *.c файлов, 1822 С/C++ хэдера и 225 *.cpp файлов.
Ну и перейдём к разбору интересных находок.
Фрагмент N1
Предупреждение PVS-Studio: V1064 The ‘gPEClockFrequencyInfo.bus_clock_rate_hz’ operand of integer division is less than the ‘gPEClockFrequencyInfo.dec_clock_rate_hz’ one. The result will always be zero. pe_identify_machine.c 72
Все используемые здесь поля имеют целочисленный тип:
Через промежуточные присвоения полю gPEClockFrequencyInfo.bus_clock_rate_hz, являющемуся делимым, присваивается значение 100000000, а полю-делителю gPEClockFrequencyInfo.dec_clock_rate_hz присваивается значение 1000000000. Делитель в этом случае в десять раз больше делимого. Так как все поля здесь являются целочисленными, поле gPEClockFrequencyInfo.bus_to_dec_rate_den окажется равным 0.
Судя по наименованию результирующего поля bus_to_dec_rate_den, делитель и делимое были перепутаны местами. Я допускаю возможность, что код был написан с расчётом на то, что исходные значения изменятся и результат уже не будет равен 0. Но этот код всё равно кажется мне очень подозрительным.
Фрагмент N2
Предупреждение PVS-Studio: V614 Uninitialized variable ‘best’ used. sdt.c 572
Насколько я поняла, этот метод ищет название некоей функции. В алгоритме используется переменная best, возможно, это положение наилучшего кандидата на результат. Однако изначально эта переменная только объявляется без инициализации. Следующее же использование сверяет значение некоего элемента с переменной best, которая будет неинициализированной на тот момент. Еще страннее, что она инициализируется только внутри условия, в котором используется её же значение.
Неинициализированные переменные могут приводить к непредсказуемым результатам. И, хотя эта ошибка может показаться достаточно банальной, она всё ещё часто встречается при проверках разных проектов с помощью PVS-Studio. Например, совсем недавно мой коллега Андрей описывал интересный случай такой ошибки.
Фрагмент N3
Почему же третья проверка bp->nb_dirtyoff >= bp->nb_dirtyend будет всегда false?
Всё просто. Из условий выходит, что nb_dirtyoff меньше, чем end, а nb_dirtyend равно end. В итоге nb_dirtyend точно больше, чем nb_dirtyoff. Присвоение bp->nb_dirtyoff = bp->nb_dirtyend = 0 никогда не будет выполнено.
В итоге вот такой участок кода:
Можно упростить хотя бы до такого:
Но только если в настоящий момент этот алгоритм работает корректно.
Второе предупреждение указывает на четвёртый if, вложенный в первый.
Здесь анализатор выдаёт предупреждение на основании того, что присвоение нуля никогда не будет выполнено. В итоге во внешнем условии уже была проверка bp->nb_dirtyoff t_rawq.c_cc + tp->t_canq.c_cc’ statement is a part of the condition. Perhaps, this statement should have been compared with something else. tty.c 568
Аналогичный случай. Тут повыше в коде снова есть проверка, которая не просто использует сумму, а сравнивает результат с другой переменной:
В упрощённом коде условие, на которое указал анализатор, выглядит заметно. Но в оригинале оно было вложено в несколько if. Так что при код-ревью такое можно и пропустить, а анализатор не пропустит 😉
Фрагмент N7
Предупреждение PVS-Studio: V1028 Possible overflow. Consider casting operands of the ‘amount + used’ operator to the ‘size_t’ type, not the result. kpi_mbuf.c
Снова ошибка в условии, но уже совсем другого рода. Вместо приведения к size_t операндов сложения, чтобы результат точно поместился в числовой тип, к size_t приводится результат сложения. Если в итоге сложения возникнет переполнение, то с результатом mbuf_maxlen(m) будет сравниваться бессмысленное значение, приведённое к size_t. Раз программист всё-таки хотел защититься от переполнения, то стоит его сделать правильно:
Таких срабатываний было несколько, стоит обратить на этот момент внимание.
Фрагмент N8
Этот код, на мой взгляд, является крайне сложночитаемым. Возможно, условие, на которое указал анализатор, стоит переписать в более простом виде:
Этот код выглядит менее эффективным, но точно является более понятным. Для быстрой проверки равнозначности эффективности этого кода можно зайти на Godbolt (Compiler Explorer), где, кстати, можно тестировать работу диагностик PVS-Studio. Анализатор легко найти среди инструментов этого сервиса.
Если не включать оптимизации, то ассемблерный код получится на пару строк больше. А вот с оптимизациями разницы уже нет никакой. Так что писать тут хитрый код нет смысла, компилятор всё сам сделает, как надо.
Но, если обратить внимание на тело этого if, новое значение n в нём не используется. То есть вполне возможно, что никакое присвоение здесь и не нужно. Тогда можно обойтись таким кодом:
В проекте эта диагностика работала не лучшим образом, так как в коде постоянно над телом условия или цикла инициализировались сторонние переменные с именами, похожими на используемые в условии. Поэтому на этот раз диагностика выдала несколько явно ложных предупреждений. Но рассматриваемое нами срабатывание всё же показалось мне подозрительным, так как проверяемое поле tbr_rate не использовалось в теле условия и было инициализировано на 35 строк выше этой проверки. А вот поле tbr_last, инициализированное прямо перед этой проверкой, больше нигде не используется. Можно предположить, что проверить нужно было его вместо tbr_rate.
Фрагмент N11
Предупреждение PVS-Studio: V571 Recurring check. The ‘if (ar->k_ar.ar_arg_mac_string == NULL)’ condition was already verified in line 245. audit_mac.c 246
Предупреждение PVS-Studio: V547 Expression ‘ar->k_ar.ar_arg_mac_string == NULL’ is always true. audit_mac.c 246
На этот код анализатор выдал сразу два предупреждения.
Сначала взгляд может зацепиться за то, что проверка в самом первом if и во втором совпадает. Но тут всё правильно: внутри тела первой проверки аллоцируется память, а для второй проверки есть пояснение:
Судя по этому комментарию, во второй проверке не должно быть никакой внутренней проверки. Нужно просто выйти из метода. Так что, скорее всего, внутренняя проверка была продублирована случайно и не имеет никакого смысла.
Хотя возможен и тот вариант, что во внутренней проверке нужно было проверить какое-то другое поле. Но сюда закралась ошибка копипасты, и разработчик забыл поправить имя поля.
Фрагмент N12
Предупреждение PVS-Studio: V567 Undefined behavior. The ‘ucsp’ variable is modified while being used twice between sequence points. vfs_utfconv.c 298
Макросы – очень коварная штука. Возможно, вы даже уже встречались с нашей статьей «Вред макросов для C++ кода». Я обычно при написании статей избегаю срабатываний на макросы. С ними всегда всё оказывается сложно без знакомства с кодовой базой проекта.
Но в случае этой ошибки всё оказалось чуть проще. Хотя, чтобы дойти до причины и развернуть цепочку макросов, пришлось прыгнуть в ту ещё кроличью нору. Собственно, цепочка эта начинается с выражения OSSwapInt16(*ucsp++).
Больше всего здесь нас интересует вот этот участок выражения:
Никакой из операторов в выражении не является точкой следования. Так как точно неизвестно, какой из аргументов оператора | будет вычисляться первым, значение *uscp оказывается неопределённым.
Для диагностики V567 PVS-Studio предоставляет крайне подробную документацию. Если вам интересно, почему такой код может приводить к неопределённому поведению, документация может стать хорошим началом изучения этой проблемы.
Однако это ещё не всё! Есть очень интересный и важный момент. Готова поспорить, что человек, писавший этот код, планировал увеличить значение *ucsp только один раз. Но, на самом деле, значение увеличится дважды. Это не видно и непонятно. Макросы очень и очень опасны из-за вот таких случаев. Во многих ситуациях лучше написать обыкновенную функцию. Скорее всего, компилятор автоматически выполнит подстановку и никакого ухудшения производительности не произойдёт.
Фрагмент N13
Предупреждение PVS-Studio: V567 Undefined behavior. The ‘pf_status.stateid’ variable is modified while being used twice between sequence points. pf.c 1440
И снова коварные макросы смешали все карты для инкремента. Рассмотрим строку с вызовом htobe64, которая оказалась подозрительной для анализатора после препроцессинга:
Проблема собственно та же, что и в предыдущем примере. Во внутренней цепочке с операндами | и & нет точек следования. Поэтому неизвестно, какое значение примет pf_status.stateid на моменте выполнения каждой операции. Результат также неопределён.
И, опять-таки, переменная увеличивается несколько раз подряд, что является неприятным сюрпризом от макроса :).
Вот остальные срабатывания этой диагностики на этом проекте:
Фрагмент N14
Предупреждение PVS-Studio: V519 The ‘uh->uh_sport’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 4866, 4870. ipsec.c 4870
В этом фрагменте возникла подозрительная ситуация: полю uh_sport в зависимости от определённого условия присваиваются разные значения. Однако сразу после if-else этому же полю снова присваивается значение, такое же как в ветке else. В итоге этот if-else блок теряет смысл, так как значение поля всё равно будет перезаписано.
Фрагмент N15
Предупреждение PVS-Studio: V547 Expression ‘(value & (1ULL
Все, что нужно знать о Mac OS
Что означает Mac OS X
Mac OS – сокращение от Macintosh Operating System, то есть операционная система для компьютеров Apple Macintosh. Согласно легенде, название Macintosh произошло от любимого сорта яблок Джефа Раскина, тогда ведущего разработчика Apple (на самом деле они назывались McIntosh, но эта торговая марка уже была занята). X – это римская цифра 10: первая версия Mac OS X была одновременно десятой версией Mac OS. Кроме того, X намекает на базирующееся на Unix семейство операционных систем OS X, в которое помимо обычной и сервернойn версии Mac OS X входят Apple TV OS (ОС для медиацентра Apple TV) и Apple iOS (ОС для iPod, iPhone и iPad).
Когда появилась Mac OS
Apple использует Mac OS с 1984 года, когда появился первый компьютер Apple Macintosh. Правда, тогда операционная система была известна еще под именем Macintosh System Software. В то время ОС от Apple находилась далеко впереди конкурентов из мира IBM PC по удобству использования – у нее уже был графический интерфейс и мышь в дополнение к привычной клавиатуре. Все это давало возможность отображать тексты на мониторе так, как они будут выглядеть на бумаге после печати, а пользователю уже не нужно было вводить команды – впервые он мог просто выбирать их щелчком кнопкой мыши. Наконец, именно на Mac OS была впервые применена многозадачность. Владельцам ПК такие возможности стали доступны только через 6 лет, с выходом в 1990 году Windows 3.0.
Первая Mac OS X
Первая версия Mac OS X появилась в 2001 году. Поскольку каждая версия была названа в честь дикой кошки, последняя из них – 10.6 – носит имя «Снежный барс» (Snow Leopard).
Первый Mac
Первая версия Mac OS увидела свет в 1984 году. Благодаря графическому интерфейсу и наличию мыши работать с Macintosh было гораздо удобнее, чем с IBM PC того времени.
Какими преимуществами обладает Mac OS X по сравнению с Windows
Простое управление. Работать с программами для Mac обычно проще, чем с ПО для Windows. Один из примеров – пакет iLife, установленный на любом компьютере Macintosh. Он позволяет легко управлять фотографиями и музыкой, обрабатывать видео и записывать результат на диски. Тот, кто освоил одну из программ для Mac OS X, легко справится и с другим ПО – приложения для этой операционной системы похожи друг на друга намного больше, чем программы для Windows.
Стабильная работа. Mac OS X создавалась специально для компьютеров Apple, поэтому программные сбои в их работе происходят реже.
Наличие драйверов. На установочном DVD Mac OS X записано множество драйверов. Это бережет время, например при установке принтера. Для сравнения: Mac OS X содержит больше драйверов для современных устройств, чем Windows XP. Но появившиеся позже Windows Vista и «семерка» уже не уступают ОС от Apple по этому параметру.
Небольшое количество вредоносных программ. Перечень вирусов, атакующих компьютеры Ma cintosh, остается небольшим. Они могут навредить, только когда пользователь запускает их двойным щелчком кнопкой мыши. Программы, заражающие почту при прочтении писем или открываемую веб-страницу, до сих пор неизвестны.
Графический интерфейс
А Программы. Самые нужные программы, как и в Windows, размещаются на Панели быстрого
запуска (Dock).
Б Файлы. Часто используемые файлы можно также по отдельности или группой помещать на панель Dock.
В Рабочий стол. На нем видны подключенные накопители. Кроме того, здесь можно создавать папки и файлы.
Г Корзина. Чтобы удалить файлы и даже программы, нужно просто перетащить соответствующий значок в Корзину и отпустить кнопку мыши.
Д Линейка меню. Практично: в операционной системе Mac OS X всегда видна только линейка меню программы, активной в данный момент.
Е Информационное меню. В этом меню Mac OS X показывает, например, качество WLAN-приема или степень зарядки аккумулятора.
Простые подтверждения безопасности. Для внесения изменений в Mac OS, например для обновления операционной системы или установки новой программы, обычно пользователю нужно только ввести пароль. Windows в таких случаях более требовательна: она предлагает cовершить несколько подтверждающих действий.
В iMac все компоненты компьютера спрятаны в мониторе. Apple предлагает две модели – с диагональю экрана 21,5 дюйма и 27 дюймов.
MacBook
Apple выпускает три серии ноутбуков: MacBook (начальная модель), MacBook Pro и MacBook Air.
Mac mini
Mac mini работает очень тихо и занимает не больше места, чем стопка CD.
Простая установка. Неважно, об операционной системе или программе идет речь – для Mac OS X эта процедура проще детской игры. Например, операционная система устанавливается с DVD несколькими щелчками кнопкой мыши. Кроме того, программы и файлы без проблем переносятся из другой установленной Mac OS X.
Для инсталляции новой программы пользователю достаточно дважды щелкнуть по файлу образа и затем перетянуть значок программы в соответствующую папку жесткого диска. Только некоторым приложениям Mac OS X требуется установочный дистрибутив, как в Windows. Для удаления программы обычно нужно только перетащить ее значок в Корзину и отпустить кнопку мыши. Трудоемкие и длительные процедуры деинсталляции встречаются редко.
Какие недостатки имеет Mac OS X по сравнению с Windows
Меньший выбор компьютеров. Mac OS X в принципе предназначена только для компьютеров Apple. Сейчас существует огромное количество вариантов ПК с Windows от многих производителей, но Macintosh выпускает только Apple, поэтому ассортимент таких компьютеров довольно узкий. В качестве альтернативы настольному ПК компания выпускает iMac, все компоненты которого спрятаны в мониторе.
Высокая цена. Компьютеры Macintosh обычно стоят дороже, чем сравнимые по производительности ПК. Цена модели настольного компьютера – Mac mini – от 22 тыс. руб). За ноутбук придется отдать не меньше 35 тыс. руб. – столько стоит самый дешевый MacBook. И если в нижнем сегменте разница почти незаметна, то наиболее мощные компьютеры Apple могут стоить в два раза дороже сравнимых ПК.
Меньше программ. Количество приложений для Mac за последние годы увеличилось, но выбор по-прежнему не настолько большой, как для ОС Windows. Тем не менее практически для любой задачи можно подобрать подходящую программу. Нужен только широкополосный доступ в Интернет, потому что найти и купить ПО для Mac на дисках (особенно легальное) очень сложно.
Почти полное отсутствие игр. Они разрабатываются преимущественно для консолей и компьютеров с Windows. Хотя выбор игр для Mac очень скромный, среди них есть настоящие жемчужины, например авиасимулятор X-Plane 9 или музыкальная игра Guitar Hero 3.
Эти программы есть в Mac OS X Snow Leopard
На любом Macintosh можно найти целый ряд программ для решения возникающих проблем и расширения функциональности ОС. К их числу относятся и приложения, аналогичные использующимся в среде Windows; более того, некоторые программы настолько популярны, что впоследствии появляются их версии для ОС от Microsoft. К ним принадлежат, например, музыкальный центр iTunes, с помощью которого можно копировать мелодии в MP3-плееры iPod-серии Apple. При выборе интернет-браузера многие пользователи Mac OS не доверяют предустановленному Safari, большей популярностью пользуется быстрый и надежный Mozilla Firefox.
Адресная книга: в ней можно хранить обширную контактную информацию, например номера телефонов или почтовые и интернет-адреса.
Automator: программа отвечает за выполнение рутинных задач, например одновременную обработку 100 фотографий и преобразование их в другой формат. Это бережет время и нервы.
Dashboard: как и Боковая панель в Windows Vista, позволяет выводить на Рабочий стол маленькие вспомогательные программы (так называемые виджеты), например текущий прогноз погоды или калькулятор.
Finder: обеспечивает поиск, копирование, перемещение или удаление файлов – аналогично Проводнику Windows. С помощью встроенной функции предварительного просмотра пользователь может просматривать многие файлы без запуска специализированных программ.
Garage Band: эта программа для звукозаписи содержит обширную библиотеку инструментов и сэмплов. Она может работать с несколькими дорожками. Управлять программой несложно – трудностей не возникнет даже у новичков.
iCal: с помощью программыкалендаря iCal можно управлять деловым расписанием. Программы iTunes, iSync или платная служба Mobile Me позволяют автоматически передавать расписание на другие устройства, например iPod или мобильный телефон.
iChat: программа-болталка для обмена текстовыми, аудио- или видеосообщениями через Интернет.
iMovie: обеспечивает очень удобную обработку и монтаж видео. Затем с помощью iDVD фильм можно записать на DVD.
iPhoto: управляет фотоархивом, с ее помощью фотографии автоматически распределяются по папкам, упорядоченным по времени внесения изменений. Оснащена простыми функциями обработки, например возможностью удаления эффекта красных глаз.
iTunes: управляет музыкальной коллекцией и помогает покупать в iTunes Store музыку и видео. Кроме того, программа может копировать музыку в MP3-плееры iPod-серии.
Safari: браузер от Apple быстро отображает веб-страницы, а сглаживание шрифтов улучшает читаемость текста.
Spaces: позволяет группировать все открытые программные окна. Благодаря этому удастся создать виртуальный Рабочий стол для любой задачи.
Spotlight: встроенная функция поиска очень быстро ищет файлы, программы или почту, причем не только по именам, но и по содержимому файлов.
Time Machine: утилита по желанию пользователя автоматически создает резервную копию (Backup) данных, если подключить к компьютеру внешний жесткий диск.
Preview: программа позволяет просматривать изображения и документы, например PDF-файлы и JPEG-фотографии.
Какие существуют версии Mac OS X
Есть два варианта Mac OS X: одна версия для настольных ПК и ноутбуков и другая версия для серверов, которая так и называется – Mac OS X Server. Все релизы десятой Mac OS, кроме номера версии (с 10.0 по 10.6), традиционно получают название в честь одного из представителей семейства кошачьих.
Cheetah (гепард) и Puma (пума). Релиз первой версии Mac OS X 10.0 (Cheetah) состоялся в марте 2001 года. Новая ОС отличалась от предыдущих систем Mac OS и стала своего рода прорывом Apple. Но при этом новинка содержала множество ошибок, а кроме того, в Mac OS X 10.0 отсутствовали некоторые функции. Поэтому почти сразу появилось бесплатное обновление 10.1 (Puma).
Jaguar (ягуар). Начиная с версии 10.2, графические карты научились аппаратному ускорению графической оболочки – аналогично технологии Aero в Windows Vista.
Panther (пантера). Версия 10.3 вышла на рынок операционных систем в октябре 2003 года. В Panther, кроме прочего, была внедрена технология шифрования FileVault.
Tiger (тигр). Apple представила версию 10.4 в апреле 2005 года. В ней появились очень удобная функция поиска Spotlight и Dashboard – оболочка для мини-программ (так называемых виджетов).
Важнейшие программы для Windows и их альтернативы для Mac OS X
При переходе с Windows на Mac OS X часто не удается использовать привычные программы без применения дополнительного ПО или создания виртуальной среды. Но сегодня уже многие популярные приложения для Windows доступны и в версии для Mac, например Microsoft Office, Google Picasa или Earth. Для всех остальных можно подобрать достойную замену. Например, установленный на Mac программный пакет iLife, содержащий, кроме прочего, мультимедийные приложения iPhoto, iMovie и iDVD. Не хватает лишь программ оптимизации налогов – в настоящее время существует только бесплатная Elster для Mac OS X. Если ее возможностей недостаточно, придется пересесть за ПК и Windows. То же относится ко многим специализированным приложениям, за исключением, пожалуй, дизайнерских.
Leopard (леопард). Следующей версией была Mac OS X 10.5, увидевшая свет в октябре 2007 года. В ней впервые появились вспомогательное приложение Boot Camp для установки Windows в качестве второй ОС, программа резервного копирования данных Time Machine, функция быстрого предварительного просмотра содержимого файла Quick Look и другие значительные нововведения.
Snow Leopard (снежный барс). 28 августа 2009 года вышла последняя на сегодняшний день версия 10.6, которая может использовать больше рабочей памяти (теоретически до 16 Тб). Многие поставляемые с ней программы получили 64-битный набор команд и стали работать значительно быстрее. Кроме того, версия поддерживает процессоры Intel – это означает, что устаревшие процессоры PowerPC фирмы Motorola окончательно сошли с дистанции.
Кроме порядкового номера, версиям присваивается еще и второй номер, обозначающий, какое по счету бесплатное обновление и исправление ошибок было произведено, аналогично сервис-пакам Windows. Последнее обновление Mac OS X имеет номер 10.6.3.
Только ли на компьютерах Apple работает Mac OS X
Mac OS X предназначена только для установки на компьютерах Apple, лицензионное соглашение запрещает ее применение на традиционных ПК. Тем не менее в Интернете без труда можно найти руководства по установке Mac OS X на ПК, большая часть которых относится к так называемому проекту OSx86. Его имя происходит от сочетания названий семейства OS X и архитектуры микропроцессоров x86, используемых в ПК. Впоследствии персональные компьютеры с установленной Mac OS X стали называть «хакинтош» (от англ. hack и Macintosh).
Так Windows работает на Mac
Вспомогательная программа Boot Camp позволяет установить Windows на любой Mac с процессором Intel. После этого при запуске компьютера пользователь должен выбрать ту операционную систему, которая нужна в данный момент.
Еще проще это делается с помощью Parallels Desktop – программа устанавливает Windows как виртуальную машину под Mac OS X. Преимущество такого решения «два в одном» заключается в том, что обе операционные системы могут работать одновременно, таким образом обеспечивается удобный обмен данными между программами этих систем. Правда, для работы с виртуальной средой Mac должен иметь не менее 2 Гб оперативной памяти.
Проект зародился в 2005 году, когда Apple объявила о переводе своих компьютеров на процессоры фирмы Intel. В январе 2006 года вышло обновление Mac OS X 10.4.4 для первого поколения компьютеров на базе Intel, и уже буквально через месяц появилась взломанная версия ОС с возможностью установки на ПК. Несмотря на противодействие со стороны Apple, проект достаточно успешно развивался и сейчас продолжает свою деятельность.
Одним из ключевых этапов существования проекта стало появление эмулятора EFI, обеспечивающего взаимодействие между операционной системой и «железом». До этого все «взломанные» версии MacOS X обходили EFI, что приводило к нестабильной работе системы. Кроме того, вслед за эмулятором в середине 2008 года был создан специальный USB-модуль EFi-X, который обманывает Mac OS X и тем самым обеспечивает инсталляцию операционной системы на ПК с оригинального DVD, без установки каких-либо патчей. Модуль можно приобрести в России, но стоит он немало – 7 тыс. руб.
Можно ли установить программы для Windows на Mac
С помощью специальных вспомогательных программ и при необходимости установочного DVD с Windows пользователь может добиться запуска приложений для Windows под Mac OS X. Сделать это можно следующими способами.
Boot Camp. Поставляемая вместе с Mac OS X 10.6 программа Boot Camp 3.1 обеспечивает установку Windows на компьютере Apple с процессором Intel. Для этого программа создает на жестком диске отдельный раздел под ОС от Microsoft. Кроме Boot Camp, пользователю понадобятся установочные диски с желаемой Windows и Mac OS X. Естественно, работать можно только в одной из двух операционных систем: или в Mac OS X, или в Windows. Во время загрузки пользователь, нажав клавишу Alt, сам выбирает, какую операционную систему необходимо загрузить. Самый большой недостаток данного способа: недоступность данных, хранящихся в разделе жесткого диска с Mac OS X, в ОС Windows, так как последняя не может читать разделы с файловой системой HFS+.
Виртуализация. Такие программы, как Parallels Desktop или VMware Fusion, создают в Mac OS X виртуальную среду Windows, затрачивая на это часть мощностей компьютера. Благодаря этому приложения для Mac и Windows можно запускать одновременно и без особых затруднений обеспечивать обмен данными между ними. Проблемы могут возникнуть только с играми и приложениями, нуждающимися в прямом доступе к компьютерному «железу». Подробнее о том, насколько просто работать в виртуальной среде, читайте во врезке выше.
Эмуляция Windows. Если нет возможности установить Windows второй операционной системой и не хочется тратить ресурсы компьютера на виртуальную среду, попробуйте эмулировать функции Windows c помощью специального ПО, например CrossOver. Эта программа лишь имитирует функции Windows, заставляя нужное пользователю приложение думать, что оно запущено в ОС от Microsoft. Такая эмуляция обычно работает значительно медленнее и менее стабильна, чем настоящая Windows, а, кроме того, далеко не все приложения дают себя «обманывать». На официальном сайте CrossOver разработчики опубликовали подробный список программ и игр с указанием степени их совместимости – золотая, серебряная или бронзовая медаль. Преимущество этого подхода: не нужно покупать лицензию Windows.