From b34431b2df204ec9f85b4c5e88eaeaa4699f8196 Mon Sep 17 00:00:00 2001 From: emil Date: Fri, 18 Oct 2024 08:57:09 +0300 Subject: [PATCH] Lab8 --- .vscode/tasks.json | 28 ++++++++++++++++++++++++++++ CMakeLists.txt | 3 +-- Lab8/ex1 | Bin 0 -> 18168 bytes Lab8/ex1.c | 30 ++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 .vscode/tasks.json create mode 100755 Lab8/ex1 create mode 100644 Lab8/ex1.c diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..08d9005 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: gcc build active file", + "command": "/usr/bin/gcc", + "args": [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}/${fileBasenameNoExtension}" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "Task generated by Debugger." + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 75d5bb2..ecb4a39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,5 +8,4 @@ SET(GCC_COVERAGE_COMPILE_FLAGS "-pthread") add_executable(OS - Lab6/agent.c - Lab6/agent.c) + Lab8/ex1.c) diff --git a/Lab8/ex1 b/Lab8/ex1 new file mode 100755 index 0000000000000000000000000000000000000000..87bdf3fc0bcde4b34dfb10a749d0d9d93350fb74 GIT binary patch literal 18168 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 HpThqS(*zIj literal 0 HcmV?d00001 diff --git a/Lab8/ex1.c b/Lab8/ex1.c new file mode 100644 index 0000000..963a227 --- /dev/null +++ b/Lab8/ex1.c @@ -0,0 +1,30 @@ +#include +#include +#include "string.h" + +int main() { + char* pass = ""; + + size_t pid = getpid(); + printf("\n%d\n", pid); + while (1) {} + +} + + + +/* +Create a simple program which stores only a message in the heap. +Keep the program running and access the maps file at +/proc/{pid}/maps. Print the content of the file to stdout. Locate +the start and end addresses of the heap. +You can access the virtual memory of the process whose id is pid +at /proc/{pid}/mem. Try to access the file using less command. +Access the heap of the program using +Navigate the heap memory file till finding the message. Locate the +page number where the message is stored and its address. +Access the file /proc/{pid}/smaps and specify what the total size +of pages of the heap. What is the file /proc/{pid}/map files? +Use the command pmap to check the memory mappings of the +process. +*/ \ No newline at end of file