LINUX.ORG.RU

Сообщения nerdogeek

 

O(1) kernel sheduler - по сути не O(1)?

Форум — Development

Там 2 очереди: 1 активная, 1 истекшая.
Так вот, когда квант времени процесса истекает, то для него пересчитывается значения кванта (и приоритета). Затем он помещается в очередь истекших.
В итоге, шедулер просто переставляет указатели массивов местами: для истекших и активных.
Но ведь число пересчетов равно числу всех процессов в худшем случае, т.е. за линейное время. Где тут O(1)?

 , ,

nerdogeek
()

Lock-free containers

Форум — Development

Кто-нибудь использовал неблокирующиеся контейнеры? Как оно, есть профит или это только в теории все так хорошо?
Какие либы использовали?

 , ,

nerdogeek
()

Как ядро восстанавливает обработку прерванного прерывания?

Форум — Development

В момент обработки прерывания irq, это прерывание может быть прервано другим прерыванием от той же или другой железки. А как затем возвращается/восстанавливается выполнение предыдущего обработчика?
Ведь обработка прерываний ведется в контексте прерываний, а не процесса.

 

nerdogeek
()

Почему в C++ не запилят интроспекцию / рефлексию?

Форум — Development

1. Успех Qt во многом благодаря его Meta Object Compiler.
2. 2013 год. В C++ нет зачатков рефлексии. Сериализация выполняется вручную...
3, 4... Приведите сами
А теперь вопрос знатокам: почему, [censored], это так трудно сделать?

 ,

nerdogeek
()

А как дела с вакансиями для системного программиста в Минске?

Форум — Job

Посмотрел на сабжевые вакансии Linux программиста в этой стране и впал в легкое негодование.
Все-таки через 3-5 лет сишники под линукс станут мифом, как воспоминание о ъ-хакерах из бородатых 70-х/80-х которые создали Unix.
Приветствуются истории успеха.
P.S. Привет, javaEpam! Аутсорс - наше все!

 , , ,

nerdogeek
()

Багофича эксепшенов с++ ?

Форум — Development

Такой код:

#include <iostream>
#include <stdexcept>
using namespace std;

void g() try
{
    throw std::out_of_range( "range exception" );
}
catch( std::exception &e )
{
    cout << "g() catch " << e.what() << endl;
}

// bool or int exception can be thrown
void (*pf)() throw(bool, int) = g;

int main() {
    (*pf)(); // Должен возникать UNEXPECTED EXCEPTION
    cout << "wtf?" << endl;
    return 0;
}
prompt> g() catch range exception
prompt> wtf?
GCC 4.7.2 - ошибок компиляции нет, работает без unexpected exception (т.е. неправильно).
Что за фигня?

 , ,

nerdogeek
()

real-time posix framework

Форум — Development

Существуют ли какие-нибудь фреймворки облегчающие жизнь разработчикам систем с мягким реальным временем?
Чтобы там были shed_setsheduler(FIFO), запрет свопа для heap, ввод/вывод через mmap и/или aio, epoll и прочие трюки.

 , ,

nerdogeek
()

Выпиливание GIL в CPython

Форум — Development

Почему еще не выпилили?
Я вот занялся бы этим, если там реально задача не из серии переписать все заново.

 ,

nerdogeek
()

Как удалить файл "-rf" из директории /

Форум — General

Скажите, как можно удалить сабжевый файлик из под рута в корневой директории?
Не спрашивайте, как он туда попал, там у мну много уже чего после ночных красноглазых опытов.
P.S. ССЗБ такой ССЗБ

Перемещено post-factum из talks

 , ,

nerdogeek
()

Зависание в boost asio на операции чтения из сокета

Форум — Development

Клиент делает приблизительно следующее:

tcp::resolver resolver( io_service );
tcp::resolver::query query( tcp::v4(), "localhost", "5556" );
socket_.connect( *resolver.resolve( query ), ec );

socket_.send( boost::asio::buffer( ss2.str() ) );
socket_.receive( boost::asio::buffer( buffer_ ) );
Сервер асинхронно принимает соединения от клиента, асинхронно читает из сокета socket_.async_read_some(...), затем записывает ответ асинхронно boost::asio::async_write( socket_, ... ).
Так вот, периодически (очень редко) происходит зависание в socket_.receive() на клиенте. ЧЯДНТ?
Количество соединений на локалхосте где-то порядка пары сотен в секунду.

 , ,

nerdogeek
()

Выполнение скрипта на Python из C/C++

Форум — Development

Вызов скрипта на питоне:

PyCompilerFlags cf;
cf.cf_flags = 0; // ignore os._exit() ?
errCode = PyRun_SimpleStringFlags( scriptString, &cf );
1. Какие значения может принимать флаг cf_flags?
2. Как игнорировать os._exit() в питоне?

 , ,

nerdogeek
()

Использование типа параметра шаблона, еще не определенного

Форум — Development

Есть такой код:

namespace ns {

template< typename T >
struct Buffer { T data; };

struct A {
void m( Buffer< B::ForwardType > arg ) {}
};

struct B {
typename char ForwardType;
};

} // end of ns

Как правильно объявить шаблонный аргумент arg метода A::m ?

 

nerdogeek
()

Impersonate из-под рута без форка

Форум — Development

Есть демон, который работает под рутом.
Нужно сделать чтобы часть кода он выполнял под юзером с известным uid и gid, а затем опять продолжал работать под рутом.
seteuid и setegid не изменяют реальный uid, поэтому привилегии остаются рутовые. Что делать?

 , ,

nerdogeek
()

Заставить перейти юзеров венды на Linux

Форум — Talks

Есть гениальный план.
Создать дистриб максимально похожий на венду: с использованием wine для запуска вендовых экзешников, обоями и структурой файловой системы как в шиндоус и т.д, и т.п.
После того как все перейдут на него, шаг за шагом превращать его в нормальный UNИX-like диструбутив Linux...

 ,

nerdogeek
()

abrtd не может создать дамп упавшего процесса

Форум — General

В чем может быть проблема?
Вот что показывает /var/log/messages :
Jan 14 21:24:54 localhost kernel: [ 1991.806250] f[4480]: segfault at deadbeef ip 0804843b sp bff34630 error 7 in f[8048000+1000]
Jan 14 21:24:54 localhost abrtd: Directory 'ccpp-2013-01-14-21:24:54-4480' creation detected
Jan 14 21:24:54 localhost abrt[4481]: Saved core dump of pid 4480 (/home/user/f) to /var/spool/abrt/ccpp-2013-01-14-21:24:54-4480 (208896 bytes)
Jan 14 21:24:54 localhost abrt[4481]: Lock file '/var/spool/abrt/ccpp-2012-05-28-10:29:12-1751/.lock' is locked by process 648
Jan 14 21:24:55 localhost abrtd: Executable '/home/user/f' doesn't belong to any package
Jan 14 21:24:55 localhost abrtd: 'post-create' on '/var/spool/abrt/ccpp-2013-01-14-21:24:54-4480' exited with 1
Jan 14 21:24:55 localhost abrtd: Corrupted or bad directory '/var/spool/abrt/ccpp-2013-01-14-21:46:59-5194', deleting

 , ,

nerdogeek
()

Выполнение Haskell кода из программы на c/c++

Форум — Development

Питоновский код можно интерпретировать на лету вызывая PyRun_SimpleString(const char*cmd).
Есть ли что-то подобное для Haskell?
Мне нужно именно для Haskell, но для каких еще функциональных ЯП такое тоже возможно?

 ,

nerdogeek
()

Зачем браузерам JavaScript, если есть Python как альтернатива ?

Форум — Talks

Может уже настал тот самый момент когда пора отвернуться от этого javascript...
Всем же очевидно, что js это историческая ошибка.
Стоит ли клепать бесконечные костыли для js, если можно сконцентрироваться на более годном ЯП ?

 , ,

nerdogeek
()

Пути к статическим либам boost

Форум — Development

Какие пути использовать для буста, установленного в системе?
И есть вероятность что в каком-нить дистрибутиве boost будет отсутствовать?

Собираю boost в home директории. Пути для хедеров, либ статической линковки использую такие:
INCLUDE_PATH := -I/home/user/dev/boost_1_51_0
LIB_PATH := /home/user/dev/boost_1_51_0/stage/lib

 ,

nerdogeek
()

Подскажите http файловый менеджер на c/c++

Форум — Development

Чтобы выглядело как ftp-ресурс в веб-браузере, но представляло собой html-файл передаваемый по протоколу http.
Без веб-сервера, т.е. никаких апач-модулей и т.п.
Буду в образовательных целях велосипед писать и меряться с тем, что посоветуете.

 , ,

nerdogeek
()

Чего вы бы хотели от Искусственного Интеллекта?

Форум — Talks

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

 ,

nerdogeek
()

RSS подписка на новые темы