Решил спросить у многоуважемых разработчиков возмож-но ли сделать поддержку стандарта POSIX реально системных вызовов вполне для этого достаточно. Нужна только либа с функцими из стандарта небольшой перечень того что реально нужно было бы пожалуй как минимум:
fork - создать дочерный процесс (ну или просто процесс)
createThread - создать поток
wait - подождать пока не завершится дочерний процесc
execve - переместить образ памяти процесса (например в свопинг которого вобщем нет)
exit - завершить процесс и возвратить статуc
sigaction - калбек на который будет вызван сигналу (кроче реакция на прерывание)
sigreturn - возвратится из обработчика сигналла
kill - посылать сигналл процессу
pause - остановить процесс до прихода следующего сигналла
creat - создать файл
open - открыть файл
close - закрыть
read - читать данные из файла
write - писать
seek - передвинуть указатель текущей позицци в файле
ftat - получить инфо о состоянии файла
dup - новый дискриптор к уже открытому файлу
pipe - создать канал для передачи сообщения между процессами (неуверен что это возможно в минует)
acsess - проверить доступность файла
rename - переименовать файл
mkdir - создать каталог
rmdir - удалить каталог
link/ulink создать удалить элемент каталога
mount/umount - подключить/отключить файловую систему (думаю что в общем это и не нужно но всетаки было бы неплохо особенно если юзается NTFS)
synk - все блоки на свопинг (хоть свопинга и нет)
chdir - сменить рабочий каталог
time получить время в секундах от некоего числа например 1-го января 2001 года т.е. милениума
stime - установить это самое время от милениума
utime - установить время последнего доступа к файлу
times - получить время работы процесса
Все это реально можно бы сделать как набор асмовских макросов или бинарников с подпрограммами, а потом кто хочет может их подключать к себе скажем в С или там Pascal,Oberon,ADA и т.д. ну или юзать в асме. Как по мне реально лучше нежели API с гордым именованием функция 11,12,13,14... И к тому-же в общем какая-никакая поддержка POSIX.
Поддержка POSIX
-
Если бы строители строили здания, так же как программисты пишут программы первый же залетевший дятел разрушил бы цивилизацию.
думаю реализовать все эти функции не сложно. И если у кого ни будь руки дойдут- реализуем.. если нужно будет
я что то путаю но вроде libc худо бедно есть...или он не связан с posix совместимостью?
Currently POSIX documentation is divided in three parts:
* POSIX Kernel APIs (which include extensions for POSIX.1, Real-time Services, Threads Interface, Real-time Extensions, Security Interface, Network File Access and Network Process-to-Process Communications)
* POSIX Commands and Utilities (with User Portability Extensions, Corrections and Extensions, Protection and Control Utilities and Batch System Utilities)
http://en.wikipedia.org/wiki/POSIX
* POSIX Kernel APIs (which include extensions for POSIX.1, Real-time Services, Threads Interface, Real-time Extensions, Security Interface, Network File Access and Network Process-to-Process Communications)
* POSIX Commands and Utilities (with User Portability Extensions, Corrections and Extensions, Protection and Control Utilities and Batch System Utilities)
http://en.wikipedia.org/wiki/POSIX
Большинство функций (если не все) posix в libc (в реализациях, что под коос) имеют вид заглушек, что-то вроде return -1;
SHREDER
Да, эти функции нужны. Лично мне нужны функции работы с потоками. Я подумывал/подумываю об их написании. В моей научной программе много долгих вычислений, поэтому вычислительную часть хочется сделать вторым потоком, чтобы можно было сворачивать окно программы во время вычислений, а не как сейчас...
Дел по научной программе у меня много, когда у меня до чего дойдут руки я и сам незнаю.
SHREDER, раз уж предложение поступило от тебя, то наверное тебе и реализовывать эти функции . У нас в проекте число действующих программистов никогда не превышало 15, а чаще всего в среднем работает 10 человек. И все поуши заняты делами. Причём число постоянных программистов ещё меньше. Чаще всего люди приходят, что-то сделают, а потом куда-то деваются.
Да, эти функции нужны. Лично мне нужны функции работы с потоками. Я подумывал/подумываю об их написании. В моей научной программе много долгих вычислений, поэтому вычислительную часть хочется сделать вторым потоком, чтобы можно было сворачивать окно программы во время вычислений, а не как сейчас...
Дел по научной программе у меня много, когда у меня до чего дойдут руки я и сам незнаю.
SHREDER, раз уж предложение поступило от тебя, то наверное тебе и реализовывать эти функции . У нас в проекте число действующих программистов никогда не превышало 15, а чаще всего в среднем работает 10 человек. И все поуши заняты делами. Причём число постоянных программистов ещё меньше. Чаще всего люди приходят, что-то сделают, а потом куда-то деваются.
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!
Kolibri is best operation system in the world!
Who is online
Users browsing this forum: No registered users and 0 guests