LINUX.ORG.RU

кто тут себя считает самым крутым С программистом системным, объясните мне.

 , , , ,


0

3

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

Ну а теперь собственно вопросы. Как я, сисадмин, понимая разницу в обработке машинных кодов могу что-то оптимизировать? Что мне даст понимание работы компилятора на низком уровне, я его перепишу чтоль за программиста? У баз данных есть 6 видов репликаций. Статическая, динамическая и ещё 4 не запомнил. Объясните мне какая из них когда применяется? И почему у mysql/portgre все репликации делают мастера всегда read only на несколько секунд и как это компенсировать?

Чтот я про виды репликаций в этом плане вообще ничего внятного не нахожу. В основном гугл показывает про мастер-слейв, мастер-мастер и тп.

Перемещено leave из development

По поводу первого: CISC — это — чего там только нет и по большей части оно никому особенно не нужно. А это вот RISC — do it your self, так сказать. Аналогия, думаю, понятна.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

мне сказали нужно, я должен понимать разницу обработки машинных кодов. Так же я должен понимать, разницу работы компиляторов на этих архитектурах. Почему x86 без pae не имеет большого кол-ва функций, и чем они заменялись.

erzented ()
Ответ на: комментарий от beastie

он мне наоборот сказал, что cisc очень ограниченный и медленный, в то время как риск имеет больший функционал.

erzented ()

Может им проогер нужен, вот и гоняют всех кто на админа идёт прогерскими вопросами.

Но вот почему ты как админ о репликациях бд узнаешь на собеседованиях? Вот в чем вопрос.

anonymous ()
Ответ на: комментарий от anonymous

я знал о мастер-мастер, мастер-слейв и тп. Но вот динамические, статические они мне было без разницы. Я даже нагуглить не могу, что за динамическая репликация у postgre.

erzented ()
Ответ на: комментарий от erzented

С точки зрения админа — разницы никакой.

Всё это ничего не значащие мелочи:

  • RISC бинарники обычно чуть больше
  • Тактовая частота RICS обычно ниже, при той же производительности
  • Современные пограмисты по большей части не знают, что есть что-то кроме x86 (непортабельный код, не всё можно завести)

Я так и не понял — ты на админа или на разработчика OS собеседовался?

beastie ★★★★★ ()
Ответ на: комментарий от beastie

Аналогия, думаю, понятна.

Ни фига не понятно. do it yourself предполагает максимальную гибкость, по твоей аналогии, тебе дают множество компонентов — лезвий, ручек, и тп. и ты сам себе собираешь инструмент. Швейцарский нож в этом смысле, менее гибок, так как имеет фиксированную конфигурацию, но все же дает кое какую свободу маневра. Но просто нож — это самый неуклюжий в этом смысле пример, делаешь только так и не иначе. Какой в этом do it yourself может быть? Тут либо аналогия не верна, либо чтото не так.

theKingOfTheLor ()
Ответ на: комментарий от beastie

на сисадмина web и виртуализации http://spb.hh.ru/vacancy/15477112. Как мне сказал собеседующий, всё это входит в знание никсов. А я типа даже основы посикс не знаю.

erzented ()
Ответ на: комментарий от beastie

как мне сказали, без понимания работы компиляторов и линковок «Server side software deploymen» я значит не понимаю...

erzented ()
Ответ на: комментарий от erzented

It depends.

RISC — это такой BrainF*ck. Что бы быть полным по Тьюрингу достаточно вообще только 3 опкода: MOV, BNZ, DEC. (Но есть и другие комбинации.) Там вся хитрость в конвеере комманд. Это может быть быстро.

CISC же, разве что опкод «Make me Coffee» не имеет. ;) (Но наверно скоро появится.)

beastie ★★★★★ ()

кто попало использует именной тег, а ты — нет?

t184256 ★★★★★ ()
Ответ на: комментарий от beastie

Что бы быть полным по Тьюрингу достаточно вообще только 3 опкода: MOV, BNZ, DEC.

[High Expectations Asian Father]3? Why not 1?[/High Expectations Asian Father]

t184256 ★★★★★ ()
Ответ на: комментарий от theKingOfTheLor

Я как бы намекал на то, что имея только молоток, топор, отвёртку можно сделать всё. (RISC)

Но можно и на каждый пук иметь по отдельному инструменту. Например микроскоп для заколачивания гвоздей. Или урановый лом для закручивания шурупов. (CISC)

beastie ★★★★★ ()
Ответ на: комментарий от beastie

но что я там могу оптимизировать понимая различия в обработке команд? и чем будет обработка коррдинально на x86_64 отличатся от обработки современных спарков ?

erzented ()
Ответ на: комментарий от erzented

Ничем. Собеседовавший был самодовольный, надутый лопух.

beastie ★★★★★ ()
Ответ на: комментарий от beastie

это входит в понимание посикс и работы эвм, я вот хочу понять, мне как админу, что там такого понимать нужно?

erzented ()
Ответ на: комментарий от beastie

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

erzented ()
Ответ на: комментарий от erzented

Честно? Придерживаюсь позиции — avoid it, if you can. Т.ч. особенно глубоко туда никогда не нырял.

PS: оно нужно конечно, но чаще всё же не нужно. Т.к. добавляет кучу гововной боли, оверхеда, а выигрыш с гулькин нос. KISS одним словом.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Бестя, разве тактовая частота рисков меньше? У цисков ведь меньше, ибо у них очень «толстый» такт.

RISC - архитектура с фиксированной длиной команды
CISC - архитектура с различной длиной у разных команд

RISC процессоры легче гонятся по частоте, ибо все команды равнозначны
CISC процессоры в микрокоде (захардкодили в железе) имеют очень и очень тяжелые функции, поэтому гонятся хуже, т.к. за такт должны успеть сделать, например, возведение в степень (не именно возведение, а то, что команда тяжелая, в сравнении с сложением/умножением).

merhalak ★★★ ()
Ответ на: комментарий от beastie

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

erzented ()
Ответ на: комментарий от erzented

Я сомневаюсь, что тебе, как админу, это в принципе нужно. Нам этот курс читали в ИТМО на первом курсе. Что оттуда нужно админу - не знаю, разве что десктоп себе домой собрать захочешь, максимум подогнав компоненты друг под друга, чтобы все всех «раскрывали».

merhalak ★★★ ()
Ответ на: комментарий от merhalak

Те, что я видел — да.

По поводу «успеть за такт» — они и не успевают. На умножение надо 10 тактов, на возведение в степень 30. (Числа из справочника Стеля, лень смотреть в спеку.)

beastie ★★★★★ ()
Ответ на: комментарий от beastie

Тактовая частота RISC обычно ниже, при той же производительности

Наоборот же. У тебя порезаный набор команд, короткий конвейер и можно задрать частоту повыше, за счёт того, что ядро проще устроено. При этом у тебя, к примеру, адресация памяти только относительно значений в регистрах процессора, соответственно ты должен явно сделать load/store тогда как cisc это сделает за тебя.

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от erzented

У мускуля не р/о несколько секунд, у мускуля другая большая проблема: включить бинлоги можно только через рестарт сервера :(

leave ★★★★★ ()
Ответ на: комментарий от beastie

Да, я перепутал с «успеть за такт».

Хотя по поводу частот нужно посмотреть. Интел уже с 486-го является RISC «под капотом», а снаружи виден, как CISC.

Во-первых, компьютеры RISC несовместимы с другими моделями, а многие компании вложили миллиарды долларов в программное обеспечение для продукции Intel. Во-вторых, как ни странно, компания Intel сумела воплотить те же идеи в архитектуре CISC. Процессоры Intel, начиная с процессора 486, содержат RISC-ядро, которое выполняет самые простые (и обычно самые распространенные) команды за один цикл тракта данных, а по обычной технологии CISC интерпретируются более сложные команды. В результате обычные команды выполняются быстро, а более сложные и редкие — медленно. Хотя при таком «гибридном» подходе производительность ниже, чем в архитектуре RISC, новая архитектура CISC имеет ряд преимуществ, поскольку позволяет использовать старое программное обеспечение без изменений.

Это по Танненбауму (в ИТМО курс был практически по нему).

С этого момента началась грандиозная идеологическая война между сторонниками RISC и «консерваторами» (VAX, Intel, мэйнфреймы IBM). По мнению первых, наилучший способ разработки компьютеров — включение туда небольшого количества простых команд, каждая из которых выполняется за один цикл тракта данных (см. рис. 2.2), то есть производит над парой регистров какую-либо арифметическую или логическую операцию (например, сложение или операцию логического И) и помещает результат обратно в регистр. В качестве аргумента они утверждали, что даже если системе RISC приходится выполнять 4 или 5 команд вместо одной, которую выполняет CISC, RISC все равно выигрывает в скорости, так как RISC-команды выполняются в 10 раз быстрее (поскольку они не интерпретируются). Следует также отметить, что к этому времени быстродействие основной памяти приблизилась к быстродействию специальных командных ПЗУ, потому недостатки интерпретации были налицо, что еще более поднимало популярность компьютеров RISC.

Цитата оттуда же (Архитектура компьютера, 6 издание).

merhalak ★★★ ()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от erzented

Тут вот есть, как один из вариантов. А вообще, начинать читать от сюда. Методов много и пока ведро гомна не съешь, не разберёшься, какая стратегия лучше для какой ситуации.

Собственно это то и надо понимать, что «едино верного» метода репликации нет. Всё зависит от конкретных условий.

beastie ★★★★★ ()
Ответ на: комментарий от Dark_SavanT

Может и путаю. Но стоит не забывать, что у RISC обычно несколько конвееров. Т.ч. за один такт можно выполнить 4-8-16 комманд и за тактовой частотой можно не гнаться.

beastie ★★★★★ ()
Ответ на: комментарий от erzented

Знание таинств архитектурных конечно имеет опреденённый резон, но не сисадмину и далеко не каждому программисту оно надо. Если админу нужно конпелять потому что программисты не осилили сборку и деплой, то это неправильное место.

Могу подсказать способ обламывать - загоняешь в мозг пару-тройку относительно полезных трюков, которые нужны в специфических ситуациях и знать о них могут разве что весьма толковые спецы и в случае накидывания понтов, говоришь мол: «парни, а теперь я хочу вам пару вопросов задать» и спрашиваешь подходящее. Если отвечают без гуглежа и не особо запариваясь или сразу говорят что не знают - есть шанс что это люди толковые, если съезжают с темы типа «мы тут тебя собеседуем» или «да ваще говно и делать такое не надо» то валить от таких «собеседователей» надо

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от leave

мне, этот разработчик сказал, про какие то несколько секунд, и что надо делать мероприятия для их устранения.

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

erzented ()
Ответ на: комментарий от erzented

как выбирается тип то?

Будешь смеяться, но эмпирически. Одной жопой на все стулья не сядешь. Вот и ищется, как уместиться на хотя бы два из них, так, что бы громко не падать.

PS: fast safe reliable — peek two

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от merhalak

RISC - архитектура с фиксированной длиной команды CISC - архитектура с различной длиной у разных команд

Это косвенный признак, можно и RISC запилить с переменной длиной команд.

no-such-file ★★★★★ ()
Ответ на: комментарий от erzented

но что я там могу оптимизировать понимая различия в обработке команд?

Да успокойся ты уже. Этот дяденька был просто самодовольный болван, а вопросы он тебе такие задавал, потому что сам больше нихрена не знает.

no-such-file ★★★★★ ()

Главное понять, что код может быть переносим на любую платформу, если распространяется в исходниках. Именно по этим причинам был когда то создан двумя чудаками Си, да и вообще unix...

Возможно, в той конторе понимают это как-то по особенному, не совсем «портабельно» ...

Чем больше бинарщины, тем больше подобных вопросов будут задавать. Могу ошибаться, но так показалось ...

anonymous ()
Ответ на: комментарий от erzented

Они 200к предлагают? Если меньше то нах такие собеседования.

loz ★★★★★ ()
Ответ на: комментарий от no-such-file

сначала hr хамло была, потом пришёл этот кадр, и по архитектуре эвм гонял и компиляции.

Проблема ещё в том, что их вакансия одна из самых адекватных на город.

Сейчас есть вообще вакансия, где надо иметь сертификатов, на самом деле иметь, без ссылки на них резюме не рассматривается, более чем на 1,2 млн, если сложить суммы платежей за экзамены, без обучения. А з\п предлагается до 69000.

Но зато там техника с которой я хотел бы поработать.

erzented ()
Ответ на: комментарий от erzented

На эту должность ты правда должен всё это уметь. Туда обычно ленивого программиста нанимают, а не админа. Так что ты пошел не туда собеседоваться.

peregrine ★★★★★ ()
Ответ на: комментарий от leave

ты же этого знаток, приведи мне пример, где статическая а где динамическая репликация.

erzented ()
Ответ на: комментарий от Dark_SavanT

Обычно там админу надо говно всякое очень не очевидное искать (потому и знаний излишне много требуется). Т.е. программисты написали код с виду нормальный, а что-то непонятное происходит. Вот тогда все вместе сидят и репу чешут, что там. В том числе в 30% случаев это непонятное благодаря админу происходит, который что-то не так настроил. Иногда баги в софте бывают.

peregrine ★★★★★ ()
Ответ на: комментарий от loz

В нерезиновой года 2 назад за такую вакансию давали около 100К рублей. Как сейчас - ХЗ.

peregrine ★★★★★ ()

кто тут себя считает самым крутым С программистом

ну и при чём тут С программист? В твоём треде вообще-то ни слова нет.

Насчет того что тебя спрашивали - это такие вещи, которые являются информацией «для общего развития», и есть основами основ в чуть других областях (в твоем случае - в области программистов на низком уровне). Более менее опытный админ знает такие вещи.

А вот насчет «должен» это погорячился товарищ. Он должен был просто сменить тему и поспрашивать тебя что-то другое. Есть вероятность что тебя тупо валили.

reprimand ★★★★★ ()
Ответ на: комментарий от erzented

Нормально. А для Питера и упавших зарплат вообще шикарно.

peregrine ★★★★★ ()
Ответ на: комментарий от erzented

что их вакансия одна из самых адекватных на город

Ну теперь-то ты убедился, что это не так.

более чем на 1,2 млн, если сложить суммы платежей за экзамены, без обучения

Предполагается, что ты долго работал в хорошей конторе, которая платила за обучение.

no-such-file ★★★★★ ()
Ответ на: комментарий от peregrine

да про размер и не жалуюсь. но требования всё же завышенные.

erzented ()
Ответ на: комментарий от no-such-file

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

erzented ()
Ответ на: комментарий от peregrine

Ну так за два года рубль именно в два раза и упал, даже больше уже.

loz ★★★★★ ()
Ответ на: комментарий от peregrine

rly? Ну то есть я, как программист, не отвечу на эти вопросы. От сисадмина бы бд настроить, vpn поднять, деплой автоматизировать да нагрузку на сеть и сервера помониторить. А знание архитектур, компиляторов, внутренностей репликаций это неадекватные и непрактичные вопросы как по мне.

loz ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)