IT в России и мире в реалиях мирового кризиса
1,286,537 7,816
 

  qurvax ( Слушатель )
12 мар 2019 21:34:47

СПО, тудыть его

новая дискуссия Дискуссия  877

Ну вы тут гляжу переругались, горячие финские погромиздыВеселый А вот и еще повод для срача подоспел. Увидал сегодня великое: "вам нужон новый софт чтобы запустить этот калькулятор" Ругался. Думаю над вопросом, как пересадить своих "ылитариев" с былинного отказа человечества по имени вынь 10 на турма на нечто менее стильно-модно-молодежное, желательно халявное свободное, более менее. В связи с чем встает вопрос: а может кто-то уже пробовал упаковать дотнетчика, любителя вижуал студии, в какой-нибудь там CentOS или SUSE? Как там с окружением для той самой разработки? Ну и с остальным, десктоп там красивый итд итп. Сам я кроме убунту ничего с десктопами не видел, и вообще конченый виндузятник. Убунта  в роли десктопа страшна и чуть менее чем совсем убога (жена юзает, ибо стим) а нежное сотрудничество с М$ настораживает, так что это последний вариант. На старт, внимание - срач!Подмигивающий
  • +0.01 / 1
  • АУ
ОТВЕТЫ (61)
 
 
  slavae ( Слушатель )
12 мар 2019 22:01:28

Я тем летом сделал себе новый домашний комп и сначала решил попробовать Убунту. Вполне возможно, я бы примирился и приспособился бы к разным мелочам, но одна мелочь за неделю вывела меня из себя и я поставил Винду ))
У меня на NAS-е в папке Film лежат несколько сотен файлов и папок. PotPlayer под виндой, когда я открываю папку для вызова фильма, просто открывает содержимое папки. В Убунте же попробовал несколько плейеров, все замирают на несколько минут, пока прочитают список файлов и отсортируют. И однажды я сказал - да идите вы в ж с таким программированием ))
  • +0.01 / 1
  • АУ
 
  Удаленный пользователь
12 мар 2019 22:14:14
Сообщение удалено
imrek_
13 мар 2019 12:39:59
Отредактировано: imrek_ - 13 мар 2019 12:39:59

  • +0.00
 
  DarkRaider ( Слушатель )
13 мар 2019 01:14:56

О чём тут думать? Впаривать хрень с  новыми картинками всё труднее. Слава Google Play и прочих iоблаков покоя не даёт. Свой MS Store пока летит плохо-плохо.  Эксперимент с RT тоже летит плохо-плохо. Надо насаждать!

ЦитатаДумаю над вопросом, как пересадить своих "ылитариев" с былинного отказа человечества по имени вынь 10 на турма на нечто менее стильно-модно-молодежное, желательно халявное свободное, более менее. В связи с чем встает вопрос: а может кто-то уже пробовал упаковать дотнетчика, любителя вижуал студии, в какой-нибудь там CentOS или SUSE? Как там с окружением для той самой разработки?


Вставал подобный вопрос, правда не про среды разработки, а про сетевые сервисы.  Делаются вялые попытки изучить Dot net Core. Уже поняли и попробовали,  что просто так дот.нет службу не перетащишь, в любом случае переписывать надо. Так что пока в проме - сидим и не рыпаемся.

По поводу 10ки, альтернатив кроме 7ки из виндов пока не вижу, а они очень нужны. На этом говне только играть и ютуб смотреть можно.
ИМХО, тем кому надо работать НА компьютере, а не С компьютером - пока на опенсурс рано, если не брать печатную машинку конечно,  ну и узкоспециализированные области - само собой.
Хотя есть и удачные примеры работы дотнета вне виндов и кроссплатформенности,  например, проект OnlyOffice
  • +0.01 / 1
  • АУ
 
 
  Соколов Алексей ( Слушатель )
13 мар 2019 09:05:09

А 8.1 - то чем плоха? Восьмерка чистая - да, на любителя продукт.
На 8.1 у меня уживаются и Студия мелкомягкая, и Дельфя 10.3 и даже Дельфи 7 (тут, конечно, пришлось с бубном попрыгать, но работает, компилит и отлаживает).
Работает шустро, грузится в лёт, обновлениями мозг не имеет.
С год назад у меня мамка крякнулась, пришлось на новую машину систему (ту самую 8.1) перетаскивать. Наудачу сделал бэкап системного диска и воткнул винчестер в новый комп. И система поднялась без вопросов типа "а чо это у нас чипсет-то с процом поменялись?" (переход был с древнего Core 2 Duo на Core i5) ))))
  • +0.02 / 2
  • АУ
 
 
 
  DarkRaider ( Слушатель )
13 мар 2019 11:24:14

В ней есть что то, чего нет в 7ке(без бубнов)? Ну кроме потребления ресурсов.
  • +0.00 / 0
  • АУ
 
 
 
 
  Соколов Алексей ( Слушатель )
13 мар 2019 12:17:58

По ощущениям, как раз восьмерка работает шустрее седьмой. По крайней мере загрузка - в разы быстрее.
А так-то, да, после XP SP2 особо в винду добавить-то и нечего.Подмигивающий
  • +0.01 / 1
  • АУ
 
 
 
 
 
  qurvax ( Слушатель )
13 мар 2019 12:43:32

Аж обидно за мелкомягких (некоторых). Под капотом там много чего поменялось. Из того, что помню - у хрюши одна очередь планировщика тредов. У семерки уже "per processor", что сильно сказалось на SMP машинах. Нума, опять жеж. И еще вагон и мелкая тележка.  У Марка Руссиновича подробно написано в последнем издании Windows Internals. Рекомендуется минздравом от приступов скачки под вскрики "Венда ацтой, индусы писали"
  • +0.01 / 1
  • АУ
 
 
 
 
 
  DarkRaider ( Слушатель )
13 мар 2019 13:28:15


Скорость загрузки системы никак не влияет на её производительность. Это лишь показатель того, что вынесли в отложенную загрузку, а что оставили на прошлом месте.
  • +0.08 / 5
  • АУ
 
 
 
 
 
 
  small__virus ( Слушатель )
14 мар 2019 08:17:37

Безусловно. Но тем не менее....
Есть одинаковые машины HP, они на выбор поставлялись с 7 и 8.  Поставки были растянуты и пришли и те, и те.
В общем, 8-ка реально и грузилась быстрее, и работала. Если бы не новое меню "...пуск....", то...
Возможно, это, конечно, частный случай, но тем не менее.
  • +0.04 / 2
  • АУ
 
 
 
 
 
 
 
  sign ( Слушатель )
14 мар 2019 08:56:24

Поставил на 7-ку Samsung V-NAND SSD 850. 
Загрузка стала очень быстрой.
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
  small__virus ( Слушатель )
14 мар 2019 10:10:26

Не буду этого делать.
Вопрос в том, что машины офисники, памяти по 4 гига. Это постоянный своп. Соответственно, это быстрый износ SSD и его выход.
Нафига мне гемморой?
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
  Head790 ( Слушатель )
14 мар 2019 19:22:57

В домашних условиях ресурс не износить, если не задаваться такой целью. У меня старый Kingston в ноуте с такими же 5 гб озу, лет 7 ему точно, никогда не щадил его и скачивал/раздавал на нём торренты, он по прежнему исправен. Если с деньгами туго, можно и бу взять, как 3 кг говядины стоит. Или энтерпрайзы интеловые например, новые дорогие, а слегка бу уже норм, они неубиваемые. Одно повышение отзывчивости этого стоит.
  • +0.04 / 2
  • АУ
 
 
 
 
 
 
 
 
 
 
  small__virus ( Слушатель )
16 мар 2019 09:29:20

Так то в домашних. Так еще там надо на параметры смотреть.
А я про рабочий. Там на 4 гигах запускают 1С, браузеры, ворд-эксель-аутглюк, иногда еще и оракловское приложение и кучу открытых папок. Оно в таких количествах им нафиг не надо, но вот все равно.
Правда, для меня до сих пор тайна великая есть, как офисный редактор текста может память жрать считанными гигабайтами. Вот чего туда напихать можно?...
А про то, что SSD в цене здорово упали за последние месяц-два - спасибо, в курсе. Дома лежит 240 за 1,8к.
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
  slavae ( Слушатель )
16 мар 2019 12:29:45

Пора переходить на следующее поколение )
У меня на домашнем компе стоит Samsung 970EVO в формате M2, скорость последовательного чтения 3.4ГБ/с
  • +0.01 / 1
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
  small__virus ( Слушатель )
16 мар 2019 15:25:59

Это все замечательно, но сакраментальный вопрос - а нафига?....
Как показывает практика, очередное повышение быстродействия чего либо приводит к появлению очередного болта, который забьют программисты на оптимизацию и появление новых проблем, которые из этого вырастут.
Я в принципе не наблюдаю задач, для которых в домашних условиях необходимо подобное быстродействие. Да там даже SSD SATA в большинстве случаев избыточен.
  • +0.03 / 2
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
  Sewer Endemic ( Слушатель )
16 мар 2019 16:54:49

Но как же приятно, когда только комп включил - и уже можно работать! )))
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Поверонов ( Слушатель )
16 мар 2019 18:25:31

А зачем выключать ?
  • +0.05 / 3
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Sewer Endemic ( Слушатель )
16 мар 2019 18:40:21

 
Комп по конфигурации игровой - шумит видимокартой, спать не даёт. Улыбающийся
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  vovbel ( Слушатель )
16 мар 2019 18:54:50

...Шумит, если играть или смотреть видео в HD качестве...
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  olenevod ( Слушатель )
16 мар 2019 18:56:09

А майнинг?Улыбающийся
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Sewer Endemic ( Слушатель )
16 мар 2019 19:07:47

Никакого майнинга... Просто видяха из очень горячей серии. AMD HD6970. Периодически взвывает турбиной. Ну вот спать под такой "акомпанемент" ну вообще никак. Наверное, если разобрать СО, да повыбить пыль оттуда, то полегчает. Но не сильно, т.к. она себя так изначально вела.Улыбающийся
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  donbass.hellas ( Слушатель )
16 мар 2019 19:12:07

А hibernate если делать?
  • +0.02 / 1
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Sewer Endemic ( Слушатель )
16 мар 2019 19:28:23

В принципе можно, но я уж привык выключать... После гибернации всё примонтированное по sshfs, конечно же, отваливается. Но комп думает, что оно ещё примонтировано, просто сервер временно не отвечает. На перемонтирование нужно время. На отмонтирование перед гибернацией тоже время какое-то уходит, так что и тут особой экономии времени не будет. Быстрее, чем "холодный" запуск с SSD, но не намного.Улыбающийся
  • +0.01 / 1
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Head790 ( Слушатель )
16 мар 2019 20:01:46

На Баше настрогать скрипт можно, или готовый переделать. И экономия появится.
  • +0.03 / 1
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Sewer Endemic ( Слушатель )
16 мар 2019 20:29:51

Можно. И это даже будет не очень длинно (в 10 строк уложусь точно). Но зачем? SSD уже есть, ещё несколько секунд выгадывать... Улыбающийся В общем, лень. Веселый
Да, кроме того, я всегда полностью выключаю комп, когда надолго из дома ухожу. А это 5 дней в неделю. В общем, привычнее просто выключать. ))
  • +0.01 / 1
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  TAU
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  slavae
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  adolfus
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  slavae
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  slavae
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Podli
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  adolfus
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Head790 ( Слушатель )
20 мар 2019 12:26:48

Механические проблемы уже не самые распространённые. Чаще всего контроллер выходит из строя, если не учитывать повреждения после ударов и падений. У самого недавно старый HDD накрылся, причина была в контроллере.
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  adolfus
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Head790
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  adolfus
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Head790 ( Слушатель )
16 мар 2019 19:58:48

Банально комфортнее работать, например) Если один хард, и одновременно с него скачивать/раздавать торренты(а скорости уже не 10мбит/с), обрабатывать видео/фотографии(это тоже домашнее использование) или рубиться в новые модные игры, тормоза будут ощутимые. Даже с самым старым SSD этого нет или не так бесит. Современные винты меньше тормозам подвержены, но всё же. Неиспользование SSD сейчас скорее проявление жадности(как 4 ГБ ОЗУ в 2019 году в конторах) или ретроградства:) Это как с электростеклоподъемниками, усилителями рулей, кондеями в машинах, без них прожить можно, но с ними удобнее, или как с перфоратором, который можно заменить ручной дрелью, зубилами и кувалдами). А оптимизации ширпотребского ПО(игр например) особого внимания не уделяют, ибо игры - двигатель прогресса(один из главнейших факторов), если всё будет летать на старом железе, то мало кто станет новые железки покупать. Но ССД в любом случае оправданы.
  • +0.03 / 1
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Head790
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  DarkRaider ( Слушатель )
14 мар 2019 13:07:53


"Скорость работы операционной системы"  вообще понятие достаточно иллюзорное. По сути определяется минимально достаточным количеством аппаратных ресурсов расходуемых ОС для выполнения своей главной функции: запуск и управление ходом работы прикладных приложений. Собственно, чем больше ресурсов доступно для прикладного приложения, тем эффективнее работает операционная система.

При этом наиболее распространённая иллюзия: "тут окна быстрее открываются и кнопочки не тормозят" - она не говорит о производительности системы, она говорит только о говённом уровне программирования, это надо уметь выстроить систему так, чтобы имея Гигабайты оперативки и видеопамяти, кучу ядер, писать интерфейс так, чтобы он тормозил.
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
  Соколов Алексей ( Слушатель )
14 мар 2019 13:23:51


Windows 8.1, в памяти VmWare висит. Папка Windows 20 Гб весит.
Системе почти 6 лет, программы ставились - сносились достаточно активно.
Не падала ни разу, как уже писал был опыт переноса системы с компа на Core 2 Duo на комп с Corei5 "на живую" - просто винчестер переставил. )
Так и живём.Подмигивающий
  • +0.07 / 3
  • АУ
 
 
 
 
 
 
 
 
 
  DarkRaider ( Слушатель )
14 мар 2019 20:51:11


1) Не очень понимаю восторга о том что "за 6 лет не падала" и "после замены железа она взлетела". Это нормальное состояние, просто "при домашнем использовании" такие случае редки и вызывают приятное удивление. Если сталкиваться с подобными операциями переноса часто  - удивлять перестанут, причём это всё то же самое было начиная с XP и NT. Все эти системы при небольшой подготовке (в виде предварительного удаления драйверов) совершенно спокойно качуют по железу и даже по разным платформам, за редкими исключениями связанными с набором железа.  

2) По поводу падений - тоже никакой разницы  в надёжности не наблюдаю (за сотни компьютеров прошедшие со времён XP). Падения виндов самих по себе вешь редкая.  Львиная доля причин связана с тем, что на компьютере делается (прикладное ПО, вирусы, спектр задач), но втором месте разнообразные обновления чего либо (ОС, драйверов,приклада), на третьем - наличие аппаратных дефектов/проблем.

3) По поводу показометра на картинке: да! он красив!

4) На деле -  начиная с Висты кардинально изменился принцип показометра. Теперь он страдает порядочной шизофренией показывая много разных цифр, которые ничего толком не обозначают. Попробую показать на своём примере:



Читаем. Всего 8Гб. Используется 5Гб. Доступно 3Гб из них 300Мв свободно 2800Мв занято динамическим кэшем (новая фича после хрюшки, типа я сама придумаю что бы ты мог запустить, а так же не буду очищать память после завершения уже запущенных программ, вдруг ты их ещё раз запустишь).
Показометр, нам говорит, что выделено 5Гб из 15 = включим в вывод помимо оперативки ещё и виртуальную!

Теперь откроем Монитор ресурсов и прочитаем внимательно столбцы:
"Завершено" - объём виртуальной памяти зарезервированной ОС на процесса.
"Рабочий набор" - объём физической памяти используемый сейчас процессом. Он складывается из:
"Частный" - объём физической памяти используемый сейчас процессом, который не может быть использован другими процессами  +
"Общий"  - объём физической памяти используемый который может быть использован другими процессами, но сейчас используется этим.

Вопрос: сколько в итоге памяти занимает приложение?  500Мб из 8192? 1Гб из 16?
Зачем используется виртуальная память, если и 500 и 1000мб свободно влезают в оперативную целиком?  При этом этот процесс не 32битный и ограничения в 2.2Гб на процесс тут нету.
Зачем используется виртуальная память для процессов занимающих 4Мб памяти?
1 столбец "завершено" не бьётся с цифрами "Кэшировано", он в сумме сильно больше то есть это лежит не в оперативке, а реально на диске?
3 столбец "общий" тоже не бьётся с цифрами "Кэшировано", он в сумме меньше, то есть это и не динамическая память.

Ещё немного показометра:
Выгружаемая память ядра - 643Мб.  Известно, что "выгружаемая" - это та, что может попадать в своп, но неизвестно в свопе ли она сейчас.
Где эти 643мб?  По монитору складываем рабочий набор получаем 4.7гб из 5.2 "использующихся", следовательно память ядра включена в "используется", но в процессах не отображается?

Ах да!  64бита это же КРУТО!  намного круче чем 32! Правда, почему то, никто не думает, что одна и та же программа, при использовании 64битных переменных вместо 32битных начинает занимать в 2 раза больше памяти на одну и ту же работу.

5) Вот мы сейчас философствует о размере потреблённой ОС памяти, при том, что этот показатель тоже весьма косвенный. Опять же если только по этому судить, то хрюшка получится победителем со 117Мб всей потребляемой памяти чистой хрюшки, против 450-500Мб семёрки и 800Мб 8ки и 10ки. По хорошему надо сравнивать максимальный объём памяти выделенный прикладному приложению  системой при отключенном свопе(чёго то ДОС вспомнился, с борьбой за память ниже 640Кб) и общем объёме памяти в 2Гб.


6) Сконцентрировавшись на памяти, забыли о процессорном времени. Любимый показометр опять таки не даёт достоверной картины о том, какой процент ресурсов тратится на обеспечение работы самой ОС. Привычные 2-10% показометра - это нагрузка создаваемая службами и вспомогательными приложениям. Если при этом включить показатель "Вывод время ядра" будет частично видно сколько времени кушает ядро системы. Можно сравнить системы по количеству системных процессов и потоков минимально необходимых для обеспечения стабильной работы системы, это количество растёт от версии к версии.
  • +0.08 / 4
  • АУ
 
 
 
 
 
 
 
 
 
 
  slavae ( Слушатель )
14 мар 2019 21:13:45

Когда в 90-х я работал в Висте, у меня был рабочий диск с 95-й виндой, который я подключал к любым компьютерам, когда мне надо было что-то проверить или сделать. Я с тех пор сильно удивляюсь, что операционка может не запуститься хотя бы в безопасном режиме )
  • +0.05 / 3
  • АУ
 
 
 
 
 
 
 
 
 
 
  qurvax ( Слушатель )
14 мар 2019 22:07:19

Палегче ) Да, по памяти там немножко криво все. Но можно почитать, разобраться, и все сойдеться. Если хотите, могу на выходных написать псто, что на самом деле эти цифири значат, вольным переводом из мной уже упомянутой книги.  Теперь по поводу фактических несостыковок:
а) "одна и та же программа, при использовании 64битных переменных вместо 32битных начинает занимать в 2 раза больше памяти на одну и ту же работу" Это верно, если воспринимать дословно. Но вывод, что на 64битной ОС переменные вдруг становятся в два раза толще - неверный. Это не так, совсем. Переменные ж вообще дело не ОС, а погромистаПодмигивающий Но я понимаю, о чем речь. О встроенных типах данных. Вроде int, long и т.д. Вот там влияние есть, но там все сильно сложнее. Таблицу размеров типов данных в винде х86 и х64 приводить не буду, ее можно легко нагуглить, если кому вдруг и правда интересно.
  К тому-же "занимаемая програмой" память - понятие комплексное. Возможен (и часто встречается) как случай, когда те же данные в памяти использует несколько приложений (процессов). Так же возможен и обратный вариант, когда ни в каких счетчиках процессов пары десятков гигабайт памяти нет, а она чем-то да занята. Все эта байда лезет из понятия "виртуальная память". А это, тащемта, одна из основных фишек винды. Ну и как вишенка на тортике: отображаемые файлы. Они попадают (тут боюсь на3.14здеть), но вроде прям в счетчик воркинг сета. Но не обязательно их страницы уже в памяти (грузятся они туда по классическому hard fault). Это штоб считалось нам веселее.
 Далее, "Привычные 2-10% показометра - это нагрузка создаваемая службами и вспомогательными приложениям.". Моя любимая темаУлыбающийся  Тут все сложно, если пытаться в процентах мерять. На самом деле нет никаких процентов. И никогда небыло. На совести маркетологов, гори они в аду. Реальную "загрузку создаваемую" отображает в повершеле команда get-process. В секундах. Там тоже есть нюансы, но в общем случае это время, которое все треды процеса пребывали в состоянии running, т.е. исполнялись на каком либо из ядер.
Ну и самый смак: "Если при этом включить показатель "Вывод время ядра" будет частично видно сколько времени кушает ядро системы" - деза детектед. Этот показатель указывает, какую часть времени тред провел в режиме ядра. Например треды класических драйверов там проводят (почти)все свое время. Но (почти)любой тред туда переключатся хоть изредка. Бай дезайн. Как видим, к "ядру системы" (т.е. kernel, kernel executive, и windows subsystem (или lxss, или, ранее, posix даже)) сие отношение имеет чуть менее чем никакое. Определить, сколько времени процессора(-ов) заняло исполнение "системного кода" (написаного М$, а не васей) без помощи использования ETW-трасировок и отладчика  - я считаю, что и невозможно.
  • +0.12 / 8
  • АУ
 
 
 
 
 
 
 
 
 
 
 
  DarkRaider ( Слушатель )
15 мар 2019 23:14:25


Я стараюсь использовать точные формулировки и, в данном случае, меня надо понимать дословно, попробую объяснить почему:

1) "поддержка 64 бит" - это наличие в процессоре инструкций (операндов) способных обрабатывать 64битные параметры(регистры) за 1 такт.

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

3) "Переменные ж вообще дело не ОС, а погромиста" (надеюсь погромист - оговорка по Фрейду?).  Переменные в программе - не что иное как выделенный участок в оперативной памяти строго заданного размера. Память в винде жёстко выделяется из "общей кучи" (heap) на каждый процесс и поток. Не стоит заблуждаться - не типизированные языки программирования - отдают привилегию определения типа компилятору, который обычно выбирает максимально возможный вариант "чтобы всё влезло". И да, абсолютно все используемые в коде переменные - это кусок в выделенной процессу памяти.

4) "Вроде int, long и т.д. Вот там влияние есть, но там все сильно сложнее. " Тут нет никаких сложностей, раньше в большинстве компиляторов тип int занимал 16 бит, тип long 32 для 64 бит был отдельный (long long, int64). По мере схода с арены 16битных процессоров, программ и внедрения сначала 32, а потом 64битных инструкций, компиляторы меняли типы данных по умолчанию и сейчас "общепринято" int=32 бита, long=64.

5) Абсолютно все переменные в текущий момент времени исполнения - это ячейки памяти, соответствующего размера и целый тип long сейчас компилируемый будет занимать 64бита памяти на 1 переменную. Если код компилировать под win32 платформу с указанием типа long - будет по умолчанию использована длинна 32 бита. Одной и той же программы. Одного и того же компилятора. Одна и та же переменная ЦЕЛОГО типа будет занимать в 2 раза больше/меньше места в памяти в зависимости от платформы. Обратная сторона медали, если задано жёсткое соответствие типов и в программе строго прописан int32, int16,byte  - они будут занимать одинаковое количество  памяти для обоих платформ.

6) "К тому-же "занимаемая програмой" память - понятие комплексное".  Понятие вполне реальное если представлять какие типы где используются и на что указывают. Действительно, при компиляции программы под 64 бита - объём занимаемой ей памяти возрастает не вдвое потому, что в программах используется не только "длинные целые" типы данных, но их не мало, если учесть, что все указатели тоже становятся 64битными. Откуда, собственно, возможность использовать больше оперативки? Это возможность в качестве адреса указывать число превосходящее диапазон 32бит (2 147 483 647байт). Отсюда же взялось в 32битной системе ограничение 2.1Гб на один процесс. В остальном, "прекрасная маркиза" - всяческие виртуальные области, совместное использование памяти разными программами - это выверты арбитра памяти ОС в интересах "оптимизации себя любимого", ни одна программа об этом доподлинно не знает, что кусок её массива вдруг уехал в виртуальную память (своп). Скажу больше, совместное использование общей области памяти даже в рамках 1 программы, но параллельных потоков - это вполне приличный геморрой с возможным блокировками и прочими ухищрениями. Отдельная и интересная тема в программировании - синхронизация параллельных потоков.

7) К слову "64битное ускорение" - это яблоко с той же яблони.  Если раньше 1 операнд для обработки 1 числа диапазона 64 бит занимал 2 такта по 32(старший регистр и младший)  ввиду того, что аппаратно его инструкция была так реализована, то "потом" его научили  делать операцию за 1 такт со всем числом.


Цитата... Далее, "Привычные 2-10% показометра - это нагрузка создаваемая службами и вспомогательными приложениям.". Моя любимая темаУлыбающийся  Тут все сложно, если пытаться в процентах мерять. На самом деле нет никаких процентов. И никогда небыло. На совести маркетологов, гори они в аду. Реальную "загрузку создаваемую" отображает в повершеле команда get-process. В секундах. Там тоже есть нюансы, но в общем случае это время, которое все треды процеса пребывали в состоянии running, т.е. исполнялись на каком либо из ядер.


И тут всё тоже несколько неоднозначно. Что такое на самом деле "загрузка процессора"?  Каждое реальное ядро процессора, каждый такт выполняет 1 операнд с текущей частотой, на которой в данный  момент работает  ядро (современные процы могут менять частоту ядер и отключать их по мере надобности). Если (Turbo boost) не активен, то 4хядерный процессор на частоте 3ГГц выполняет 4*3*10^9 инструкций в  секунду. Всегда. В любом случае. Допустим в системе 100 процессов, 1000потоков(поток по сути  тот же процесс, только с контекстом безопасности наследованным от родительского процесса и от него же зависимый). Вся эта тысяча параллельных потоков с определённой частотой попадает на 4 ядра, переключением завидует арбитр управления задачами ОС(и это не диспетчер задач). Как показывает get-process, большую часть времени процессор "простаивает"? Но остановится реально он не может, он всё равно исполняет положенных 12*10^9 операндов за секунду. Что же происходит?  В свободное время он выполняет "пустую" инструкцию(nope).  Следовательно - реальная "нагрузка" это отношение команд nope на конвейре  ядра по отношению к общему числу операндов за единицу времени. Откуда его взять?  Да ни откуда. В процессорах нет аппаратных счетчиков нагрузки и все эти секунды и проценты - берутся из арбитра управления задачами ОС, так как именно он решает когда переключить ядро на какой поток и делает это по своим алгоритмам.  А посему - "они всё врут" если брать буквально.

Цитата...деза детектед. Этот показатель указывает, какую часть времени тред провел в режиме ядра. Например треды класических драйверов там проводят (почти)все свое время. Но (почти)любой тред туда переключатся хоть изредка. Бай дезайн. Как видим, к "ядру системы" (т.е. kernel, kernel executive, и windows subsystem (или lxss, или, ранее, posix даже)) сие отношение имеет чуть менее чем никакое.


Прежде чем словами кидаться, Вы, бы, любезный, изволили сначала ознакомится хоть с какой то информацией по вопросу "что такое режим ядра?".
Начните с простого  -  вики и хабра.

Когда осознаете - сами поймёте, что сморозили.



Это всегда было крайне зависимо от железа. Если установленные драйвера не вызывали bsod на новом железе (обычно при смене типа платформы) сразу, то они удалялись уже на новом месте после загрузки. При удалении драйверов  винда заменяет жизненно важные драйвера стандартными, хоть как то работающими на любом железе, это делала и хрюшка и NT и все последующие одинаково (выпадали из общей картины только 2000 и Виста ввиду того, что сами по себе были нестабильны и вопрос драйверов там был не решён нормально). Естественно играть в рулетку желания не было, поэтому старались делать заранее, но не всегда была возможность.  Через мои руки прошли сотни компьютеров (когда я ими ещё занимался) - поверьте, разницы между версиями виндов в этом вопросе нет.

ЦитатаЗато и использовать можно не 4 Гига оперативки, и даже не 8.Подмигивающий

Кто бы спорил. Удобно. На мой взгляд гораздо важнее, что исчезает ограничение в 2.2 гига на процесс.
К слову, 32битная Enterprise  версия Windows Server  умела нормально работать сверх 32битных ограничений оперативки благодаря специальному механизму распределения памяти. Но ограничение на на процесс оставалось.

ЦитатаВы же сами заострили внимание на "сколько ОС оставляет ресурсов приложениям"? Я показал то, что наблюдаю в своей системе, и то что мы наблюдаем, показывает что особой разницы в объёме потребляемого на нужды ОС между 7 и 8.1 нет. Не согласны?Подмигивающий

Не согласен.
По памяти 450-550 (7ка) против (750-850) чистая установка на 8 и 10.
Вот тут попались  скрины от 7ки.
Ещё было бы недурственно сравнить количество системных процессов и потоков, но такие скрины я сходу не нашёл.

З.Ы. Вопрос на любителя, но для меня +3-4сотни мегабайт, десяток процессов, 2-3 десятка потоков, 2-3 процента "холостого хода", пяток не отключаемых и не нужных мне свистелок, окончательный уход в тотальное шпионство почище Андроида - это недостаточная плата за корявые интерфейсы с нулевой эргономикой (для стационарного компа), при полном сохранении основной функции - обеспечении запуска и работы прикладных приложений. Впрочем, я не игроман и не могу оценить всех прелестей "очередного нового DirectX" (этот механизм  поднятия продаж известен со времён хрюшки).
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
  qurvax ( Слушатель )
16 мар 2019 00:21:36


Да лааадно?
А тут о чем?
https://docs.microso…25d93e4ba2
Или тут?
https://docs.microso…ew=vs-2017

Таки существуютУлыбающийся Но если вы о регистрах, то давайте о регистрах. Я не противУлыбающийся Вот без жаб и дотнетов давайте обойдемся, т.к. совершенно лишний слой.



Это просто мое любимое словечко. Не сильно люблю этих, ввиду постоянного пребывания вблизи результатов их жизнедеятельности. Достаточно дипломатично?Улыбающийся



Память какая? Под переменные? Или вообще? А как же VirtualAlloc? Так не обязательно из кучи, наверное, да?



Да, компиляторы и разницу в них я как-то упустил из виду. Но, вернемся к нашим баранам, написаное вами ведь не означает автоматического увеличения потребной памяти в 2 раза изза x64. Согласны?




Я так понимаю, это означает, что никаких в 2 раза не будет и близко.




Понятие да, реальное. Но комплексноеУлыбающийся Я в курсе за ограничение, откуда и почему оно. Тут спорить не буду. Считаете за выверты - ваше право. По мне так вполне внушающая и, внезапно, довольно надежно работающая технология.



Термин "64битное ускорение" как-то прошел мимо меня. Удивительное рядомУлыбающийся



Это все примерно так (только процессор не всегда "молотит", C-state'ы забыли, и паркинг, ага). Ну и хотплаг проца. Вот непомню, винда умеет в него или нет.



Ась? Я тащемта вроде в курсе, что такое "режим ядра", и чем он отличается от "Ядра операционной системы и служебных компонентов"(цитата неточная, бо по смыслу). Ничего вроде не сморозил. Ткните носом, если что.


Кстати, подсказка от "морозящего", про перенос платформ: разведка сообщает, что раньше у винды вроде бывали разные HAL'ы...
И еще, порылся в книжке на предмет "откуда брать "нагрузку"". В TCB есть поле, зовется cycletime, смещение 0х048. Тоже может врать, если треду не дали довыполняться до отмеренного ему времени (quantum), и выпнули на мороз,  но не сильно. Вот оттуда и считают, если по людски.
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
  DarkRaider ( Слушатель )
16 мар 2019 03:44:53


Извиняюсь, не проникся.

Protocols

Microsoft publishes technical documents for protocols that are implemented in Windows client (including .NET Framework) and Windows Server (collectively Windows), Office, SharePoint Products and Technologies, Exchange Server, and Microsoft SQL Server and are used to communicate with other Microsoft software products.        

Майкрософт публикует тех.документацию о протоколах реализованных в (список) и используемых для связи с остальными продуктами Microsoft.( оно)
Вторая ссылка на описание стандартных типов языка C++, на котором написаны все винды.   Ну и что? Есть подобная спецификация для любого типизированного языка и все друг друга дублируют по сути.   Пытался донести, что все эти типы - лишь отражение реализации компиляторов по возможности использования 64битных инструкций процессора и с ОС как таковой это не связано.

ЦитатаПамять какая? Под переменные? Или вообще? А как же VirtualAlloc? Так не обязательно из кучи, наверное, да?

Не обязательно, конечно. Можно явно указать из какого региона резервировать. Вот тут рассмотрены варианты резервирования памяти. Я же имел ввиду ситуацию когда процесс переезжает в своп по решению арбитра памяти ОС, а не когда он сам на это заранее запрограммирован.

ЦитатаДа, компиляторы и разницу в них я как-то упустил из виду. Но, вернемся к нашим баранам, написаное вами ведь не означает автоматического увеличения потребной памяти в 2 раза изза x64. Согласны?

Согласен, общее количество памяти при компиле одной и той же программы в режиме 64битной платформы, увеличит общий объём потребляемой процессом памяти меньше чем в 2 раза, так как в программе используются не только целочисленные типы данных. В то же время в 2 раза вырастут объёмы не только объявленных переменных длинного целого типа, но и указатели, таблицы вызова и прочая неявная хрень.


ЦитатаТут спорить не буду. Считаете за выверты - ваше право. По мне так вполне внушающая и, внезапно, довольно надежно работающая технология.

Я тоже не считаю её плохой.


ЦитатаТермин "64битное ускорение" как-то прошел мимо меня. Удивительное рядомУлыбающийся


3. Шина данных процессора

Одной из самых общих характеристик процессора является разрядность его шины данных и шины адреса. (Вспомните, что такое шина).
Когда говорят о шине процессора, обычно имеют ввиду шину данных, которая является набором соединений, для передачи и приема данных. Чем больше сигналов
одновременно поступает на шину, тем больше данных по ней передается за определенный интервал времени, и тем быстрее она работает. Разрядность шины данных подобна
количеству полос автомагистрали - чем больше полос, тем больше поток машин, чем шире шина данных, тем больше данных за одинаковые промежутки времени по ней передается. В
процессоре 286 для приема и передачи двоичных данных используется 16 соединений, поэтому их шина данных считается 16-разрядной. У 32-х разрядных процессоров (например,
486), таких соединений вдвое больше, поэтому за единицу времени они передают и
получают вдвое больше данных, чем 16-и
эффективность выше. Современные процессоры (начиная с Pentium) имеют 64-х разрядную шину данных, поэтому они могут передавать в системную память по 64 бита за один такт.
Такая реализация позволяет ускорить обмен данными между быстрым процессором и относительно медленным ОЗУ при неизменной рабочей частоте последнего за счёт
повышения пропускной способности шины данных (вспомните, что такое пропускная способность шины).

Взято отсюда

И вот тут можно найти интересные моменты.


ЦитатаЭто все примерно так (только процессор не всегда "молотит", C-state'ы забыли, и паркинг, ага). Ну и хотплаг проца. Вот непомню, винда умеет в него или нет.

Извиняюсь, я  не забывал   ....(современные процы могут менять частоту ядер и отключать их по мере надобности). Если Turbo boost не активен, то...


ЦитатаАсь? Я тащемта вроде в курсе, что такое "режим ядра", и чем он отличается от "Ядра операционной системы и служебных компонентов"(цитата неточная, бо по смыслу). Ничего вроде не сморозил. Ткните носом, если что.


Цитата...Но (почти)любой тред туда переключатся хоть изредка. Бай дезайн. Как видим, к "ядру системы" (т.е. kernel, kernel executive, и windows subsystem (или lxss, или, ранее, posix даже)) сие отношение имеет чуть менее чем никакое...


Цитаты приведённого хабра:
...
Многие из вас, уважаемые хабровчане, пользуются функциями ядра Windows. Однако далеко не все представляют себе, как же эти функции вызываются.
...
Эти функции можно разделить на несколько групп:
   Kernel API — функции находятся в ntoskrnl.exe (на самом деле обычная dll), основные функции ядра.
   Windowing API — функции находятся в gdi32.dll, функции для работы с окнами и графикой.
   Messaging API — функции находятся в user32.dll, функции обработки сообщений.

...
Вызов функций ядра в режиме ядра.
В принципе, имеем все то же самое, но…
Если внимательно просмотреть список функций ядра, то можно заметить, что существуют функции, полностью аналогичные nt- функциям, но с префиксом zw-. Все они однозначно отображены на nt функции. Однако в режиме ядра они работают по-разному.

...
В связи с чем возникает вопрос — а что, если я выхову zw- функцию из режима пользователя? Система все простит? Не совсем. Если в usermode вызывается zw, то он просто вызовет своего nt- близнеца.

Вы явно жахнули с плеча утвердив, что ВСЕ треды(они же потоки) переключаются в режим ядра - это не так. В нулевом кольце действительно сидят драйвера, ntoskernel и часть системных служб, но "обычным" службам и прикладу там делать нечего - все это работает в user-mode.


Не слишком ли от души Вы хватанули?

Помимо перечисленных ограничений, объем памяти, который доступен в той или иной версии 64-битной операционной системе Windows зависит также от коммерческих соображений компании Microsoft. Ниже приведена информация по объему памяти, поддерживаемой различными версиями 64-биными версиями Windows:

Windows XP Professional — 128 Gbyte;
Windows Server 2003, Standard — 32 Gbyte;
Windows Server 2003, Enterprise — 1 Tbyte;
Windows Server 2003, Datacenter — 1 Tbyte;
Windows Server 2008, Datacenter — 2 Tbyte;
Windows Server 2008, Enterprise — 2 Tbyte;
Windows Server 2008, Standard — 32 Gbyte;
Windows Server 2008, Web Server — 32 Gbyte;
Vista Home Basic — 8 Gbyte;
Vista Home Premium — 16 Gbyte;
Vista Business — 128 Gbyte;
Vista Enterprise — 128 Gbyte;
Vista Ultimate — 128 Gbyte;
Windows 7 Home Basic — 8 Gbyte;
Windows 7 Home Premium — 16 Gbyte;
Windows 7 Professional — 192 Gbyte;
Windows 7 Enterprise — 192 Gbyte;
Windows 7 Ultimate — 192 Gbyte;

(из той же статьи на хабре)

Да, и не много ли, чтобы каждому процессу всё доступное к доступу пространство то назначать?


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


"Мамы всякие нужны! Мамы всякие важны!"@стишок про Маму
Про локальную память потока можно почитать тут
Даже если её не брать напрямую, при создании потока к памяти выделенной под приложение, ОС добавляет память нужную для создания потока.
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  qurvax
  • Загрузить
 
 
 
 
 
 
 
 
 
 
 
 
  adolfus ( Слушатель )
16 мар 2019 00:38:06

Каждый процесс в любой мультизадачной ОС (в том числе и в виндовсах) на x86_64, в режиме x64 получает в свое исключительное распояржение все адресное пространство, которое может в данном режиме адресовать процессор. Это до 2^{48} или 256 терабайт. Реально верхняя граница логического адресного пространства устанавливается загрузчиком – он просто в регистр указателя стека загружает максимальное значение адреса, выше которого располагается память, которую используют системные библиотеки, код которых выполняется в рамках данного процесса.  В линуксе, например, процессу в полное распоряжение отдается нижняя половина адресного пространства, что можно увидеть в отладчике, распечатав содержимое регистра rsp сразу после загрузки программы.
Поток никакой отдельной памяти не получает – все потоки, порожденные в рамках процесса, совместно используют логическое адресное пространство этого процесса. 
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
 
 
  small__virus ( Слушатель )
16 мар 2019 09:46:13


Не совсем так.
Просто дескриптор кода и дескриптор данных - разные. В итоге, 4 гига, но только как 2 гига кода и 2 гига данных (в идеальном случае, который не реализуем, всегда будет поменьше).
Некоторые извращения так же позволяют использовать часть кодового сегмента для данных - но это крайне осезависимо и на грани GPF. Крайне не рекомендуется.
  • +0.00 / 0
  • АУ
 
 
 
 
 
 
 
 
 
 
  Соколов Алексей ( Слушатель )
15 мар 2019 10:09:17

Я как раз о выделенном. ) В том-то и дело, что никакой подготовки не потребовалось. А ту же XP, например, без сноса драйверов чипсета Вы на другую мать не перенесете, с вероятностью процентов в 90.

Фраза "частая установка/снос приложений" у меня в посте не просто так. )

Зато и использовать можно не 4 Гига оперативки, и даже не 8.Подмигивающий

Спокойствие, только спокойствие. )
Вы же сами заострили внимание на "сколько ОС оставляет ресурсов приложениям"? Я показал то, что наблюдаю в своей системе, и то что мы наблюдаем, показывает что особой разницы в объёме потребляемого на нужды ОС между 7 и 8.1 нет. Не согласны?Подмигивающий
  • +0.00 / 0
  • АУ
 
 
 
  qurvax ( Слушатель )
13 мар 2019 11:46:27

8.1 - ничем, кроме отсутствия наличия на нее лицензий у нас, любимыхПодмигивающий Ну и не столь уж отдаленных перспектив наступления карачуна  EOL. Так что не вариант.

P.S>
Client operating systems     End of mainstream support     End of extended support

Windows 8.1     January 9, 2018     January 10, 2023
  • +0.00 / 0
  • АУ
 
 
 
  grizzly ( Слушатель )
13 мар 2019 18:28:06

Костлявые ключицы фрейлен Бюхер оскорбляют мои эстетические чувства (С)Щит и меч
Пост-семерочный плоский интерфейс почему-то тоже, хотя это дело вкуса.
Мне лично семерочный аэрогласс кажется более приятным.
  • +0.02 / 2
  • АУ
 
 
  qurvax ( Слушатель )
13 мар 2019 11:42:44

У нас таки шмогли. После пинка заказчиков, вестимо. Но это сервисы, там проще, если есть пинок и команда переписать. И не все переносу подлежит, есть еще слой ископаемого говна легаси, с которым тоже надо как-то иногда работать.


8.1 - ничем, кроме отсутствия наличия на нее лицензий у нас, любимыхПодмигивающий Ну и не столь уж отдаленных перспектив наступления карачуна  EOL. Так что не вариант.

P.S>
Client operating systems     End of mainstream support     End of extended support

Windows 8.1     January 9, 2018     January 10, 2023
  • +0.00 / 0
  • АУ