iUser пишет:А как же он взаимодействует с оконной средой?
Пока существуют окна, отрисовываемые черезх винапи он, разумметься, должен вызывать винапи функции для взаимодействия с ними. Но речь же шла о полном отказе от него.
Полного отказа не будет по причине скорости исполнения. Дотнет код не настолько шустрый, чтобы вытащить массивную работу интерфейса Win7. Если все реализовать на дотнете, получатся знатные тормоза. Нативная часть графической системы останется все-равно. Его просто закроют для сторонних приложений.
Я не знал, что вам 98 лет, простите! lol
Вам 97? оооо... ну тогда все понятно
На самом деле вы по незнанию снова перепутали WinAPI с Native API
На самом деле, Вам, сотруднику киевского подразделения Microsoft, должно сейчас стать стыдно до корней волос и вы должны ломануться срочно изучать технологии своей компании. Неужели Вы серьезно считаете, что WinForms работает на Windows без участия WinAPI? А как же он взаимодействует с оконной средой? Через libastral, как говорят линуксоиды?
Невропаразитолог,
Нормальные люди не занимаются ДОС-[beep]нёй и не разбивают разделы, а просто всё организуют по дефолту и регулярно делают резервные копии пользовательского профиля на внешние накопители. Это 100% гарантия, что данные не будут потеряны.
+1 Вот, даже до заядлых пользователей виндовс начали доходить основы, заложенные в MacOS X.
Как мне кажется, топикстартеру нужно не терзать свой несчастный ноут, а снять на usb-диск данные и привести систему в порядок, очистив винчестер и с нуля установить Windows7 (а лучше макось ) На эксперименты с разными приблудами можно убить несколько дней и не факт, что диск будет без всяких хитровывернутых конструкций в итоге. По-крайней мере, это верно для простого пользователя
Невропаразитолог пишет:В какй же момент, в дело вступает Win32API?
Здесь наш мальчик iUser завис. А чему удивляться если три дня назад он «не претендуя на звание программиста» советовал утилиту sort для реверсивного вывода содержимого файла в никсах
г-н Svart Testare, я просмотрел данный форум и, несмотря на ваше звание администратора, могу указать на то, что вы злостно нарушаете правила. Я уж молчу про этикет, согласно которому старшим грубить не принято.
Добавлено спустя 08 мин 48 с:
В какй же момент, в дело вступает Win32API?
Невропаразитолог, вы привели схему компиляции дотнет кода. Как ни странно (наш ,коллега Svart Testare видимо не в курсе, поскольку далек от программирования), все без исключения инструменты .Net Framework, участвующие в компилировании дотнет кода, используют библиотеки WinAPI. Если хотите убедится, откройте эти экзешники в бинарном просмотрщике и вы найдете там имена библиотек WinAPI, которые слинкованы с ними.
Если вы хотели спросить, где видно, что скомпилированная дотнет библиотека/исполняемый дотнетовский файл используют WinAPI, то вам нужно ранее описанным методом просмотреть бинарные файлы CRL, которая исполняет дотнетовский MSIL. Так что все очень просто.
Резюмируя: WinAPI используетя на всех стадиях вашей схемы.
iUser пишет:Дотнет использует винапи по полной. Это не независимая, с нуля написанная структура, а очередной слой абстракции над винапи.
И как же его в виде mono на юниксах-то запускают? Через wine, что ли?
Нет. Замаппили вызовы на Gtk. Поясняю. Например дотнетовская прога создает окно:
дотнет код -> new Window() класс WinForms -> createWindow() функция винапи
В моно будет так:
дотнет код -> new Window() класс WinForms -> gtkCreateWindow() функция Gtk
Вся фишка в том, что между кастомным кодом и системными библиотеками есть слой WinForms, который можно перенаправить на другой виджетсет. В итоге моно выполняется в нативном окружении, без эмуляторов winapi. Приведенный код, естественно псевдокод. Настоящие названия функций и классов другие.
iUser пишет:А просто купить еще один HDD нельзя? Если память не изменяет SATA диск на 500 гиг стоит примерно 50 долларов. Или у вас ноут?
Ноутбук. На[beep] покупать винт, если этот работает, и по тесту S.M.A.R.T умирать пока не собирается?
На стационарной машине его можно было бы поставить вторым и на нем все данные хранить, а первый под систему оставить. А раз ноутбук, то купите usb диск (штука нужная и полезная в любом случае), слейте на него данные и пересетапьте машину с нуля. И рассматривайте инцидент как апгрейд персонального железа - во всем нужно видеть положительное
Для объединения разделов я скачал с небезызвестного в широких кругах сайта torrents.ru rutracker.org программу Acronis Disc Director Suite. .
Если кто-то сталкивался с такой проблемой или знает, как её решить - напишите! После долгого насилования Гугла я понял, что спасение утопающих - дело рук самих утопающих, и что о проблеме ничего не известно. Этот форум - последняя надежда, на других я не обитаю. Помогите, плз!
А просто купить еще один HDD нельзя? Если память не изменяет SATA диск на 500 гиг стоит примерно 50 долларов. Или у вас ноут?
iUser пишет:давайте конкретизируем вопрос. "Подключать где": в нативном коде или в дотнете?
Ну в дотнете, разуметься. Вы говорите, что он сам работаетповерх винапи.
Вопрос зачем подгружать базовую библиотеку руками, когда CLR уже ее использует для внутренних нужд?
Вызов нативной функции в дотнете это немного другая функциональность, чем include в сях. Она основана на динамической подгрузке и вызову функции по ее имени. Реально, kernel32 в процесс не подгружается, т.к. он уже подгружен. Но вот из какой библиотеки вызывать функцию, CLR должен иметь информацию.
iUser
Хм. А какого черта для вызова чего-нибудь из winapi надо руками подключать kernel32.dll?
давайте конкретизируем вопрос. "Подключать где": в нативном коде или в дотнете?
--------------
Собственно можно и не конкретизировать: в случае нативного кода, вы обязаны сделать соотв. include<> для компилятора, чтобы он смог найти нужные структуры/декларации и чтобы потом линкер подключил к исполняемому коду динамически подгружаемую библиотеку.
В случае с дотнетом/VB6 нужно в коде явно указывать, какую библиотеку подгрузить при исполнении байткода и какую функцию нужно оттуда вызвать.
kernel32.dll является базовой библиотекой для многих функций винапи, потому и приходится ее подгружать. Чтобы было понятно, kernel32.dll это не NT-ядро, а враппер над Native API.
iUser пишет:Неужели CLR работает только напрямую с процессором в обход операционной системы?
Оно, как и winapi, использует native api ядра NT.
https://en.wikipedia.org/wiki/Architecture_of_Windows_NT
Неправильный ответ Незачот (с)
Дотнет использует винапи по полной. Это не независимая, с нуля написанная структура, а очередной слой абстракции над винапи. На одном Native API далеко не уедешь. Это слишком низкоуровневое программирование. Чтобы долго не рыть, прочитайте, что из себя представляет WinForms:
https://en.wikipedia.org/wiki/Windows_Forms
Вот что не использует дотнет, так это MFC, поскольку WinForms является "managed" заменой MFC. Но как и MFC, WinForms враппят WinAPI.
iUser пишет:все прекрасно понимают, что WinAPI останется просто к нему доступ заблокируют
Ну что за бред? .NET winapi не использует.
Можете обосновать свое утверждение? Неужели CLR работает только напрямую с процессором в обход операционной системы?
(случаи вызова WinAPI из .Net я даже не вспоминаю, это вроде бы общеизвестная вещь)
iUser пишет:Не стоит так грубо троллить.
Не стоит делать такие заявления. Если вам лень тыкнуть кнопочки лишний раз для уточнения своей мысли - УВЫ! Терпите.
Ах вот так... Ну тогда "получай фашист гранату"
Они и от WinAPI хотят отказаться, перейти на MSIL.
Неужели Intel/AMD уже встроили в процессоры обработку .Net байт-кода напрямую?
(вам лень тыкнуть кнопочки лишний раз для уточнения своей мысли - УВЫ! Терпите. Все прекрасно понимают, что WinAPI останется просто к нему доступ заблокируют)
Добавлено спустя 01 мин 17 с:
iUser пишет:Речь идет про логические диски.
У меня уже давно нет никаких логических дисков. Все устройства идентифицируются по названию (метке).
Если несложно, выставьте скриншот левой панели проводника. Интересно глянуть.
iUser пишет:Проскакивало как-то, что МС планировала отказаться от дисков в Win8.
Совсем отказаться? Поддержки HDD уже не будет?
Не стоит так грубо троллить. Речь идет про логические диски.
А если серьёзно, что сама система давно уже обращается к диску как "multi (0) disk (0) rdisk (0) partition (1)", а не "С:".....
Никого не интересует, что там в ядре системы. На уровне WinAPI работа идет с логическими дисками.
Да, круче бы было, если бы выглядело так:
/mount/c:
/bin/Program Files/Nero/nero.exe
/home/Documents and Settings/User/My documents/My musik/oops.wav????
Проскакивало как-то, что МС планировала отказаться от дисков в Win8. Только не "/home/Documents and Settings/User/..." а "/users/User/Documents and Settings/..." Ведь вдохновение МС черпает из MacOS X
Мне приходилось оптимизировать LAMP сайты и всегда был основной критерий "минимизировать расходы на хостинг". Профайлиг железа+операционки в данном случае самое последнее занятие и начинать нужно с разбора самого сайта. Потому как даже на таком "вкусном" ресурсе можно легко выйти за пределы финансирования, если лечить только симптомы: нехватает процессоров, давайте подкинем их; нехватает скорости винтов, поставим более навороченные стораджи и т.д. Мне обычно хватало для начала двух показателей статистики: трафик и нагрузка процессора.
Первое, что могу порекомендовать - вынести статику (как правило это битмапы) на отдельный сервер с ngnix. Очень часто это половина трафика и "пустая" нагрузка на кеш+процессор. Если посещаемость ресурса 200-300k IP (ты все-таки ответь прямо на поставленный вопрос, а не юли - в стартовом топике сплошной "плач Ярославны"), то для статики может хватить даже VDS хостинга.
Следующий этап - посмотреть текущий расход памяти. Бывает хреново настроенный сервер выгребает всю память под кеш и начинается потом жуткий своп. Тут долго мониторить не нужно, а простым top посмотреть что и как.
Дальнейший анализ - поиск узких мест в коде сайта. Очень помогает сеанс качественных [beep]юлей сайтописателю(лям) - гораздо эффективнее профайлинга. Поскольку даже в профайлинге ты не получишь точные данные, какие из модулей сайта вызывают пиковую нагрузку. Анализ кода это основной способ снизить нагрузку. И лишь после этого можно решать, что наращивать из железа.
И обязательно нужно посмотреть, нет ли ддоса на сервер. Так понимаю, проблема назрела не случайно. Видимо начались сбои в работе. Заявленная посещаемость - это топовый сайт в рейтингах. А внимание конкурентов как известно не всегда джентельменское.
Чистый профайлинг без анализа сайта можно сравнить с ситуацией в медицине "Температура - анальгина всыпать. Срачка - активированного угля подкинуть". Но это все лечение симптомов, а не устранение причины.
P.S. Очень советую не пренебрегать фрагментарным краткосрочным кешированием на высоконагруженных страницах. Поясню на примере главной страницы этого сайта: текст краткого описания новостей можно запросто кешировать скажем на 1 мин. При большом трафике это сильно снижает нагрузку, т.к. запросы к БД и парсинг результата серьезно потребляет мощности. И поскольку новости не обновляются ежеминутно, то такая работа идет вхолостую. Если центральную часть страницы кешировать и обновлять кеш раз в минуту, это даст серьезный профит. А кода для этого надо всего несколько строк.
Ну если учитывать что китайской цивилизации 5 тыс лет, японской конечно поменьше, но тоже немало, то восточные самые долгожители получается, традиции гарантия стабильности и процветания, просто они не рвутся и не кричат на весь мир о своих успехах, их успехи сами за себя говорят, а они методично делают свое дело, вот сейчас Китай "бочком-бочком" и выбился в мировые лидеры, а японцы уж наверно лет 50 в лидерах в области технологий, а европейцы до сих пор живут успехами прошлых веков
"Успешные" китайцы к моменту прихода европейцев сильно отставали в развитии. Они тормозили 5000 лет? И нынешняя индустрия китайцев, это то что им дал Союз и Запад, а не их 5000-летние традиции.
Японская военная техника особенно флот и авиация не уступала американской еще во время второй мировой, а про войну 1905 года вообще думаю лучше промолчать, японцы чуть ли не на голову были технологичнее российской армии
Ага, и советская армия почему-то раскатала миллионную Квантунскую армию за месяц. Причем у японцев потери были в 8 раз больше, чем у советских частей (для наступления должно быть наоборот).
Следует заметить, что танки и самолёты японской армии в 1945 году по критериям того времени иначе как устаревшими назвать нельзя. Они примерно соответствовали советской танковой и авиационной технике образца 1939 года. Это относится и к японским противотанковым орудиям, имевшим калибр всего 37 и 47 миллиметров — то есть годных для борьбы лишь с лёгкими советскими танками. Что и побудило японскую армию использовать отряды смертников, обвязанных гранатами и взрывчаткой, как основное импровизированное противотанковое средство
Советско-японская война
Грубо говоря, "технологичная" японская армия могла только еще более отсталых китайцев и корейцев гонять.
iUser пишет:А вот под сервер с нагрузкой в 50-100 тыс. IP в сутки достаточно простых опенсурсных средств, которые тут упоминались.
Доооо, достаточно. Вот есть тот сервер, там порядка нескольких сотен тысяч в день. xperf-а, там действительно достаточно. Как за те же деньги (ну хотя бы не на порядок дороже) делать что-то с этим опенсорсным болотом - мне не понятна. Да и конкретно тебе, как я понял (раз ты смело приводишь первые ссылки из гугла) тоже.
Давайте уточним цифры - "нескольких сотен тысяч" чего? Варианты:
1.Независимых IP
2.Визитов
3.Http реквестов
Если вариант 1й то постановка задачи звучит как "Мужики, мне тут дали огранить алмаз в 500 карат. Никогда это не делал, а гугль молчит про это. Кто что подскажет?"
Добавлено спустя 03 мин 44 с:
iUser пишет:А вот под сервер с нагрузкой в 50-100 тыс. IP в сутки достаточно простых опенсурсных средств, которые тут упоминались.
Сервера для вас ограничены веб-серверами?
Я так понял, что топик-стартер имел ввиду именно веб-сервер:
Есть сильно нагруженный интернет ресурс.... linux+ngnix+mysql+php
Допускаю, что можно на такой связке наваять что-то специфичное, но в большинстве случаев LAMP == сайт.
iUser пишет:а не американцев или европейцев, работавших на Sony?
А какое имеет значение кто работал на корпорацию, если «дух» и порядки в ней исконно японские, и руководство в ней, задающее пути развития и действия тоже японское?
Огромное значение. От того, кто задает изначальную мысль, архитектуру, идею зависит успех всего предприятия. Как раз таки национальные "дУхи" и являются тормозом в технологическом развитии, т.к. эти традиции тормозили веками развитие восточных социумов. Китайцы первыми открыли порох, явления электричества, бумагу, печатаное дело, компас, причем гораздо раньше европейцев. Но дальше подсмотренных в природе явлений они не пошли, копируя из поколения в поколение одно и то же. И когда они столкнулись с европейцами, то у китайцев так и были луки и стрелы, а у европейцев огнестрельное оружие. И столкнулись они не в Европе, а у себя в Китае, куда добрались именно европейцы. Хотя стимулов для развития у китайцев было более чем достаточно. Вся история Китая это сплошные войны и перенаселение.
Почему молодая корпорация Sony (а ей чуть более полвека всего) сделала это, а исконно европейские компании, которым по несколько веков, не сделали? Вот в чём вопрос.
Ответ элементарен: копеечный рабочий труд в послевоенной Японии в сочетании с западной инженерной мыслью. Ровно то же самое в Корее, Гонконге, Тайване, Китае и др. восточных странах. Япония просто была первой. А как известно, "кто раньше встал, того и тапки"
iUser пишет:Sony начинала с того, что клепала радиоприемники по американским схемам
Речь не о том с чего начинала, а что изобрела — либо самостоятельно, либо сделав какой-то существенный вклад в изобретение. В частности это портативные магнитофоны, видеокамеры, ну и конечно же компакт-диски.
Вы уверены, что эти изобретения дело рук именно японцев, а не американцев или европейцев, работавших на Sony? Японцы, как и другие восточные народы, отличные исполнители, но не креаторы.
Между прочим, CD были созданы совместно Philips и Sony, причем на базе технологии лазерных дисков Philips. Так что корни изобретения европейские.
iUser пишет:Но что-то не видно этого
А как вы можете это видеть если не были в Китае и не знаете что у них там творится? Вон они Google оттуда попёрли, потому что у них свои поисковики есть. И социальные сети свои у них тоже есть, кстати, с неимоверной численностью.
Хорошее замечание. Именно в Китае еще не был. Надо будет запланировать поездку туда.
Касательно китайских веб-ресурсов, так это фактически клоны западных аналогов. Что, что, а копировать они умеют
Sony, Samsung, LG и т.п. сейчас это наднациональные корпорации. Sony начинала с того, что клепала радиоприемники по американским схемам (заурядный copy-paste), а не начинала бизнес с выпуска чего-то своего уникального. Далее Sony активно скупала/тащила все, что плохо лежало (напр. из советских печатных материалов - опенсурс своего рода был). А теперь у этих корпораций свои центры разработок по Европе. Например в той же РФ. Т.е. используют мозги европейцев в своем бизнесе.
Отличие между культурами весьма серьезное. В западной культуре ценится индивидуальность, личность человека. А в восточных личность ничто, главное социум. Потому они и могут навалить Великую Стену всем скопом, но в науке почти недееспособны. Как и в ПО. Китайцев много, уже давно могли бы создать свою ОС и написать ПО под нее. Но что-то не видно этого, кроме передираний интерфейсов MS на базе Linux (опять же copy-paste).
Япония прошла ту же "мясорубку", что и Союз. Тоталитарное общество, направленное на индустриализацию с жесткими иерархией и задачами у его членов. Япония была первой, среди восточных стран, вступившей на путь интенсивного развития. Но при этом у них преимущественно одни реализации, а не создание чего-то нового. Много вы чисто японского ПО знаете? А ведь там народа немерянно и компьютеризация у них крайне высокая.
И еще, есть похожие примеры в Африке или в центральной Азии? Достаточно один раз побывать в Пакистане или Индии, чтобы понять что там происходит и каков уровень социума. Тот же Китай еще долго будет "перевариваться" цивилизацией и если бы там небыло коммунистической системы, он бы ни чем не отличался бы от того же Пакистана.
Более чем правильно. Европейцы (в том числе и славяне) всегда превосходили по своему развитию остальные континенты. И допускать развала цивилизации категорически нельзя. Мигранты, в большинстве своем, ведут себя как паразиты, качая жизненные соки из общества, и всячески отторгают интеграцию.
Поддержу топикстартера, очень интересный вопрос. Мы давно пробовали найти приличный профайлер, но увы. Поэтому предлагаем клиентам линукс-сервера исключительно как решения начального уровня. Дальше вилы, затраты на то, чтобы оптимизировать сервер под запросы клиента в случае с линуксом в разы превосходят аналогичные затраты на винде.
Смотря про какой сервер идет речь. Оптимизация сервера типа mail.ru или rambler.ru задача конечно повышенной сложности, но там есть штат программеров. А вот под сервер с нагрузкой в 50-100 тыс. IP в сутки достаточно простых опенсурсных средств, которые тут упоминались.
А пому что их нет. Если я правильно понимаю, то, что ты привел, это не профайлер, а софт монитор, что соврешенно разные вещи. Поправь, если я не прав.
Profiler_Installation_Guide.pdf
У компании не одна софтина.
Добавлено спустя 04 мин 29 с:
iUser пишет:Safari 3.2
Что-то тут не то...
Беспокоит Developer Mode c юзерагентом iPad'ного Safari?
Нет, оно конечно можно поебаться с кучей утилит и поковыряться в логах, но кто будет за все это платить? Клиент? Оно ему на[beep] нужно, ему нужен оптимизированный сервис, т.е. максимум производительности за минимум денег, оплачивать изыскания ему в [beep] не впилось.
А почему бы не использовать коммерческие инструменты типа: https://www.solarwinds.com/
Или нужно бесплатное решение и с бесплатным, желательно, саппортом? Если так, то пилите гири самостоятельно: LinuxServerProfiling.pdf