категории | RSS

В этой статье я хочу предложить один из многочисленных способов освобождения оперативной памяти наших смартов. Эта проблема особенно актуальна для моделей не топовых е и н серий (типа 6120), на которых после загрузки свободно около 21 метра оперативной памяти. Этот метод - не панацея, он способен дать вам лишь около 2 лишних мегабайт драгоценной памяти. Но я думаю за них всё же стоит побороться.

Как водится в таких случаях я обязан предупредить о возможной опасности применения этих рекомендаций и о том что за любую потерю или повреждение ваших данных или любые другие проблемы не несет ответственности никто кроме вас самих. Всё это вы делаете на свой страх и риск.

Думаю стоит рассказать небольшую предисторию.
Всё началось с того что недавно был обнаружен способ применить патч в достаточно ранний момент в процессе загрузки системы с помощью подмены файла domainsrv.exe на особый, который читает патч /Patches/splashscreenXXX000.rmp (читать он его будет как с диска C так и с карты памяти, она может называться как E так и F).

В качестве примера применения в комплекте с domainsrv.exe шел патч заменяющий в файле starter.exe путь к /resource/Starter_Arm.rsc с диска Z на диск E и измененный файл Starter_Arm.rsc загружающий измененный SplashScreen.exe с диска E для показа своей заставки вместо надписи нокия в процессе загрузки. Это подробно описано в статье Меняем заставку включения.

Затем с помощью этого domainsrv.exe и того же патча splashscreenXXX000.rmp был найден способ замены мультфильма при загрузке на тех смартах на которых это ранее не получалось. Но как оказалось перенос Starter_Arm.rsc на карту памяти ставит крест на возможности подключить смарт к компьютеру в режиме передачи данных. Чтобы не лишиться такой нужной возможности следует немного изменить патч. Не буду описывать это здесь, оно уже описано в статье Замена ручек при загрузке на неподдерживаемых смартах.

После этого витавшая в воздухе с момента падения ограничений симбиан9 идея освободить память и ускорить загрузку просто исключив из неё ненужные процессы, а не убивая их уже после загрузки обрела новую жизнь. И вновь domainsrv.exe и splashscreenXXX000.rmp помогут нам.

Собственно ковырять мы будем всё тот же Starter_Arm.rsc. В этом файле прописано множество процессов запускающихся при загрузке. Редактируя этот файл можно (испортив путь к определенному исполнимому файлу) отключить запуск этого файла во время загрузки системы. Это может быть как полезным, так и опасным. Отключение некоторых файлов является фатальным (и приводит к таким последствиям как ошибка при самотестировании телефона или вечная перезагрузка), отключение некоторых других может привести к непредсказуемым последствиям типа отказа телефона принимать смс или оповещать о новых сообщениях, отключение третьих остается безнаказаным и позволяет достичь поставленной цели.

Я изучал свой 6120c с прошивкой 03.83 и обнаружил что отключение процессов приводит к различному результату:

Отключение процессов
z:sysbinDbRecovery.exe
z:sysbintzserver.exe
z:sysbinHWRMServer.exe
z:sysbinaccserver.exe
приводит к вечной перезагрузке

Отключение процессов
z:sysbinMediatorServer.exe
z:sysbinSae.exe
z:sysbinSysAp.exe
z:sysbinPhone.exe
z:sysbinidle.exe
z:sysbinclknitzmdls.exe
z:sysbinnpaprivlistener.exe
z:sysbinScreenSaver.exe
приводит к ошибке самотестирования телефона

Отключение следущих процессов приводит к различным глюкам:
z:sysbinsystemams.exe -boot - после отключения джава полностью отмирает
z:sysbinAutolock.exe - после отключения кабель полностью отмирает (кто бы мог подумать...)
z:sysbinUsbWatcher.exe - после отключения кабель полностью отмирает
z:sysbinBtServer.exe - после отключения становится невозможно передать файлы по блютусу или найти устройства.
z:sysbinNcnList.exe - после отключения телефон перестает оповещать о входящих сообщениях
z:sysbinWatcher.exe - после отключения телефон перестает принимать смски

Отключение следущих процессов осталось (пока?) безнаказаным и похоже является безопасным (хотя некоторые из них всё равно стартуют или запускаются при определенных действиях):
z:sysbindataconnectionlogger.exe - успешно (01)
z:sysbinwelcome.exe -Test - успешно (02)
z:sysbinFaxModem.exe - похоже отвалится подключение в режиме модема (03)
z:sysbinrandsvr.exe - успешно (всё равно стартовал во время загрузки) (04)
z:sysbinAlwaysOnlineStarter.exe - успешно (05)
z:sysbinsipprofilesrv.exe - успешно (06)
z:sysbinPoCStarter.exe - успешно (07)
z:sysbinvcommandmanager.exe - успешно (08)
Notes - успешно (09)
z:sysbinxnthemeserver.exe - успешно (всё равно стартовал после полной загрузки, похоже запускается при входе в меню) (10)
z:sysbinSatServer.exe - успешно (всё равно стартовал во время загрузки) (11)
z:sysbinCalenSvr.exe - успешно (12)
z:sysbinCbsServer.exe - успешно (13)
z:sysbinObexMtmUiServer.exe - успешно (14)
z:sysbinProvisioningSC.exe - успешно (15)
z:sysbinswidaemon.exe - успешно (16)
sysbinepos_omasupllistener.exe - успешно (всё равно стартовал во время загрузки) (17)
z:sysbinMCServer.exe - успешно (всё равно стартовал после полной загрузки, похоже запускается при запуске родного плеера) (18)
Z:sysbinEInfoServer.exe - успешно (19)
Z:sysbinSelfTestServer.exe - успешно (20)
Z:sysbinTestServer.exe - успешно (21)
z:sysbinStartupSettings.exe - успешно (22)
z:sysbinCfmwBtCfgServer.exe - успешно (23)

Для редактирования файла Starter_Arm.rsc вам потребуется нех редактор (я работал со встроенным в X-plore) или программа RscEditor. Нех редактор значительно удобнее и быстрее, RscEditor немного проще.
Следует учитывать что после загрузки с патчем файл Starter_Arm.rsc полностью блокируется для редактирования и чтобы его изменить нужно перезагрузиться без патча (например переименовав папку Patches или файл domainsrv.exe). Если вы уже меняли заставку при загрузке или ручки - у вас уже есть файл C:/resource/Starter_Arm.rsc, можете редактировать его (но при этом крайне желательно чтобы этот файл был до этого изготовлен из вашего же файла с диска Z, как это сделать - смотрите статью Замена ручек при загрузке на неподдерживаемых смартах), если нет - вам понадобится взять свой Z:/resource/Starter_Arm.rsc и скопировать его в C:/resource/Starter_Arm.rsc, положить файлы из архива на соответствующие диски и начать редактирование C:/resource/Starter_Arm.rsc.

Как показывает практика эффективнее всего отключать по одному файлу за раз, при этом каждый раз называть файл Starter_Arm.rsc01, Starter_Arm.rsc02 и так далее, попутно отмечая себе в каком файле что отключали. Тогда при возникновении глюков будет проще выловить виновный процесс. После редактирования перезагрузка, если всё закончилось хорошо - отключение патча и новая перезагрузка, редактирование и так далее. Если телефон не загружается - извлечь карту памяти (если карты нет или она не может быть извлечена - пробовать если не готовы к формату в случае неудачи не советую) и перезагрузиться, после загрузки вставить обратно, вернуть предыдущий файл и пометить тот процесс который привел к ошибке как необходимый и не отключать его больше. Работа творческая и требует времени. За основу можете взять мои списки процессов, а потом уже проверять уникальные для каждой модели процессы.

Редактировать лучше всего поиском полного пути к процессу, заменой первой буквы (я менял z на a) и продолжением поиска. Когда ничего не будет найдено - сохранение и перезагрузка. Пути почти ко всем файлам повторяются несколько раз, надо портить все повторы.

Для счастливых владельцев 6120c с прошивкой 03.83 архив с моими Starter_Arm.rsc лежит здесь, ставить лучше всего Starter_Arm.rsc23. В списке безопасных процессов помечено в каком файле отключается какой процесс, те что отключены до этого - остаются отключенными.

Пожалуйста отписывайтесь о найденных глюках, какой процесс приводит к какому глюку на какой модели. И удачного вам экспериментирования...

Статья оригинальная. Скрина нет потому что нечего скринить.

UPD 29 jun 2010: Поскольку сайт мой на wen.ru снесли нафиг за неактивность - прикрепляю Starter_Arm_6120_03.83.zip сюда. Благодарите wrn за то что он заметил 404.

Прикрепленный файл #1: 4149_starter_arm_6120_03.zip (21,84 Kb)



Источник новости: dimonvideo.ru

Arago
2009-05-04T18:57:11Z

Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 60

#10   bulruf801    

Большой респект таким экспериментёрам!! wink Действительно оочень полезная статья!
ARAGO, интересно а z:\sys\bin\Estart.exe что за файл?


0 ответить

#10   seregamilow    

Всё классно работаетsmile


0 ответить

#10   Arago    

^GraFFiTi^, ещё как бывают. Взять хотя бы CbsServer.exe. Поиск по CbsServer.* в ресурсах на диске з выдает ресурсы в которых ясно сказано что это процесс широковещательных сообщений базовой станции. Ты пользуешься этим? Я тоже нет. И с остальным примерно так же. Хотя согласен, статья бы не помешала.


0 ответить

#10   molosar    

Stim-Cool, действительно, напиши статью с описание процесов котрые знаешь (не только тех что в статье указаны), будет крайне полезно.


0 ответить

#10   ^GraFFiTi^    

Напишите ещё за что отвечает каждый процесс! Ненужных процессов не бывает, если не хвост от проги! Остальные полюбому за что-то отвечают! Разрабы симбиана не дураки же =)


0 ответить

#10   Wo111and    

Arago спасибо буду у себя пробывать и экспериментировать smile


0 ответить

#10   Arago    

Ну напиши если знаешь, многим полезно будет... Я написал те за которыми были замечены глюки.


0 ответить

#10   Stim-Cool    

Ну скажем так Америку ты не открылsmile но за статью спасибо, для новичков будет полезно, если кто не знал о такой возможности. Я знаю много процессов за что отвечает и не мешало бы добавить рядом с каждым процессом который ты отключал что они отключают какие знаешь. Стартап сеттингс например отвечает за выдавания окна о настройке после формата и когда сбивается время. За труд спасибоsmile


* редактировал(а) Stim-Cool 20:19 4 май 2009

0 ответить

#10   Arago    

CabelOFF
Дело было вечером, делать было нечего...))


0 ответить

#10   CabelOFF    

О как! Ну молодчик! И как у тебя хватили на все это нервы?


0 ответить

Яндекс.Метрика