linux приоритет процесса



Автор :::SYDAR'::: задал вопрос в разделе Другие языки и технологии

Приоритеты процессов в Linux и получил лучший ответ

Ответ от Владимир Б.[гуру]
В языке программирования C, да и в ассемблере x86, число 0 является положительным.

К примеру возмем любую ячейку памяти, и любое число, вмещаемое в 1 байт, те 8бит, те допускающая 256 комбинаций (за бинарным представлением - на википедию) .
Напомню, машине абсолютно по барабану какой ток находится в ячейке. Но она гарантированно может его сравнить и удержать. Вся память (RAM) организована ввиде адресуемых ячеек, в которых храниться информация.

Ноль объявляется стартовой точкой, с него начинаем считать, тк его както надо представить (именно поэтому проблема 2000года программерами и математиками видится поразному) .
0,1,2....255.
Это позволяет представлять только положительные числа, и это самый древний способ.
Почему не загнать ноль в конец и начать считать с единицы? (1,2,3...255,0). Все можно, но тогда не сможем нормально вычитать 1 из 1. Сложно будет.

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

Диапазон сужается до 128 значений на плюс (0...127),оставшиеся 128 отводятся минус (-1...-128). Стартуем с нуля как и выше.
0,1,2,3....127,-128,-127,-126....-1
Тоесть идем от нуля до 127, а затем начинается обратный отсчет минусовых значений, с предельного до минимального (-1).

Почему именно так?
Для того чтобы можно было из 0(ноля) вычесть скажем 10 и получить -10. Тоесть пойти назад.
К томуже если организовать отрицательные числа подругому, то будет или сложно считать, или не будет совместимости с более старым, только-положительным типом представления чисел (описан выше) .

Вот так и работает, начиная с 8088 и кончая современными i7/Phenom 2.
Ячейки увеличились. С 8бит (1 байта) , до 16, 32, 64х и даже 128 битных чисел. Но принцип остался одним. Только хранимые диапазоны возросли.

Лирическое отступление 🙂
Да, именно поэтому в играх (и в реальных электронных банках) , если шагнуть за ноль, стать беднее ноля, то на голову обрушится МАКСИМАЛЬНО возможно хранимая сумма.
И наоборот тоже работает, вмиг Билл положив один доллар к 127 миллиардам становится бомжом с отрицательными 128 миллионами.

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

Надеюсь с нулем в качестве основы ясно. Вернемся к баранам.

ИМХО то что за основу взят не только-положительный способ представления скорее удобство для человека, чем для машины (ей все-равно) .
А удобство в том, что можно прописать некий "нормальный" приоритет, все что по эту сторону реки можно подтормаживать (и это может делать и не root)
А по ту сторону (отрицательные) более критичные для системы, менять их может только root, да и вписывается это в концепцию разграничения прав в UNIX системе.
Судите сами:
1) системные компоненты (в /bin, /lib, /sbin) и userland, некритичные (в /usr/bin, /usr/lib, /usr/sbin)
2) рут с папкой в /root и остальные с папками в /home
3) начиная с процессоров 386(386 protected mode), разграничение инструкций на привилегированные (т. н. кольцо 0) и непривилегированные (кольца 1,2), Unix насколько знаю очень давно имел этот концепт, и он отлично вписался. Да и винда этим с winnt пользуется, все антивири работают в нулевом кольце, как и вири/руткиты тоже)) )

Если говорить просто, можно легко переделать и в 0-39, но это будет повендячному) А видеть приоритет твоих програм (как простой пользователь) запущенных в ноле (0) намного логичней чем, откуда ни возьмись, в двадцатке. Сразу возникнет вопрос, а почему я немогу сдвинуть в 19? А почему не в ноль, давай в ноль)

Это уже винда будет. Система-нипель.

Ответ от А мне по ФИГ 🙂[гуру]
охринеть как всё сложно однако, +100 Shinobi TeNo за объяснение ))
кстати поправочка: не от -19 до 20, а от - 20 до 20 )) у меня так 😉


Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Приоритеты процессов в Linux

Лагает The Long Dark FPS если врубить ультра около 45, что делать? Графикой игра не блещет
убери ультра и не будь графистом

андрей болдырев
(841)
есть более
подробнее...
спросили в 11 марта
Что такое "зонтичные патенты"? Когда появился этот термин?
Американские "патентные тролли" НИЧЕГО общего с "зонтичными патентами- а ля рус" не имеют.
подробнее...
спросили в Образ Флешка
Как зделать из образа iso загрузочную флешку.
Сделать загрузочную флешку из ISO-образа нам поможет кроссплатформенная программа UNetBootin,
подробнее...

как пользоваться диском аварийного восстановления в касперском? создал, а применить не могу.
Загрузка компьютера с помощью диска аварийного восстановления
Если в результате вирусной атаки
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Железо CubeSat
что такое чипсет
такая квадратнетькая штучка на мамке размером с
подробнее...
спросили в Ядро Linux
Правда ли, что один поток выполняется на одном ядре процессора? Или он может выполняться ядрами параллельно?
по-моему один поток может выполняться параллельно на нескольких ядрах-хотя могу и
подробнее...

Как установить Windows c BIOS ASUS UEFI bios utility?
bios utility, это программа прошивки BIOS
Break®
Искусственный Интеллектподробнее...

установка Windows 7 на ASUS X550C c предусмотренной Windows 8
у тебя юефи, выключи заводские настройки от неё и всё полетит
вкладка 3тья с права вроде
подробнее...
Nice на Википедии
Посмотрите статью на википедии про Nice
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*