Описание тега systems-programming
Системное программирование - это деятельность системного программного обеспечения компьютерного программирования. Основная отличительная характеристика системного программирования по сравнению с прикладным программированием заключается в том, что прикладное программирование направлено на создание программного обеспечения, которое предоставляет услуги пользователю, тогда как системное программирование направлено на создание программного обеспечения, которое предоставляет услуги компьютерному оборудованию.
1
ответ
Определение смещения в LC3
Мне дали несколько строк кода и сказали написать соответствующие инструкции LC3. У меня проблемы с определением значения смещения. Например: x3100 1110001000100000 Итак, 1110 - это код операции для LEA. 001 означает R1. Остальное смущает меня. Я ост…
03 сен '15 в 02:46
1
ответ
Как определить типы данных
Может кто-нибудь сказать мне, если я делаю это правильно? typedef struct { int *stk; int *sp; } StackType; Я должен определить StackType
19 фев '14 в 01:25
1
ответ
Определение адресации, размера инструкции, размера кода операции. (LC-3)
Так что в этом классе мы много имеем дело с языком ассемблера LC-3. Для задач на одном из наших домашних заданий нам дают это: "Предположим, у нас есть 16 регистров общего назначения, 60 кодов операций, размер команды 20 битов и 64 Кбайт доступного …
02 сен '15 в 00:08
19
ответов
Мы должны использовать C "из соображений производительности"
В наш век многих языков, кажется, есть отличный язык для почти каждой задачи, и я обнаружил, что профессионально борюсь с мантрой "ничего, кроме С, быстро", где "быстрое" действительно означает "достаточно быстро". Я работаю с очень рациональными, н…
03 авг '09 в 17:57
1
ответ
Как использовать сторожевой таймер на Windows 7
У меня одноплатный компьютер с процессором Intel i5 и 32-битной Windows 7. Мое приложение работает на Windows 7 и является единственным приложением в системе (приложение выполняет функции компьютерного зрения; основано на видеопотоке). Поэтому я заи…
02 окт '13 в 17:23
1
ответ
Почему следующий код C пропускает системный вызов read() для выполнения следующего системного вызова write()?
Мой вопрос касается системного программирования Linux, в частности, API чтения и записи. Я пишу программу, которая копирует оболочку. Он принимает строковый аргумент и маркирует его пробелом. В зависимости от команды первого токена, он выполняет опе…
12 мар '18 в 21:44
4
ответа
Зависит ли реализация библиотек C от ОС?
Мне просто интересно, что в разных ОС существуют разные функции, но они служат одной и той же цели, или можно сказать, что разные ОС имеют разные языки системного программирования (например, Windows и UNIX). Так, например, поскольку библиотека C сос…
18 дек '14 в 11:01
1
ответ
Programmatically restart USB device in Windows
Некоторое программное обеспечение, которое я разрабатываю, требует наличия устройства USB (с которым я взаимодействую как SerialPort, с мостом USB-к-UART). Иногда после перезагрузки компьютера из режима гибернации устройство не обнаруживается, и я б…
30 июн '10 в 03:56
8
ответов
Зачем использовать bzero над memset?
В классе системного программирования, который я взял в предыдущем семестре, нам пришлось реализовать базовый клиент / сервер на C. При инициализации структур, например sock_addr_inили символьные буферы (которые мы использовали для отправки данных на…
13 июн '13 в 21:00
2
ответа
Сохранить /proc/PID/ после того, как процесс существует
Я хочу, чтобы каталог /proc/PID/ процесса был сохранен в течение некоторого времени даже после выхода из программы, чтобы его "родитель" мог проверить использование ресурсов из /proc/PID/ stat. Я не могу использовать wait4(), так как я обеспокоен ис…
01 фев '13 в 17:24
1
ответ
Как узнать, какой файл открывается в компьютере с помощью C#
Я хочу знать имя файла, который мы открываем. Например: Если мы открываем notepad.exe, моя программа должна показать, что notepad.exe открылся. Если мы открываем song.mp3, тогда моя программа должна показать, что song.mp3 открылся. Если мы открываем…
29 июл '11 в 08:32
4
ответа
Означают ли стандарты C и C++, что специальное значение в адресном пространстве должно существовать исключительно для представления значения нулевых указателей?
После обсуждения этого вопроса о нулевых указателях в C и C++ я бы хотел отделить заключительный вопрос здесь. Если это может быть выведено из стандартов C и C++ (ответы могут быть нацелены на оба стандарта), то разыменование переменной указателя, з…
18 фев '15 в 00:52
3
ответа
mkfifo() error ---> "Ошибка создания именованного канала. Файл существует"
Функция mkfifo принимает 2 аргумента, путь и режим. Но я не знаю, каков формат пути, который он использует. Я пишу небольшую программу для создания именованного канала и как путь в mkfifo, С помощью /home/username/Documents например, но всегда возвр…
23 окт '12 в 22:01
1
ответ
Использовать устройство после блокировки с помощью FSCTL_LOCK_VOLUME управляющего кода API win32?
Как я могу использовать устройство после его блокировки FSCTL_LOCK_VOLUME управляющий код Win32 API, например, перечисление файлов на устройстве или удаление файлов с устройства и т. д.я могу перечислить все файлы по FindFirstFile() а также FindNext…
28 мар '13 в 14:21
3
ответа
Я генерирую сигнал и сталкиваюсь со странным поведением
Я начал получать сигналы в Linux, но в моем коде происходит странное поведение. Я только начал и искал это тоже, но я ничего не нашел, извините, если вопрос слишком хромает, вот код: void Handler(int sig ){ printf("Inside Handler\n"); } int main(int…
07 апр '17 в 05:10
0
ответов
Процесс автоматически завершается при поступлении сигнала до pthread_cond_wait
#include "apue.h" #include <pthread.h> int quitflag; sigset_t mask; pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t wait = PTHREAD_COND_INITIALIZER; void * thr_fn(void *arg) { int err, signo; for ( ; ; ) { err = sigwait(&m…
27 сен '17 в 09:22
5
ответов
Форкинг для уточнения петли
Я видел много примеров разветвления циклов for здесь, но не много разъяснений о том, как он делает то, что делает. Давайте использовать этот простой пример из ответа Как использовать Fork() для создания только 2 дочерних процессов? В качестве пример…
23 сен '16 в 18:16
2
ответа
Как эмулировать динамическое отображение в C-коде
Я написал код, который может конвертировать любое входное целое число в эквивалентный светодиодный дисплей. Я хочу передать время моей системы в качестве входа для этой функции и получить светодиодный дисплей для того же. Пример: рассмотрим эти 2 вх…
20 июл '12 в 17:11
1
ответ
Что такое размер кэша и размер строки кэша?
Я пытаюсь понять следующее из файла DTS. Я очень плохо знаком с OS/Kernel. cpus { #address-cells = <1>; #size-cells = <0>; PowerPC,8313@0 { device_type = "cpu"; reg = <0x0>; d-cache-line-size = <32>; i-cache-line-size = <3…
08 июл '13 в 06:07
0
ответов
Влияние виртуальной памяти на выделение большей суммы страниц
Я прошу прощения за длинный вопрос впереди, но мне нужно было дать некоторое представление о моей проблеме. Поэтому я пишу регистратор в ядре Linux для извлечения характеристик памяти, таких как виртуальный адрес, физический адрес страниц и т. Д. Дл…
27 ноя '18 в 13:15