LegendaryVasya / OS_Practice4

Практика №4 по ОС

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Требования к языкам программирования: JAVA, C++, python, assembler

Разработать программу на нескольких языках, реализующую следующую математическую функцию в цикле image

и сравнить производительность в зависимости от языка.

Программа на ассемблере была переписана(в методичке приложены инсрукции с библиотекой для эмуляции на линуксе) для комфортной реализации на Windows, переписанная программа "объединяет" 231Lib.asm и SpeedTest2.asm, имеет прописанные функции.

Использловался компилятор: NASM

Для создания exe файла: GoLink

Источник

Для измерения времени работы использовался cmd скрипт

Источник

Инструкция

В репозитории находится папки проектов C#,C++,Python,Assembler.

Проекты C# и C++ разработаны в Visual Studia

Python разработан в Pycharm

  1. Для реализации программы Assembler на Windows необходимо скачать один из компиляторов ассемблера(для этого задания использовался NASM) c официального сайта и линкер для создание exe

  2. В Notepade++ был создан файл с расширением asm

  3. После этого в CMD были прописаны следующие строки:

nasm -f win32 [Имя исходного файла].asm -o [Имя выходного(объектного) файла].obj

golink /entry:_start /console kernel32.dll user32.dll [Имя объектного файла].obj

Где:

  • Ключ -o. Указание имени выходного файла
  • Ключ -f. Указание формата выходного файла
  • /entry:_start метка старта
  • win32 параметр, указывающий на компиляцию под 32ух битную архитектуру
  • /console указываем что мы компилируем консольное приложение
  • kernel32.dll user32.dll библиотеки необходимые для создания исполняемого файла

Руководство

Отчет

Assembler

image

C++

image

C#

image

Python

image

About

Практика №4 по ОС


Languages

Language:Assembly 42.5%Language:C# 25.1%Language:Batchfile 13.9%Language:Python 12.0%Language:C++ 6.5%