Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2012, 22:21   #1
Archet
Пользователь
 
Регистрация: 04.12.2011
Сообщений: 13
По умолчанию Небезынтересная задача (C++/Assembler, linux)

На примере программы [1] разработать инструмент, препятствующий
созданию ситуации гонки за ресурсом. Ваш инструмент должен состоять
из функции блокировки доступа lock и разблокировки unlock. Эти функции
должны быть написаны на языке assembler для архитектуры x86, а
программа должна компилироваться и исполняться в операционной системе
Linux.

1. threads.c:
Код:
#include <stdio.h>
#include <stdlib.h>
int const_p;

int foo(int a) {
 if (a <= const_p){
 const_p -= a;
 return 1;
 } else return 0;
}

main () {
pthread_t thread1, thread2;
const_p=20;
pthread_create(&thread1, NULL, (void*) foo, 1);
pthread_create(&thread2, NULL, (void*) foo, 20);
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
printf("const=%d\n",const_p);
}
Только вот в связи с отсутствием x86, но наличием x86_64 (core i3, если это существенно) и вполне себе рабочей Gentoo, я прошу присутствующих немного помочь мне в нахождении верного направления мысли. В какую сторону сторону копать в ассемблере х86_64, чтобы найти инструменты для управления прерываниями, и, соответственно, решения этой задачи?

Решение не нужно, хочу сам сделать. Но с ассемблером и программированием в unix'ах пока знаком весьма слабо.

Последний раз редактировалось ACE Valery; 27.03.2012 в 00:02.
Archet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна программа на Assembler под Linux на компиляторе gdb... КатеринаКрамер Помощь студентам 2 30.12.2011 22:55
Задача по Assembler Vanya-tim Помощь студентам 0 29.05.2011 12:58
задача на Assembler Евген101 Помощь студентам 2 01.10.2010 11:48
Реализация функции strncpy на C и Assembler под Linux nomad-shtainer Помощь студентам 0 26.12.2009 20:03
задача по assembler zabava Помощь студентам 2 13.09.2008 16:44