Преамбула: очередные ОСописатели. 15-17 летние донецкие пацаны. Один из разработчиков -- Денис Абрамов -- не умеющее себя достойно вести безграмотное быдло. ОС называется StreamOS -- почти ПаровОС.
Амбула: обработчик системных вызовов. Особенно радуют системные вызовы # и cos.
function sys_call(sc:string):boolean;
var a,c:string;
b:integer;
d:real;
label rep_cyc;
begin
//Provides all system calls from processes
rep_cyc:
if sc='abort' then destroy_process(active) else
if sc='date' then
process[active].str_var[0]:=datetostr(date)+' '+timetostr(time) else
if sc='echo' then begin
a:=read_string(active);
text_out(a,active);
end else
if sc='exit' then process[active].flag:=sh_dwn else
if sc='fork' then begin;
a:=read_string(active);
fork_process(a, active);
end else
if sc='pause' then process[active].flag:=term else
if sc='random' then begin
randomize;
a:=read_string(active);
b:=random(strtoint(a));
process[active].int_var[0]:=b;
end else
if sc='numbertovar' then begin
a:=read_string(active);
c:=read_string(active);
process[active].int_var[strtoint(c)]:=strtoint(a);
end else
if sc='stringtovar' then begin
a:=read_string(active);
c:=read_string(active);
process[active].str_var[strtoint(c)]:=a;
end else
if sc='booleantovar' then begin
a:=read_string(active);
c:=read_string(active);
process[active].bol_var[strtoint(c)]:=strtobool(a);
end else
if sc[1]='#' then begin
sc:=read_string(active);
goto rep_cyc;
end else
if sc='strvartovar' then begin
a:=read_string(active);
c:=read_string(active);
process[active].str_var[strtoint(c)]:=process[active].str_var[strtoint(a)]
end else
if sc='intvartovar' then begin
a:=read_string(active);
c:=read_string(active);
process[active].int_var[strtoint(c)]:=process[active].int_var[strtoint(a)]
end else
if sc='boolvartovar' then begin
a:=read_string(active);
c:=read_string(active);
process[active].bol_var[strtoint(c)]:=process[active].bol_var[strtoint(a)]
end else
if sc='floatvartoscreen' then begin
a:=read_string(active);
text_out(floattostr(process[active].flt_var[strtoint(a)]),active);
end else
if sc='intvartoscreen' then begin
a:=read_string(active);
text_out(inttostr(process[active].int_var[strtoint(a)]),active);
end else
if sc='strvartoscreen' then begin
a:=read_string(active);
text_out(process[active].str_var[strtoint(a)],active);
end else
if sc='boolvartoscreen' then begin
a:=read_string(active);
text_out(booltostr(process[active].bol_var[strtoint(a)]),active);
end else
if sc='sin' then begin
a:=read_string(active);
d:=sin(strtofloat(a));
process[active].flt_var[0]:=d;
end else
if sc='cos' then begin
a:=read_string(active);
d:=cos(strtofloat(a));
process[active].flt_var[0]:=d;
end else
if sc='tan' then begin
a:=read_string(active);
d:=tan(strtofloat(a));
process[active].flt_var[0]:=d;
end else
if sc='for' then begin
a:=read_string(active);
process[active].cycle_var:=strtoint(a);
a:=read_string(active);
process[active].cycle_position:=strtoint(a);
process[active].int_var[process[active].cycle_var]:=
process[active].cycle_position;
a:=read_string(active);
process[active].cycle_max:=strtoint(a);
a:=read_string(active);
process[active].cycle_step:=strtoint(a);
a:=read_string(active);
if a='{' then
process[active].cycle_begin:=process[active].current_line;
process[active].is_cycle:=true;
repeat
a:=read_string(active);
until a='}';
process[active].cycle_end:=process[active].current_line;
process[active].current_line:=process[active].cycle_begin;
end;
end;
в коде файловой системы fs.pp:
if drive_number='1' then drive_letter:='A:' else
if drive_number='2' then drive_letter:='B:' else
if drive_number='3' then drive_letter:='C:' else
if drive_number='4' then drive_letter:='D:' else
if drive_number='5' then drive_letter:='E:' else
if drive_number='6' then drive_letter:='F:' else
if drive_number='7' then drive_letter:='G:' else
if drive_number='8' then drive_letter:='H:' else
if drive_number='9' then drive_letter:='I:' else
if drive_number='10' then drive_letter:='J:' else
if drive_number='11' then drive_letter:='K:' else
if drive_number='12' then drive_letter:='L:' else
if drive_number='13' then drive_letter:='M:' else
if drive_number='14' then drive_letter:='N:' else
if drive_number='15' then drive_letter:='O:' else
if drive_number='16' then drive_letter:='P:' else
if drive_number='17' then drive_letter:='Q:' else
if drive_number='18' then drive_letter:='R:' else
if drive_number='19' then drive_letter:='S:' else
if drive_number='20' then drive_letter:='T:' else
if drive_number='21' then drive_letter:='U:' else
if drive_number='22' then drive_letter:='V:' else
if drive_number='23' then drive_letter:='W:' else
if drive_number='24' then drive_letter:='X:' else
if drive_number='25' then drive_letter:='Y:' else
if drive_number='26' then drive_letter:='Z:' else
begin
streamos_path_to_dos_path:='';
goto cant;
end;
Не это не анекдот, это кошмар какой-то. Воспитательница у них заболела, или как? Вот до чего доводять оранжевые революции.:) Луговского на них натравите:)
>Преамбула: очередные ОСописатели. 15-17 летние донецкие пацаны. Один из разработчиков -- Денис Абрамов -- не умеющее себя достойно вести безграмотное быдло.
Сам ты быдло. Это же дети, в конце-концов. Маленькие еще. Может просто стоит их курс немножко подкорректировать? Пока энтузиазм есть. Глядишь, в процессе чему умному научатся. Ж)
я запостил туда _абсолютно_безобидный_ комментарий. QZ местный модератор испытывает ко мне пылкую любовь, я на него не обижаюсь. Он влепил мне третье _несгораемое_ замечание и запретил постинг в этой теме. И тут это оно A.D. пишет: "QZ, спасибо".
- Товарищи, перед нами стоит серьёзная проблема - многие члены Политбюро начинают впадать в детство. Вот, к примеру, товарищ Суслов - вчера забрал мою коллекцию солдатиков, и не отдаё-о-о-т!!!! :(((
Что-то QZ явно погорячился, бывает у него иногда :)
А про ОС - чуваки конечно зажигают, но лучше бы учились в школе, толку от их поделия не будет все равно. В конце концов, не всем же быть Линусами и Билли, нужны и простые прикладные программисты и дворники и солдаты.
я так давно не ржал)))))))))))))))))))) чуваки жжут жаль только я даже дочитать не успел их ответы, они удалили все наfique только между собой базарят ЗЫ хохляцкий язык рулит
Когда-то, году этак в 2002, когда я ещё читал эхи ru.delphi.*, тамошних корифеев весьма повеселила группа желающих написать на delphi операционную систему, тогда посмеялись немного и всё. Я и не знал, что найдутся любители, которые дойдут до реального воплощения анекдотической идеи. Пожалуй зайду на их сайт, ибо стало любопытно чем и подо что они компилируют свои тексты.
В принципе, написать операционку на _языке_ ObjectPascal (Delphi), по крайней мере в учебных целях, может быть и не совсем уж глупо, во всяком случае при наличии подходящего компилятора, коим delphi ни разу не является, а fp с натяжкой.
Но, блин!!! Они же просто писать программы на Паскале не умеют, впрочем велико сомневаюсь, что ещё на чём!!!!! Детишки подизучили первый в своей жизни более-менее заслуживающий внимания язык и пошли анекдотить.
Давно так не смеялся. В конструкции с 'If' втыкал некоторое время, думал может быть, какой гениальной мысли не улавливаю. :-) :-) :-)
KDevelop + fp для разработки. Кхм. Я уж боялся они delphi используют ;-)
Идея ОС может даже и не совсем глупая на первый взгляд -- сделать ОС сугубо для вычислительных целей, надёжную и не обременённую расходами на переключения контекста, кроме разве самого необходимого. Только малышня забывает, что им придётся озаботиться хотя бы эффективным дисковым вводом-выводом, я уж не говорю про распределение памяти и т.п. и т.д.
А код -- это настоящий шедевр ;-)
Моё пожелание, книжку Таненбаума "Совремённые операционные системы" им в зубы, затем хотя бы первый том Кнута и научиться писать программы без анекдотов. Хотя бы задачник какой порешать.
> Люди занимаються интересным делом. Хобби у них такое...
Должно быть Чувство Правильной Вещи.
А оно должно подсказать, что колонка однотипных if'ов для выбора буквы диска явно что-то не то. Да и в том же Паскале они явно не знают элементарных вещей.
> Они же просто писать программы на Паскале не умеют, впрочем велико сомневаюсь, что ещё на чём
Вот и научятся пока делают. Связались млина с школьниками! Забыли сами в такие годы какой код выдавали? Да я много хуже приведённого в коммерческих проектах, написанных сурьёзными дядями с вышним образованием лицезрел неоднократно... Чё стоит одно только микросовтовское if (a) return True else if (!a) return False else retirn !False && !True, приводимое здесь не так давно...
> Связались млина с школьниками! Забыли сами в такие годы какой код выдавали?
Даже школьнику доступно прочитать книжку по паскалю, чтобы не выдавать такую ахинею. Разве что, это вообще первый опыт написания программ, но тогда непонятны эти рассуждения про процессы, виды многозадачности, posix стандарты и т.д. и вообще второй программой после "Hello World!" должна быть явно не ОС.
Отчасти ты прав, но школьники в все времена славились своими ахинеями. Если ты не вытворял в таком возрасте разное, мне тебя просто жалко. К тому же, этот код много лучше кода виндовся, и они никому свой продукт не навязывают. Это не больше чем развлечение, игра для них.