LINUX.ORG.RU

Требования Windows 8 к железу усложнят загрузку Linux

 , , , , ,


0

2

Среди требований программы выдачи логотипов «Compatible with Windows 8» для железа есть использование вместо BIOS UEFI, частью спецификации которого является защищённый протокол загрузки UEFI, позволяющий установить в прошивку материнской платы ключи проверки цифровой подписи. Если включить безопасную загрузку, то будет невозможно загружать исполняемые файлы или драйверы, которые не подписаны одним из этих ключей, но этот механизм противоречит лицензии GPLv3, под которой выпущен загрузчик GRUB2. Т.е. если производитель не реализовал возможность отключения безопасной загрузки можно забыть про использование других ОС.

>>> Подробности

★★★

Проверено: mono ()
Последнее исправление: Zhbert (всего исправлений: 6)

Ответ на: комментарий от Xenius

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

artem@artem-eee:~$ for i in {1..20}; do echo -n $i\ ; shuf -ez {А..Я} _; echo; done 1 {А..Я}_ 2 _{А..Я} 3 _{А..Я} 4 _{А..Я} 5 {А..Я}_ 6 _{А..Я} 7 {А..Я}_ 8 {А..Я}_ 9 _{А..Я} 10 _{А..Я} 11 {А..Я}_ 12 _{А..Я} 13 _{А..Я} 14 _{А..Я} 15 _{А..Я} 16 {А..Я}_ 17 {А..Я}_ 18 _{А..Я} 19 _{А..Я} 20 {А..Я}_

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

и ещё и отгадывать загадку, что не всегда получается с первого раза.

В этих словах — весь интеллект ЛОРа. «Умри, Денис, лучше не напишешь!»

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

> Пару десятков минут? издеваешься? Где гарантии что не сломается абсолютно все?

Ты прочитал невнимательно? Снять образ диска, обновить на виртуалке, проверить — в это время нет даунтайма. Далее, перейти в сингл-режим, залить обратно, перезагрузиться — даунтайм. Далее загружается обратно — аптайм.

И да, вспомни как часто в линуксе меняют xorg.conf на hal, потом hal выкидывают, перестал следить что там осталось.


xorg.conf.d теперь (udev?), но xorg.conf всегда работал, просто предпочтительный способ настройки менялся.

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

> Препроцессор показатель убогости языка программирования.

Ну так кто-то спорит, что до-диез убогий по сравнению с нормальными языками?

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

> Еще твоя команда не учитывает что не в каждом месяце 31 день.

Ну вернёт сервер ошибку, и что?

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


Ну это и так можно — посмотреть на лог скачивания или на ls и начать с последней даты.

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

И да покажи мне на дотнете, повершелле или wsh хотя бы вот то что со случайными сторками? Сколько времени ты затратишь на написание? Если больше 20-30 минут, то это неприемлемо, потому что тогда быстрей ручками сгенерировать.

Надо сказать win7 отличная система - весь софт какой я видел под ней идет, а старые вирусы не расползаются. Красота?


Надо сказать, что Slackware 13.37 — отличная система. Весь софт, какой я видел под ней идёт, а вирусы не запускаются вообще. Красота?

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

Мы не используем lvm. Снять образ диска онлайн невозможно.

xorg.conf перестал работать - многие настройки перенесены в hal и игнорируются в xorg.conf если что-то там явно не написать.

Я говорю примерно об этом.

http://askubuntu.com/questions/26290/50-synaptics-conf-options-not-working

На старом релизе все работало в xorg.conf, на новом - перестало.

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

Практически каждый макрос свидетельствует о недостатке в языке программирования, программе или программисте. (с) Страуструп

В C и C++ макросы есть, в C# их нет. Значит недостатков в нем меньше.

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

Вот теперь ты точно растолстел. Visual studio (и не говори что не видел) не идет под слакой. вирус могу прислать, 50 метров питоньего кода и бинарников собранных под i386.

Не займет написание 30 минут, доберусь до стационарного компа могу и написать за 5 минут.

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

Вот не скачалась одна картинка из-за ошибок, а ты и не заметишь. Как в этой команде начать с последней даты? у тебя же заданы диапазоны. Я не помню синтаксиса этих подстановок баша на память - мне приходится гуглить каждый раз то что мне нужно. Они для меня выглядят как :%Г№::№*:«*№%:№!;(*?;»%: когда я читаю скрипты.

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

> На старом релизе все работало в xorg.conf, на новом - перестало.

Я у себя в Slackware 13.37 использовал вначале скрипт в автозапуске:
$ cat tmp/touchpad+layout.sh
setxkbmap -layout us,ru -option " -option grp:caps_toggle -option grp_led:caps -option compose:rwin -option terminate:ctrl_alt_bksp
synclient VertEdgeScroll=1

Потом решил всё-таки перейти с костылестроения на правильный способ:
1) Скопировать /usr/share/X11/xorg.conf.d/50-synaptics.conf в /etc/X11/xorg.conf.d
2) Добавить нужные опции (в данном случае одна, остальные по дефолту меня устраивают — но мне удобней боковая прокрутка, а не двупальцевая)

То же самое с раскладкой клавиатуры, правда почему-то включился typewriter, так что нужно наверное ещё указать вариант русской раскладки (хотя в команде setxkbmap выбирался именно winkeys)

Пока иксы не перезапускал, так что не знаю, после моей правки, включится ли правильная раскладка.

Мы не используем lvm. Снять образ диска онлайн невозможно.

Ну вообще, можно и tar юзать наверное.
Кстати, ещё уменьшить даунтайм можно если перезагрузить, поменяв жесткий диск.

C и C++ макросы есть, в C# их нет. Значит недостатков в нем меньше.


В C# меньше значит возможностей. Но если тебе так мешают макросы, можно их и вообще не использовать и писать на C/C++ без них.

Вот теперь ты точно растолстел. Visual studio (и не говори что не видел) не идет под слакой.


Необходимость запускать Visual studio может возникнуть только если нет возможности юзать GCC или хотя бы Borland C Builder. У меня GCC есть, поэтому она мне не нужна. Конечно же я не пробовал запускать под слакой эту фигню, но всё что пробовал заработало.

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

> Вот не скачалась одна картинка из-за ошибок, а ты и не заметишь.

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

Как в этой команде начать с последней даты?


Вот так написать: «{2011..2009}{12..01}{31..01}» — остальное так же.

Они для меня выглядят как :%Г№::№*:«*№%:№!;(*?;»%: когда я читаю скрипты.


Ну это не проблемы баша. По-моему синтаксис вот конкретно этих подстановок интуитивно понятный.

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

Кстати, а в твоём повершелле (да и вообще где угодно кроме баш) есть вот хотя бы такое:?

$ echo {c..a}-{foo,ba{r,z}}{0..3}
c-foo0 c-foo1 c-foo2 c-foo3 c-bar0 c-bar1 c-bar2 c-bar3 c-baz0 c-baz1 c-baz2 c-baz3 b-foo0 b-foo1 b-foo2 b-foo3 b-bar0 b-bar1 b-bar2 b-bar3 b-baz0 b-baz1 b-baz2 b-baz3 a-foo0 a-foo1 a-foo2 a-foo3 a-bar0 a-bar1 a-bar2 a-bar3 a-baz0 a-baz1 a-baz2 a-baz3

По-моему, очень красиво.

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

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

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

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

C и C++ - один сплошной набор костылей. #include стыдливо прикрывает отсутствие модульности, #define - отсутствие именованых констант и обобщенных типов в С. #define в С++ используется уже намного реже, может в C++ 2x его совсем выкинут вместе с #include.

Ты вслушайся в то что ты говоришь про иксы: какие-то правки конфигов, скрипты, костылестроение, «правильные способы», кривая раскладка - вместо того чтобы разок пройтись по кнопкам в панели управления. И не надо рассказывать мне про гибкость - winkeys-клавиатура и тачпад намертво прибиты к моему ноуту, и вероятность их замены там равна 0.

Кстати, ещё уменьшить даунтайм можно если перезагрузить, поменяв жесткий диск.

Угу, сразу два, в raid контроллере. Сейчас для меня очевидна ошибка с выбором дебиана в качестве серверного дистра, единственный годный дистр - rhel (centos). Единственное что мне в нем не нравится - ключи rpm, которые мне не удобны после прекрасного aptitude

И да, пакетный менеджер кажется отличной штукой только до первой попытки обновиться с результатом «500 пакетов будет удалено, 100 установлено, 100500 не обновлено, 20 сломано». Именно так выглядело обновление дебиана с заблокированной версией php5, потому что переход на 5.3 на данный момент не приемлем.

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

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

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

> Пользуясь твой аргументацией - мне такое не нужно

Разница есть — Visual Studio никаких новых возможностей, по сравнению с GCC не даёт и по сравнению с ним ничего не облегчает (или приведи пример какой-нибудь задачи которую на Slackware можно было бы решить через Visual Studio проще чем через свободные утилиты.

Но таки нет или ты не знаешь?

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


Ну так и запишем, то что есть в Windows для одноразовых задач подходит плохо

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

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

Visual Studio облегчает написание нормальных работающих программ на C#. На С прикладные программы не пишут, а на С++ они падают (кде не падает, да). Потому в том же гноме программы пишут на пистоне (от безысходности наверное), который тормознее даже mono, не говоря уже о нативном .нете

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

> И да, пакетный менеджер кажется отличной штукой только до первой попытки обновиться с результатом «500 пакетов будет удалено, 100 установлено, 100500 не обновлено, 20 сломано».

Ты просто не умеешь их готовить. Впрочем в Slackware всё проще — не хочешь — не обновляешь, хочешь — обновляешь.

Угу, сразу два, в raid контроллере.

Можно на один поменять, а потом когда будет ясно что оно работает, записать образ на рейд и воткнуть обратно.

Ты вслушайся в то что ты говоришь про иксы: какие-то правки конфигов, ... вместо того чтобы разок пройтись по кнопкам в панели управления.


Факт в том, что это работает. Да и вот представь что тебе надо на десятке машин что-то настроить? Если настраивать везде через панель управления на каждой — запаришься, а конфиги можно разом по SSH скопировать на все машины однострочным скриптом, даже если puppet нету.

И я получил новое знание — теперь я знаю как настраивать иксы правильно. Через панель управления — это неправильный способ, даже если он даёт результаты, потому что он скрывает природу вещей.

#include стыдливо прикрывает отсутствие модульности


Вообще-то, это и есть модульность — возможность разбить код на отдельные файлы. А что в C# вместо этого?

#define - отсутствие именованых констант и обобщенных типов в С


И какая вообще разница, писать «#define Pi 3.1416» или «const Pi = 3.1416», если в остальном коде это даёт одинаковый результат?

А вообще, если нужен действительно высокоуровневый язык, зачем эти костыли ака C#, когда есть J например?

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

> в make и питоне значимые табы, в баше - пробелы

Табы не одобряю, а значимые пробелы в шелле — это очень удобно. Клавишу пробела нажимать гораздо удобней чем запятую например, а в шелле разделения параметров нужны.

Не забывай, что bash — в первую очередь интерактивная оболочка для повседневной работы в системе, а только во вторую платформа для написания скриптов.

Беда синтаксиса баша - перловое наследство.


Как bash связан с Perl?

Никогда не поощрял использования всех 255 символов как значимых для языка программирования.


И где ты видишь значимость символов ≥ 128?
И да, все буквы и цифры в bash равноправны.

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

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

Да не так уж и радикально, просто придётся русский алфавит вручную писать (да и к тому же он есть в вариантах без Ё и даже без Ё и Й. Это английский однозначный).

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

Ты сейчас успешно подбираешь задачи под решения. Шаг вправо-влево от встроенных утилит shuf и dd - уже адский ад. Найди мне самое длинное слово в тексте (utf8)(самое длинное в символах)(есть русские и английские слова).

А если есть несколько одинаковой длины?

$ cat file 
мама мыла раму
mother washed a window frame
кто-то раму мылы, где-то недомыл

$ file=file; N=`cat $file | grep -o "[[:alnum:]]*" | wc -L`; cat $file | grep -o "[[:alnum:]]\{${N}\}"
недомыл

Предупреждаю сразу, это не самый эффективный код, какой возможен, а то что мне первое пришло в голову.

По-хорошему следовало бы это делать на sed или awk, что бы был только один проход. Но если файл не очень большой, так проще.

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

> Спрошу впрямую - как там поддержка юникода? Куда девается красота баша когда мы просто меняем язык?

В {} и A..Z и возможность писать 00 для выравнивания недавно появилось, так что всё будет, наверное.

Ещё zsh есть, оно вроде как круче чем баш, но не настолько принципиально что бы мне захотелось на него переходить и переучиваться. К тому же bash везде по дефолту, даже в MacOS X.

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

Все языки где в качестве элементов синтаксиса используются не-буквенные символы я называю perl-style. Дальше всех в этом направлении ушел конечно перл (надеюсь видел чудесные картины на нем). Я считаю что синтаксис языка должен состоять из английских слов.

И где ты видишь значимость символов ≥ 128?

<sarcasm>

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

Интересно слушать ваши аргументы. Я намеренно не применял аргумент что powershell появился только что, а bash основан на древнем говне мамонта типа csh.

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

Все языки где в качестве элементов синтаксиса используются не-буквенные символы я называю perl-style.
Я считаю что синтаксис языка должен состоять из английских слов.

not exp log srand xor s qq qx xor
s x x length uc ord and print chr
ord for qw q join use sub tied qx
xor eval xor print qq q q xor int
eval lc q m cos and print chr ord
for qw y abs ne open tied hex exp
ref y m xor scalar srand print qq
q q xor int eval lc qq y sqrt cos
and print chr ord for qw x printf
each return local x y or print qq
s s and eval q s undef or oct xor
time xor ref print chr int ord lc
foreach qw y hex alarm chdir kill
exec return y s gt sin sort split

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

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

Совсем смешной результат у меня получился. Понятно, что проблема в utf8, я на нее намекал изначально.

debian2:/tmp# locale
LANG=ru_RU.UTF-8
LC_CTYPE=«ru_RU.UTF-8»
LC_NUMERIC=«ru_RU.UTF-8»
LC_TIME=«ru_RU.UTF-8»
LC_COLLATE=«ru_RU.UTF-8»
LC_MONETARY=«ru_RU.UTF-8»
LC_MESSAGES=«ru_RU.UTF-8»
LC_PAPER=«ru_RU.UTF-8»
LC_NAME=«ru_RU.UTF-8»
LC_ADDRESS=«ru_RU.UTF-8»
LC_TELEPHONE=«ru_RU.UTF-8»
LC_MEASUREMENT=«ru_RU.UTF-8»
LC_IDENTIFICATION=«ru_RU.UTF-8»
LC_ALL=
debian2:/tmp# file=file; N=`cat $file | grep -o «[[:alnum:]]*» | wc -L`; cat $file | grep -o «[[:alnum:]]\{${N}\}»
mother
washed
window
недомы
debian2:/tmp# cat file
мама мыла раму
mother washed a window frame
кто-то раму мылы, где-то недомыл

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

> Интересно слушать ваши аргументы. Я намеренно не применял аргумент что powershell появился только что, а bash основан на древнем говне мамонта типа csh.

Это в общем-то минус — он не совместим ни с чем, в то время как bash отлично исполняет sh скрипты.

И да, причём тут csh, если Bourne Shell?

И да, хочется синтаксиса, не наследующего совместимость с sh, есть ещё fish. Мне правда не хочется в него лезть.

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

> Понятно, что проблема в utf8, я на нее намекал изначально.

Больше похоже на то, если бы файл недокопировался.

Выведите-ка мне md5sum file и кусочки команды, то есть cat $file | grep -o «[[:alnum:]]*» | wc -L и cat $file | grep -o «[[:alnum:]]*»

И да, кто же такое под рутом пускает?

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

> А это уже радости динамической типизации. Динамические языки я тоже недолюбливаю.

Не, это как раз показывает, насколько перл крут и универсален — хочешь пиши без единого английского слова, хочешь пиши без единого знака кроме английских букв и пробелов.

Каждый может сделать то что ему хочется так как он считает нужным, а не ограничен рамками возможностей языка.

Впрочем по-моему J круче, он более высокоуровневый

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

Если настраивать везде через панель управления на каждой — запаришься, а конфиги можно разом по SSH скопировать на все машины однострочным скриптом, даже если puppet нету.

Чес слово, на десятке машин можно и домен поднять, всяко лучше будет. Как там поднимать домен на линуксах?

И какая вообще разница, писать «#define Pi 3.1416» или «const Pi = 3.1416», если в остальном коде это даёт одинаковый результат?

В данном случае разница в типзации.

Вообще нередко вижу использование макросов вида

#define SWAP(a,b,c) c=a;a=b;b=c;

В этой строке я вижу целую кучу неочевидных ошибок, а ты?

Есть макросы и похуже - почитай ман про FD_SET (который по стандарту posix должен быть макросом). Между прочим, это пример явной глупости в стандарте posix - случайное решение узаконено.

Правильная настройка иксов - не знание, это решение проблемы. Когда пользуешься линуксом, _кажется_, что чему-то учишься (изучаешь конфиги любимого WM, прикручиваешь тачпад к иксам), но на самом деле эти знания не стоят ничего. Точно также я не хочу уметь чинить автомобиль - он просто не должен часто ломаться, а все остальное пусть делают сервисы. Реально учишься только когда решаешь проблемы реального мира - как построить надежную производительную систему решающую задачи бизнеса. Линукс я знаю и использую там где ему место - сервер СУБД и сервер voip (он же интернет-шлюз). +еще пара экспериментальных бездисковых тонких клиентов. При этом сервером этих клиентов выступает windows server 2008, он же контроллер домена. На остальных компах windows 7. Если какую-то проблему можно исправить галочкой в панели управления - я так и сделаю. Если надо что-то настроить разом на всех компах - я сделаю это через ad. Если надо зафорвардить доменную зону - я поправлю конфиги bind. Всему свое место.

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

>Больше похоже на то, если бы файл недокопировался.

Больше всего походе на старый grep. А ещё на это намекает debian.

А вот во всяких tr мультибайтовые кодировки ещё и не начинали поддерживать.

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

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

J без сомнения крутой язык, только вот библиотек под него нету, тулкитов под него нету, программ на нем нету, в википедии лежит пример quicksort - оно конечно красиво, но квиксорт уже встроен в библиотеку любого языка. Было бы интереснее взглянуть на пример CRUD- приложения с базой данных. У мелкомягких совершенно правильный подход - они любой свой продукт комплектуют базой данных «Северный ветер» - пример бд маленькой такой фирмочки и примеры для работы с ней. Квиксорт после школы я не писал ни разу, а круд-формочки приходится шлепать постоянно - не давать же пользователю справочник по sql.

Если язык за 20 лет не получил популярности - его можно хоронить. В нем могут быть полезные идеи, через несколько лет возможно они попадут в другие языки, фанаты будут кричать что в языке Х они появились раньше, но решение принимает все равно мейнстрим.

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

debian2:/tmp# md5sum file
4d64c218fbeab1917ab802a348ee896a file
debian2:/tmp# cat $file | grep -o «[[:alnum:]]*» | wc -L
6
debian2:/tmp# cat $file | grep -o «[[:alnum:]]*»
мама
mother
кто

Вот пример чего нельзя сделать на изкоробочном дебиане :). Я считаю такие проблемы изначальной ошибкой утилит GNU. Они Posix-совместимы, да, но если выбирать между совместимостью с мертвым стандартом и юникодностью - я бы выбрал второе. Винда тоже не была изначально юникодной, но юникод там добавлен довольно давно, и настолько прозрачно, что я обычно не замечаю разницы между юникодными и неюникодными приложениями. Костыли, да, но такие костыли меня полностью устраивают.

Под рутом пускаю я, потому что


debian2:/tmp# df -h
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/sda3 73G 69G 0 100% /
tmpfs 122M 0 122M 0% /lib/init/rw
udev 10M 48K 10M 1% /dev
tmpfs 122M 0 122M 0% /dev/shm
/dev/sda1 177M 6,5M 161M 4% /boot

от простого юзера я не могу положить файл в / :)

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

> от простого юзера я не могу положить файл в / :)

man tune2fs

# md5sum file

4d64c218fbeab1917ab802a348ee896a file


Отличается, должно быть b4d7d14e77ed1b536d004f3155445bbe

но если выбирать между совместимостью с мертвым стандартом и юникодностью - я бы выбрал второе


И где каким местом Posix запрещает юникод?

Я считаю такие проблемы изначальной ошибкой утилит GNU

UTF-8 was first officially presented at the USENIX conference in San Diego, from January 25–29, 1993.



А в каком году GNU появилось? Если не знаешь, подскажу, проект основан в 1984, а в 1991 уже был, за исключением ядра, готов к работе — имеено это и позволило уже к 1993 получить полноценную операционную систему, странно что всё равно юзали MS-DOS.

А называть Posix мёртвым это толсто. Plan9 концептуально конечно круче, но например шиндошс до юниксов ещё ползти и ползти

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

tune2fs я знаю, лень делать, проще сделать sudo su.

выложи файл в интернете, тогда и сравним мд5. Там еще переводы строк и прочее.

И где каким местом Posix запрещает юникод?

Вот это реально толсто. В posix везде передается char*, и posix функции strlen и прочее работают именно с байтами. Это равносильно явному запрету юникода.

в 1984 году можно было догадываться о существовании стран за пределами США. Microsoft, в отличие от POSIX не претендует на создание одного API на веки вечные, и если нужно что-то исправить - они это исправляют в ближайшей мажорной версии системы. Так что поддержка юникода в винде добавлена повсеместно. Юниксоиды сначала написали систему, потом написали по ней стандарт и теперь любой отход от стандарта считается «неполноценной ОС».

Собственно я бы сказал обратное - юниксам до винды еще ползти и ползти. Юникод, бинарная совместимость драйверов, стабильный API, асинхронный API для ввода-вывода (без костылей вроде select). Как система windows nt однозначно лучше.

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

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

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

> имеено это и позволило уже к 1993 получить полноценную операционную систему, странно что всё равно юзали MS-DOS.

Ничего не странно. Под досом в те времена можно было на компьютере с 1М памяти загрузиться с одной дискеты, с нее же загрузить например borland pascal, всунуть другую дискетку и работать с программками на ней. Линукс наверное тогда был слишком прожорлив.

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

> Собственно я бы сказал обратное - юниксам до винды еще ползти и ползти. Юникод, бинарная совместимость драйверов, стабильный API, асинхронный API для ввода-вывода (без костылей вроде select). Как система windows nt однозначно лучше.

Ну вот не надо, что бы ты там не говорил про юникод. он поддерживается. А вот в вашем шиндуше до сих пор в консоли CP866, в гуе одних прог CP1251, других всё-таки вроде UTF, в файловой системе UTF16, а UTF8 вообще нет.

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

API GNU/Linux вполне стабильный, я пробовал не так давно скомпилировать игру, последняя версия которой вышла в 2000-м году и она скомпилилась и запустилась просто отлично.

Про API для ввода-вывода ничего не скажу, но GNU/Linux — это полноценная ОС, изначально следующая стандарту, который пока непревзойдён (а 9P есть и для линукса), в то время как шиндошс половину костылей наследует от QDOS, включая имена дисков.

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

Зато в Slackware 1.01 уже были иксы (правда их предлагалось взять от SLS) А вышла она как раз летом 1993.

Может просто её достать было сложно, в то время как MS-DOS уже тогда навязывали с каждым новым компьютером?

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

>ОС, изначально следующая стандарту, который пока непревзойдён

Лол.

9P

Надеюсь, ты не будешь говорить, что он лучше в general purpose ОС. Да и в линуксе он есть весьма условно и с раздражающими багами. И почти бесполезен без bind(2) и компании.

включая имена дисков.

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

скомпилировать

А запустить нельзя? Тогда эти ваши линуксы неинтересны софтоделам.

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

>Зато в Slackware 1.01 уже были иксы (правда их предлагалось взять от SLS) А вышла она как раз летом 1993.

Ты представляешь себе компьютеры в 93 году? Я за ними работал. Иксы там выглядели бы странно.

О p1 не стоит: в 93 году достать его могли немногие.

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

Винда не поддерживает utf8. API построен на UTF16, из очевидных соображений. Названия файлов хранятся в UTF16 из тех же соображений.

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

это такая дырища в безопасности, что лучше бы они в принципе не поддерживались.

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

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

полноценная ОС, изначально следующая стандарту, который пока непревзойдён

задолбал уже везде вставлять слово «полноценная». Список критериев по которым ОС считается полноценной, в студию.

что значат слова «стандарт не превзойден»? Не превзойден в чем? В кривизне? непродуманности? архаичности? распространенности? Винда все еще posix совместимая, но при наличии лучшего api мало кто пишет программы на чистом posix.

Я вот считаю, что select/poll - костыль, а асинхронные вызовы с callback функциями - продуманное решение.

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

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

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

Бла, бла. На PC первые ОС были семейства DOS (tr-dos, ms-dos). UNIX пользовались те, кто имел доступ к «большим эвм», а это даже не 1% от современного числа пользователей компьютера. Персоналки же вышли из поделок типа sinclair.

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

Вполне возможно, что всякие бараны досом и пользовались. Просто здесь, например, многие о мастдайке узнали лишь году эдак в 1995-2000. А до этого и в ус не дули - работали себе в юниксе (а позже - в линуксе).

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

википедия подсказывает, что UNIX на PDP-11 от дешевых персоналок отделяет всего 10 лет, так что идея примитивной однозадачной системы для запуска програмулек (из которой потом вырос dos) появилась не настолько позднее unix. И да, я называю PDP-11 большим компьютером. Пруфпик http://upload.wikimedia.org/wikipedia/commons/e/ee/Pdp-11-40.jpg Система явно не для обычного пользователя.

farafonoff ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.