From d7238ca898e2d08196d8869d316c4c6bbeb74511 Mon Sep 17 00:00:00 2001 From: Aayush Vats <220010001@iitdh.ac.in> Date: Tue, 3 Sep 2024 15:47:59 +0530 Subject: [PATCH] finishing up --- lab2/CS22BT001_MC22BT009_CS22BT023_report.pdf | Bin 0 -> 93146 bytes lab2/src/part3_searcher.cpp | 2 + lab2/src/sol/nak_part2_partitioner.cpp | 122 ++++++++++++++++ lab2/src/sol/part3_partitioner.cpp | 136 ++++++++++++++++++ lab2/src/sol/part3_searcher.cpp | 81 +++++++++++ 5 files changed, 341 insertions(+) create mode 100644 lab2/CS22BT001_MC22BT009_CS22BT023_report.pdf create mode 100644 lab2/src/sol/nak_part2_partitioner.cpp create mode 100644 lab2/src/sol/part3_partitioner.cpp create mode 100644 lab2/src/sol/part3_searcher.cpp diff --git a/lab2/CS22BT001_MC22BT009_CS22BT023_report.pdf b/lab2/CS22BT001_MC22BT009_CS22BT023_report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0be6b4f4b619deae9a5cec99d25e9d0257f37506 GIT binary patch literal 93146 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�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 literal 0 HcmV?d00001 diff --git a/lab2/src/part3_searcher.cpp b/lab2/src/part3_searcher.cpp index 0575f5b..090b960 100644 --- a/lab2/src/part3_searcher.cpp +++ b/lab2/src/part3_searcher.cpp @@ -1,3 +1,5 @@ +// The logic of this part of the assignment was inspired from CS038 Om Nakrani as we were stuck and were facing issues to get it to work properly. + #include #include #include diff --git a/lab2/src/sol/nak_part2_partitioner.cpp b/lab2/src/sol/nak_part2_partitioner.cpp new file mode 100644 index 0000000..732a5dc --- /dev/null +++ b/lab2/src/sol/nak_part2_partitioner.cpp @@ -0,0 +1,122 @@ +#include +#include +#include +#include +#include + +using namespace std; + +int main(int argc, char **argv) +{ + if (argc != 6) + { + cout << "usage: ./partitioner.out \nprovided arguments:\n"; + for (int i = 0; i < argc; i++) + cout << argv[i] << "\n"; + return -1; + } + + char *file_to_search_in = argv[1]; + char *pattern_to_search_for = argv[2]; + int search_start_position = atoi(argv[3]); + int search_end_position = atoi(argv[4]); + int max_chunk_size = atoi(argv[5]); + + pid_t parent_pid = getpid(); + pid_t left_child_pid, right_child_pid, searcher_pid; + + cout << "[" << parent_pid << "] start position = " << search_start_position << " ; end position = " << search_end_position << "\n"; + + if (search_end_position - search_start_position >= max_chunk_size) + { + int mid = (search_start_position + search_end_position) / 2; + + left_child_pid = fork(); + + if (left_child_pid == 0) + { + //Left Child + char start_str[10], mid_str[10], max_str[10]; + sprintf(start_str, "%d", search_start_position); + sprintf(mid_str, "%d", mid); + sprintf(max_str, "%d", max_chunk_size); + char *args[] = { "./part2_partitioner.out",file_to_search_in , pattern_to_search_for, start_str, mid_str, max_str, NULL }; + execv("./part2_partitioner.out", args); + perror("execv left partitioner failed"); + return -1; + } + else if (left_child_pid > 0) + { + // Parent process + cout << "[" << parent_pid << "] forked left child " << left_child_pid << "\n"; + } + else + { + perror("fork failed"); + return -1; + } + + right_child_pid = fork(); + if (right_child_pid == 0) + { + //Right Child + char mid_plus_one_str[10], end_str[10], max_str[10]; + sprintf(mid_plus_one_str, "%d", mid + 1); + sprintf(end_str, "%d", search_end_position); + sprintf(max_str, "%d", max_chunk_size); + char *args[] = { "./part2_partitioner.out", file_to_search_in, pattern_to_search_for, mid_plus_one_str, end_str, max_str, NULL }; + if (execv("./part2_partitioner.out", args)==-1){ + perror("execv right partitioner failed"); + } + + return -1; + } + else if (right_child_pid > 0) + { + // Parent process + cout << "[" << parent_pid << "] forked right child " << right_child_pid << "\n"; + } + else + { + perror("fork failed"); + return -1; + } + + waitpid(left_child_pid, NULL, 0); + cout << "[" << parent_pid << "] left child returned\n"; + waitpid(right_child_pid, NULL, 0); + cout << "[" << parent_pid << "] right child returned\n"; + } + else + { + searcher_pid = fork(); + if (searcher_pid == 0) + { + // Child process + //cout << "[" << getpid() << "] forked searcher child " << getpid() << "\n"; + char start_str[10], end_str[10]; + sprintf(start_str, "%d", search_start_position); + sprintf(end_str, "%d", search_end_position); + char *args[] = { "./part2_searcher.out", file_to_search_in, pattern_to_search_for, start_str, end_str ,NULL}; + execv("./part2_searcher.out", args); + perror("execv searcher failed"); + cout << *args<< endl; + return -1; + } + else if (searcher_pid > 0) + { + // Parent process + cout << "[" << parent_pid << "] forked searcher child " << searcher_pid << "\n"; + } + else + { + perror("fork failed"); + return -1; + } + + waitpid(searcher_pid, NULL, 0); + cout << "[" << parent_pid << "] searcher child returned\n"; + } + + return 0; +} \ No newline at end of file diff --git a/lab2/src/sol/part3_partitioner.cpp b/lab2/src/sol/part3_partitioner.cpp new file mode 100644 index 0000000..6221fde --- /dev/null +++ b/lab2/src/sol/part3_partitioner.cpp @@ -0,0 +1,136 @@ +#include +#include +#include +#include +#include +#include +using namespace std; +void handler(int signo, siginfo_t *info, void *context) +{ + if(signo == SIGTERM) + { + cout <<"["<< getpid()<<"] "<<"received SIGTERM\n"; + exit(0); + } +} +int main(int argc, char **argv) +{ + struct sigaction sa; + memset(&sa, 0, sizeof(struct sigaction)); + sa.sa_sigaction = &handler; + if (sigaction(SIGTERM, &sa, NULL) == -1) + { + perror("sigaction"); + return EXIT_FAILURE; + } + if (argc != 6) + { + cout << "usage: ./partitioner.out \nprovided arguments:\n"; + for (int i = 0; i < argc; i++) + cout << argv[i] << "\n"; + return -1; + } + + char *file_to_search_in = argv[1]; + char *pattern_to_search_for = argv[2]; + int search_start_position = atoi(argv[3]); + int search_end_position = atoi(argv[4]); + int max_chunk_size = atoi(argv[5]); + + pid_t my_pid = getpid(); + pid_t left_child_pid, right_child_pid, searcher_pid; + cout << "[" << my_pid << "] start position = " << search_start_position << " ; end position = " << search_end_position << "\n"; + if (search_end_position - search_start_position + 1 > max_chunk_size) + { + int mid_position = (search_start_position + search_end_position) / 2; + + left_child_pid = fork(); + if (left_child_pid == 0) + { + // Child process + //cout << "[" << getpid() << "] forked left child " << getpid() << "\n"; + char start_str[10], mid_str[10], max_str[10]; + sprintf(start_str, "%d", search_start_position); + sprintf(mid_str, "%d", mid_position); + sprintf(max_str, "%d", max_chunk_size); + char *args[] = { "./part3_partitioner.out",file_to_search_in , pattern_to_search_for, start_str, mid_str, max_str, NULL }; + execv("./part2_partitioner.out", args); + perror("execv left partitioner failed"); + return -1; + } + else if (left_child_pid > 0) + { + // Parent process + cout << "[" << my_pid << "] forked left child " << left_child_pid << "\n"; + } + else + { + perror("fork failed"); + return -1; + } + + right_child_pid = fork(); + if (right_child_pid == 0) + { + // Child process + //cout << "[" << getpid() << "] forked right child " << getpid() << "\n"; + char mid_plus_one_str[10], end_str[10], max_str[10]; + sprintf(mid_plus_one_str, "%d", mid_position + 1); + sprintf(end_str, "%d", search_end_position); + sprintf(max_str, "%d", max_chunk_size); + char *args[] = { "./part3_partitioner.out", file_to_search_in, pattern_to_search_for, mid_plus_one_str, end_str, max_str, NULL }; + if (execv("./part2_partitioner.out", args)==-1){ + perror("execv right partitioner failed"); + } + + return -1; + } + else if (right_child_pid > 0) + { + // Parent process + cout << "[" << my_pid << "] forked right child " << right_child_pid << "\n"; + } + else + { + perror("fork failed"); + return -1; + } + + waitpid(left_child_pid, NULL, 0); + cout << "[" << my_pid << "] left child returned\n"; + waitpid(right_child_pid, NULL, 0); + cout << "[" << my_pid << "] right child returned\n"; + } + else + { + searcher_pid = fork(); + if (searcher_pid == 0) + { + // Child process + //cout << "[" << getpid() << "] forked searcher child " << getpid() << "\n"; + char start_str[10], end_str[10]; + sprintf(start_str, "%d", search_start_position); + sprintf(end_str, "%d", search_end_position); + char *args[] = { "./part3_searcher.out", file_to_search_in, pattern_to_search_for, start_str, end_str ,NULL}; + execv("./part2_searcher.out", args); + perror("execv searcher failed"); + cout << *args<< endl; + return -1; + } + else if (searcher_pid > 0) + { + // Parent process + cout << "[" << my_pid << "] forked searcher child " << searcher_pid << "\n"; + } + else + { + perror("fork failed"); + return -1; + } + + waitpid(searcher_pid, NULL, 0); + cout << "[" << my_pid << "] searcher child returned\n"; + } + + return 0; +} \ No newline at end of file diff --git a/lab2/src/sol/part3_searcher.cpp b/lab2/src/sol/part3_searcher.cpp new file mode 100644 index 0000000..7e36514 --- /dev/null +++ b/lab2/src/sol/part3_searcher.cpp @@ -0,0 +1,81 @@ +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +void handler(int signo, siginfo_t *info, void *context) +{ + if(signo == SIGTERM) + { + cout <<"["<< getpid()<<"] "<<"received SIGTERM\n"; + exit(0); + } +} +int main(int argc, char **argv) +{ + struct sigaction sa; + memset(&sa, 0, sizeof(struct sigaction)); + sa.sa_sigaction = &handler; + if (sigaction(SIGTERM, &sa, NULL) == -1) + { + perror("sigaction"); + return EXIT_FAILURE; + } + pid_t pgid = getpgid(getpid()); + //cout << pgid<< endl; + if(argc != 5) + { + cout <<"usage: ./partitioner.out \nprovided arguments:\n"; + for(int i = 0; i < argc; i++) + cout << argv[i] << "\n"; + return -1; + } + + char *file_to_search_in = argv[1]; + char *pattern_to_search_for = argv[2]; + int search_start_position = atoi(argv[3]); + int search_end_position = atoi(argv[4]); + //TODO + ifstream inputFile(file_to_search_in); + //cout << file_to_search_in <<"\n"; + //cout << pattern_to_search_for <<"\n"; + string pattern = pattern_to_search_for; + //cout << pattern; + int len = pattern.length(); + //cout << fork() << endl; + if ( !inputFile.is_open()){ + cerr << "Error opening the file" << endl; + return 1; + } + + //string line; + //cout << "File Content: " << endl; + int i=search_start_position; + char ch; + string pat=""; + inputFile.seekg(search_start_position); + while (inputFile.get(ch) and i<=search_end_position){ + i++; + if(pat.length() < len){ + pat = pat + ch; + continue; + } + pat.erase(0,1); + pat = pat+ ch; + //pid_t pid = fork(); + //cout <