Коллектив Авторов - Цифровой журнал «Компьютерра» № 22
Так в чём же дело? Почему даже после обновления на iOS 4 программы продолжают вести себя по-прежнему, а меню для переключения между задачами больше напоминает обыкновенный список последних запущенных приложений? Ответ на этот вопрос становится понятен после знакомства с принципом местной «многозадачности». Вместо того, чтобы позволять приложениям выполняться параллельно, операционная система разрешает приложениям запускать лишь некоторые специальные процессы, которые могут выполняться в фоне. Это может быть, к примеру, воспроизведение музыки, загрузка файла на сервер или недолгое действие, выполняемое перед завершением.
В какой-то мере это похоже на кооперативную многозадачность, применявшуюся во времена Windows. 3.1 и классической Mac OS. Этот тип многозадачности подразумевает, что программы исполняются друг за другом в порядке перехода фокуса от одной к другой и самостоятельно заботятся о передаче управления. Покупка компании Nextstep (и повторный найм Стива Джобса на роль исполнительного директора) позволили Apple создать Mac OS X, использующую привычную по современным компьютерам вытесняющую многозадачность.
Увы, вытесняющая многозадачность не очень-то подходит для портативных устройств – её использование грозит излишним энергопотреблением, нагрузкой на центральный процессор и замусоривание флэш-памяти файлами подкачки. К вытесняющей многозадачности приходится добавлять разные ухищрения, позволяющие системе решать, какие приложения менее важны в данный момент, и автоматически понижать приоритет их выполнения.
Похожие уловки применяются в операционной системе Google Android. Она постепенно понижает приоритет неиспользуемой программы, а затем замораживает её состояние. О случаях, когда этого происходить не должно, автор программы должен позаботиться самостоятельно.
В случае iPhone OS разработчик должен заботиться и о сохранении состояния и о его восстановлении. Просто с выходом iOS 4 это делать стало проще, чем раньше, благодаря специальным API. Сложно сказать, почему Стив Джобс обошёл вниманием этот тонкий вопрос. Вероятно, он хотел сосредоточить внимание публики на потенциальных возможностях, а не на проблемах разработчиков. Однако в итоге вышло, что новая ОС работает не так, как ожидалось.
В будущем эта неясность ведёт к ещё более плачевным последствиям. Приложения, уже умеющие сохранять своё состояние и приложения, разработчики которых не поторопятся поддержать новую функцию, будут так или иначе сосуществовать в App Store – хотя бы потому, что некоторые программы просто заброшены и больше не обновляются. Получается, что пользователь не может быть уверен в том, как очередная программа среагирует на закрытие и повторное открытие – сбросится или будет восстановлена с того же места, где её оставили.
Почему нельзя было с самого начала подумать о предотвращении такой ситуации? Заморозка состояния программ работала ещё в старинной Palm OS, причём так, что поддержка была сразу и во всех приложениях. У пользователя никогда не было сомнений в сохранности данных.
Однако если попытаться представить себе, что бы вышло, сделай Apple то же самое, что в своё время было сделано в Palm, то эппловское решение окажется куда более гибким и дальновидным. Дело в том, что Palm OS хоть и сохраняла состояние программ, но не было никакой возможности запустить фоновый процесс — ни для музыки, ни для завершения работы. Если во времена первых Palm сохранять данные могло понадобиться только локально, то теперь программа может захотеть в последний момент загрузить что-то в интернет — к примеру, мессенджер сможет выставить табличку «отошёл», когда пользователь переключится в другую программу.
Хорошо было бы, реализуй Apple такую функцию с самого начала или хотя бы её часть – заморозку состояния. Но такого решения, увы, принято не было. Возможно – по каким-то техническим причинам: местная многозадачность появилась именно с новым поколением устройств, а у них больше оперативной памяти и более мощный процессор. iPhone 3G тем временем еле-еле справляется и с теми приложениями (почтой, браузером и т.п.), которые работали в фоне изначально. Так или иначе, лучше поздно, чем никогда.
К оглавлению
Василий Щепетнёв: Жизнь и смерть деревянных солдат — III
Василий Щепетнев
Опубликовано 23 июня 2010 года
Генный котел, именуемый народом, выдает потребное количество инженеров и танцовщиков, поэтов и первопроходцев, математиков и пианистов. В истории России эту закономерность проследить нетрудно, каждый может назвать новых Платонов и быстрых разумом Невтонов сообразно собственному вкусу. А вот нового Ленина в России нет, и не только Ленина. С революционерами вообще туго. Кто пришел на смену Плеханову, Мартову, Аксельроду, Засулич, Троцкому, Сталину?
Пустота.
Диссидентское движение? Его можно оценивать по-разному, но кто из диссидентов по масштабам близок к вышеперечисленным пламенным революционерам? Сегодняшняя оппозиция? На ум приходит эстрадный номер «борьба нанайских мальчиков». Не исключено, что новый революционер калибра Владимира Ульянова сегодня ходит в школу или даже уже поступил в университет, но это, во-первых, лишь предположение, а во-вторых, не отметает того факта, что на протяжении второй половины двадцатого века и первого десятилетия века двадцать первого революционеры в России себя ничем не проявили.
Случайно ли?
Или обществу прописали антиреволюционную вакцину?
Уверен, что прописали. Кто? Да сами революционеры, кто же ещё.
Основной вопрос всякой революции есть вопрос о власти. Захватив власть, революционеры стали её всячески укреплять и оберегать. От кого оберегать? В первую очередь от других революционеров. Способы применялись самые разнообразные. Конечно, дать пять тысяч фунтов стерлингов, а в перспективе много того больше — штука интересная, но непрактичная. На всех фунтов не напасешься, фунты, они самим пригодятся, да и как узнаешь, глядя на молодого человека, Ленин он или так... шалит? Бить нужно по площадям, уничтожая революционность масс в зародыше.
Революцию сравню с эпидемией. Как борются с последней? Вакцинациями. Чтобы грипп или оспа не пронеслись по стране, оставляя за собой миллионы мертвецов, прибегают к прививкам. Причём не обязательно привить всё население: стоит охватить вакциной семьдесят пять процентов населения, как эпидемическая волна угаснет. То ж и с революцией: если семьдесят процентов населения к ней невосприимчивы изначально, то эпидемия, то есть революция, обречена.
Дженнер защищал от оспы, вводя в организм вирус коровьей оспы. Новая власть стала вводить в умы коровью революцию, предохраняя их от революции настоящей. Коровью революцию творили генные инженеры человеческих душ — советские писатели. Во всяком случае, такая им ставилась задача. На то их и кормили. Писатели формировали сознание, тем самым влияя на бытие. Следовало убедить человека — прежде всего, очень молодого человека — что революция — это то, что нас окружает, то, что есть. А если она уже есть, если все вокруг — революция, то никакой причины её, революцию, затевать заново не существует, пустая трата времени. И потому упорно писали в прозе и стихах о том, что революция продолжается.
Иногда выходило двусмысленно: «Есть у революции начало, нет у революции конца». Иногда и время, закольцовывая, пускали вспять: «И Ленин такой молодой, и юный Октябрь впереди». Речи Леонида Ильича Брежнева складывались в собрание сочинений под общим названием «Ленинским курсом». Знакомство с этим курсом отбивало всякое желание заниматься революцией. Но писали и интересные, даже захватывающие книги, героями которых были борцы с государством — однако новых борцов с государством эти книги, как ни странно, не порождали. В чём причина?
В мастерстве писателей, создавших полное ощущение бытия. Писали настолько убедительно, что многие верили прочитанному больше, чем самим себе. Вокруг неуют, дрязги, бедность и бесправие — но человек ощущал себя могучим, щедрым, богатым хозяином земли русской. Десять тысяч чародеев наводили волшбу не за страх, а исключительно из врождённой живости характера. Творить новую реальность сладостно. Доходило до невероятного: положительными героями литературных произведений стали агенты тайной полиции, больше того, сама тайная полиция. Для писателя девятнадцатого века было просто немыслимо. Впрочем, воспитание нового человека есть свершившийся факт. И при этом воспитание осуществилось за счет самого воспитуемого: книжное дело было и остается экономически выгодным занятием.
Тут главное не успокоиться, не пустить дело на самотек, не считать, что достигнутое достигнуто навсегда. За магами нужен глаз да глаз. Ну, и чуткое ухо, разумеется, тоже.