From f38dce959c8e4093c25ea6b1f5f81a1213f5dc5d Mon Sep 17 00:00:00 2001 From: PolishPigeon Date: Fri, 29 Apr 2022 12:56:12 +0200 Subject: [PATCH] chore: add lab 2 and lab 3 --- EOPSY/{ => lab1}/A | 0 .../LOWERCASEFOLDERMAIN/LOWERFILESUB | 0 .../LOWERFOLDERSUB/LOWERFILESUBSUB | 0 EOPSY/{ => lab1}/README.md | 0 EOPSY/{ => lab1}/RECURSEFILE | 0 EOPSY/{ => lab1}/UPPERFOLDERMAIN/UPPERFILESUB | 0 .../UPPERFOLDERSUB/UPPERFILESUBSUB | 0 EOPSY/{ => lab1}/b | 0 EOPSY/{ => lab1}/modify.sh | 0 EOPSY/{ => lab1}/modify_examples.sh | 0 EOPSY/{ => lab1}/recurselowerfile | 0 EOPSY/{ => lab1}/sed | 0 .../sedlowercasefoldermain/sedlowerfilesub | 0 .../sedlowerfoldersub/sedlowerfilesubsub | 0 EOPSY/{ => lab1}/sedrecursefile | 0 EOPSY/lab2/README.md | 92 + EOPSY/lab2/a.out | Bin 0 -> 17072 bytes EOPSY/lab2/tsig | Bin 0 -> 17072 bytes EOPSY/lab2/tsig.c | 210 + EOPSY/lab3/report/README.tjk | 199 + EOPSY/lab3/report/processesfive | 39 + EOPSY/lab3/report/processesten | 39 + EOPSY/lab3/report/processestwo | 16 + EOPSY/lab3/report/report.aux | 14 + EOPSY/lab3/report/report.fdb_latexmk | 26 + EOPSY/lab3/report/report.fls | 35 + EOPSY/lab3/report/report.log | 95 + EOPSY/lab3/report/report.pdf | Bin 0 -> 50576 bytes EOPSY/lab3/report/report.synctex.gz | Bin 0 -> 104573 bytes EOPSY/lab3/report/report.tex | 265 ++ EOPSY/lab3/report/resultsfive | 11 + EOPSY/lab3/report/resultsten | 16 + EOPSY/lab3/report/resultstwo | 8 + EOPSY/lab3/report/texput.fls | 6 + EOPSY/lab3/report/texput.log | 22 + EOPSY/lab3/task3/README | 1 + EOPSY/lab3/task3/Summary-Processes | 39 + EOPSY/lab3/task3/Summary-Results | 11 + EOPSY/lab3/task3/ftp/Makefile | 24 + EOPSY/lab3/task3/ftp/README.tjk | 199 + EOPSY/lab3/task3/ftp/sched.tgz | Bin 0 -> 23847 bytes EOPSY/lab3/task3/ftp/setUp | 9 + EOPSY/lab3/task3/processesfive | 4067 +++++++++++++++++ EOPSY/lab3/task3/processesten | 149 + EOPSY/lab3/task3/processestwo | 16 + EOPSY/lab3/task3/resultsfive | 11 + EOPSY/lab3/task3/resultsten | 16 + EOPSY/lab3/task3/resultstwo | 8 + EOPSY/lab3/task3/work/COPYING.TXT | 340 ++ EOPSY/lab3/task3/work/Common.class | Bin 0 -> 1906 bytes EOPSY/lab3/task3/work/Common.java | 56 + EOPSY/lab3/task3/work/Makefile | 24 + EOPSY/lab3/task3/work/Process.class | Bin 0 -> 399 bytes EOPSY/lab3/task3/work/Process.java | 15 + EOPSY/lab3/task3/work/README.tjk | 199 + EOPSY/lab3/task3/work/Results.class | Bin 0 -> 387 bytes EOPSY/lab3/task3/work/Results.java | 11 + EOPSY/lab3/task3/work/Scheduling.class | Bin 0 -> 4770 bytes EOPSY/lab3/task3/work/Scheduling.java | 144 + .../lab3/task3/work/SchedulingAlgorithm.class | Bin 0 -> 2242 bytes .../lab3/task3/work/SchedulingAlgorithm.java | 70 + EOPSY/lab3/task3/work/Summary-Processes | 39 + EOPSY/lab3/task3/work/Summary-Results | 16 + EOPSY/lab3/task3/work/description.txt | 8 + EOPSY/lab3/task3/work/install_unix.html | 512 +++ EOPSY/lab3/task3/work/install_windows.html | 467 ++ EOPSY/lab3/task3/work/sProcess.class | Bin 0 -> 401 bytes EOPSY/lab3/task3/work/sProcess.java | 15 + EOPSY/lab3/task3/work/scheduling.conf | 23 + EOPSY/lab3/task3/work/setUp | 9 + EOPSY/lab3/task3/work/stdout.txt | 2 + EOPSY/lab3/task3/work/user_guide.html | 574 +++ 72 files changed, 8167 insertions(+) rename EOPSY/{ => lab1}/A (100%) rename EOPSY/{ => lab1}/LOWERCASEFOLDERMAIN/LOWERFILESUB (100%) rename EOPSY/{ => lab1}/LOWERCASEFOLDERMAIN/LOWERFOLDERSUB/LOWERFILESUBSUB (100%) rename EOPSY/{ => lab1}/README.md (100%) rename EOPSY/{ => lab1}/RECURSEFILE (100%) rename EOPSY/{ => lab1}/UPPERFOLDERMAIN/UPPERFILESUB (100%) rename EOPSY/{ => lab1}/UPPERFOLDERMAIN/UPPERFOLDERSUB/UPPERFILESUBSUB (100%) rename EOPSY/{ => lab1}/b (100%) rename EOPSY/{ => lab1}/modify.sh (100%) rename EOPSY/{ => lab1}/modify_examples.sh (100%) rename EOPSY/{ => lab1}/recurselowerfile (100%) rename EOPSY/{ => lab1}/sed (100%) rename EOPSY/{ => lab1}/sedlowercasefoldermain/sedlowerfilesub (100%) rename EOPSY/{ => lab1}/sedlowercasefoldermain/sedlowerfoldersub/sedlowerfilesubsub (100%) rename EOPSY/{ => lab1}/sedrecursefile (100%) create mode 100644 EOPSY/lab2/README.md create mode 100755 EOPSY/lab2/a.out create mode 100755 EOPSY/lab2/tsig create mode 100644 EOPSY/lab2/tsig.c create mode 100644 EOPSY/lab3/report/README.tjk create mode 100644 EOPSY/lab3/report/processesfive create mode 100644 EOPSY/lab3/report/processesten create mode 100644 EOPSY/lab3/report/processestwo create mode 100644 EOPSY/lab3/report/report.aux create mode 100644 EOPSY/lab3/report/report.fdb_latexmk create mode 100644 EOPSY/lab3/report/report.fls create mode 100644 EOPSY/lab3/report/report.log create mode 100644 EOPSY/lab3/report/report.pdf create mode 100644 EOPSY/lab3/report/report.synctex.gz create mode 100644 EOPSY/lab3/report/report.tex create mode 100644 EOPSY/lab3/report/resultsfive create mode 100644 EOPSY/lab3/report/resultsten create mode 100644 EOPSY/lab3/report/resultstwo create mode 100644 EOPSY/lab3/report/texput.fls create mode 100644 EOPSY/lab3/report/texput.log create mode 100644 EOPSY/lab3/task3/README create mode 100644 EOPSY/lab3/task3/Summary-Processes create mode 100644 EOPSY/lab3/task3/Summary-Results create mode 100644 EOPSY/lab3/task3/ftp/Makefile create mode 100644 EOPSY/lab3/task3/ftp/README.tjk create mode 100644 EOPSY/lab3/task3/ftp/sched.tgz create mode 100755 EOPSY/lab3/task3/ftp/setUp create mode 100644 EOPSY/lab3/task3/processesfive create mode 100644 EOPSY/lab3/task3/processesten create mode 100644 EOPSY/lab3/task3/processestwo create mode 100644 EOPSY/lab3/task3/resultsfive create mode 100644 EOPSY/lab3/task3/resultsten create mode 100644 EOPSY/lab3/task3/resultstwo create mode 100644 EOPSY/lab3/task3/work/COPYING.TXT create mode 100644 EOPSY/lab3/task3/work/Common.class create mode 100644 EOPSY/lab3/task3/work/Common.java create mode 100644 EOPSY/lab3/task3/work/Makefile create mode 100644 EOPSY/lab3/task3/work/Process.class create mode 100644 EOPSY/lab3/task3/work/Process.java create mode 100644 EOPSY/lab3/task3/work/README.tjk create mode 100644 EOPSY/lab3/task3/work/Results.class create mode 100644 EOPSY/lab3/task3/work/Results.java create mode 100644 EOPSY/lab3/task3/work/Scheduling.class create mode 100644 EOPSY/lab3/task3/work/Scheduling.java create mode 100644 EOPSY/lab3/task3/work/SchedulingAlgorithm.class create mode 100644 EOPSY/lab3/task3/work/SchedulingAlgorithm.java create mode 100644 EOPSY/lab3/task3/work/Summary-Processes create mode 100644 EOPSY/lab3/task3/work/Summary-Results create mode 100644 EOPSY/lab3/task3/work/description.txt create mode 100644 EOPSY/lab3/task3/work/install_unix.html create mode 100644 EOPSY/lab3/task3/work/install_windows.html create mode 100644 EOPSY/lab3/task3/work/sProcess.class create mode 100644 EOPSY/lab3/task3/work/sProcess.java create mode 100644 EOPSY/lab3/task3/work/scheduling.conf create mode 100755 EOPSY/lab3/task3/work/setUp create mode 100644 EOPSY/lab3/task3/work/stdout.txt create mode 100644 EOPSY/lab3/task3/work/user_guide.html diff --git a/EOPSY/A b/EOPSY/lab1/A similarity index 100% rename from EOPSY/A rename to EOPSY/lab1/A diff --git a/EOPSY/LOWERCASEFOLDERMAIN/LOWERFILESUB b/EOPSY/lab1/LOWERCASEFOLDERMAIN/LOWERFILESUB similarity index 100% rename from EOPSY/LOWERCASEFOLDERMAIN/LOWERFILESUB rename to EOPSY/lab1/LOWERCASEFOLDERMAIN/LOWERFILESUB diff --git a/EOPSY/LOWERCASEFOLDERMAIN/LOWERFOLDERSUB/LOWERFILESUBSUB b/EOPSY/lab1/LOWERCASEFOLDERMAIN/LOWERFOLDERSUB/LOWERFILESUBSUB similarity index 100% rename from EOPSY/LOWERCASEFOLDERMAIN/LOWERFOLDERSUB/LOWERFILESUBSUB rename to EOPSY/lab1/LOWERCASEFOLDERMAIN/LOWERFOLDERSUB/LOWERFILESUBSUB diff --git a/EOPSY/README.md b/EOPSY/lab1/README.md similarity index 100% rename from EOPSY/README.md rename to EOPSY/lab1/README.md diff --git a/EOPSY/RECURSEFILE b/EOPSY/lab1/RECURSEFILE similarity index 100% rename from EOPSY/RECURSEFILE rename to EOPSY/lab1/RECURSEFILE diff --git a/EOPSY/UPPERFOLDERMAIN/UPPERFILESUB b/EOPSY/lab1/UPPERFOLDERMAIN/UPPERFILESUB similarity index 100% rename from EOPSY/UPPERFOLDERMAIN/UPPERFILESUB rename to EOPSY/lab1/UPPERFOLDERMAIN/UPPERFILESUB diff --git a/EOPSY/UPPERFOLDERMAIN/UPPERFOLDERSUB/UPPERFILESUBSUB b/EOPSY/lab1/UPPERFOLDERMAIN/UPPERFOLDERSUB/UPPERFILESUBSUB similarity index 100% rename from EOPSY/UPPERFOLDERMAIN/UPPERFOLDERSUB/UPPERFILESUBSUB rename to EOPSY/lab1/UPPERFOLDERMAIN/UPPERFOLDERSUB/UPPERFILESUBSUB diff --git a/EOPSY/b b/EOPSY/lab1/b similarity index 100% rename from EOPSY/b rename to EOPSY/lab1/b diff --git a/EOPSY/modify.sh b/EOPSY/lab1/modify.sh similarity index 100% rename from EOPSY/modify.sh rename to EOPSY/lab1/modify.sh diff --git a/EOPSY/modify_examples.sh b/EOPSY/lab1/modify_examples.sh similarity index 100% rename from EOPSY/modify_examples.sh rename to EOPSY/lab1/modify_examples.sh diff --git a/EOPSY/recurselowerfile b/EOPSY/lab1/recurselowerfile similarity index 100% rename from EOPSY/recurselowerfile rename to EOPSY/lab1/recurselowerfile diff --git a/EOPSY/sed b/EOPSY/lab1/sed similarity index 100% rename from EOPSY/sed rename to EOPSY/lab1/sed diff --git a/EOPSY/sedlowercasefoldermain/sedlowerfilesub b/EOPSY/lab1/sedlowercasefoldermain/sedlowerfilesub similarity index 100% rename from EOPSY/sedlowercasefoldermain/sedlowerfilesub rename to EOPSY/lab1/sedlowercasefoldermain/sedlowerfilesub diff --git a/EOPSY/sedlowercasefoldermain/sedlowerfoldersub/sedlowerfilesubsub b/EOPSY/lab1/sedlowercasefoldermain/sedlowerfoldersub/sedlowerfilesubsub similarity index 100% rename from EOPSY/sedlowercasefoldermain/sedlowerfoldersub/sedlowerfilesubsub rename to EOPSY/lab1/sedlowercasefoldermain/sedlowerfoldersub/sedlowerfilesubsub diff --git a/EOPSY/sedrecursefile b/EOPSY/lab1/sedrecursefile similarity index 100% rename from EOPSY/sedrecursefile rename to EOPSY/lab1/sedrecursefile diff --git a/EOPSY/lab2/README.md b/EOPSY/lab2/README.md new file mode 100644 index 00000000..0b9e6c1a --- /dev/null +++ b/EOPSY/lab2/README.md @@ -0,0 +1,92 @@ +# eopsy_KRZYSZTOF_RUDNICKI_lab2 + + + +## Getting started + +To make it easy for you to get started with GitLab, here's a list of recommended next steps. + +Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! + +## Add your files + +- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files +- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: + +``` +cd existing_repo +git remote add origin https://gitlab-stud.elka.pw.edu.pl/krudnic3/eopsy_krzysztof_rudnicki_lab2.git +git branch -M main +git push -uf origin main +``` + +## Integrate with your tools + +- [ ] [Set up project integrations](https://gitlab-stud.elka.pw.edu.pl/krudnic3/eopsy_krzysztof_rudnicki_lab2/-/settings/integrations) + +## Collaborate with your team + +- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) +- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) +- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) +- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) +- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) + +## Test and Deploy + +Use the built-in continuous integration in GitLab. + +- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) +- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) +- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) +- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) +- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) + +*** + +# Editing this README + +When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template. + +## Suggestions for a good README +Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. + +## Name +Choose a self-explaining name for your project. + +## Description +Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. + +## Badges +On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. + +## Visuals +Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. + +## Installation +Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. + +## Usage +Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. + +## Support +Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. + +## Roadmap +If you have ideas for releases in the future, it is a good idea to list them in the README. + +## Contributing +State if you are open to contributions and what your requirements are for accepting them. + +For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. + +You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. + +## Authors and acknowledgment +Show your appreciation to those who have contributed to the project. + +## License +For open source projects, say how it is licensed. + +## Project status +If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. diff --git a/EOPSY/lab2/a.out b/EOPSY/lab2/a.out new file mode 100755 index 0000000000000000000000000000000000000000..db9788bad12f4dcebd5ce2ae46971db491d24f66 GIT binary patch literal 17072 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 b1?jYp$@MBO?K#TpU$;p~T;o&l6~%u6sLmI6 literal 0 HcmV?d00001 diff --git a/EOPSY/lab2/tsig b/EOPSY/lab2/tsig new file mode 100755 index 0000000000000000000000000000000000000000..db9788bad12f4dcebd5ce2ae46971db491d24f66 GIT binary patch literal 17072 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 b1?jYp$@MBO?K#TpU$;p~T;o&l6~%u6sLmI6 literal 0 HcmV?d00001 diff --git a/EOPSY/lab2/tsig.c b/EOPSY/lab2/tsig.c new file mode 100644 index 00000000..95c38077 --- /dev/null +++ b/EOPSY/lab2/tsig.c @@ -0,0 +1,210 @@ +#include // printf() +#include // fork() +#include // clock() +#include // malloc() +#include // sigaction(), SIGTERM +#include // wait() +#define WITH_SIGNALS +const int NUM_CHILD = 5; +int KEYBOARD_INTERRUPT_MARK = 0; + + +void ourOwnSigTermHandler() +{ + printf("Process: %d was terminated\n", getpid()); +} + +void childProcessAlgorithm() +{ + #ifdef WITH_SIGNALS + // 3.a in the child process + struct sigaction ignoreSignal; + ignoreSignal.sa_handler = SIG_IGN; + sigaction(SIGTERM, &ignoreSignal, NULL); // ignore handling of the + // keyboard interrupt signal + struct sigaction sigTermHandler; + sigTermHandler.sa_handler = ourOwnSigTermHandler; + // set own handler of the sigterm signal, which will only + // print a message of the termination of this process + sigaction(SIGTERM, &sigTermHandler, NULL); + #endif + printf("Process identifier of parent process: %d \n", getppid()); + // print process identifier of the parent process + sleep(10); // sleep for 10 seconds + printf("Execution for child: %d complete! \n", getpid()); + // print a message about execution completion + exit(0); // !exit from process! +} + + +void sendSIGTERMsignal(pid_t *children) +{ + for(int i = 0; i < NUM_CHILD; i++) // go through each child + { + kill(children[i], SIGTERM); // and send sigterm signal using kill + } +} + +void createChildProcesses(pid_t *children) +{ + kill(-2, SIGTERM); + for(int i = 0; i < NUM_CHILD; i++) // Create NUM_CHILD child processes + { + children[i] = fork(); // use the fork() function + #ifdef WITH_SIGNALS + // 3.c check the mark which may be set by the keyboard interrupt + // handler + if(KEYBOARD_INTERRUPT_MARK) + { + printf("interrupt of the creation process"); + // print a message about interrupt of the creation + // process + printf(" during creation of children["); + printf("%d] = %d\n", i, children[i]); + sendSIGTERMsignal(children); + // signal all just created processes with the sigterm + return; + } + #endif + if(children[i] == 0) childProcessAlgorithm(); // child algorithm + else + { + printf("fork for child[%d] failed! \n", i); + kill(-2, SIGTERM); // -2 means that sigterm will be + // sent to every process in the process group + // whose id is -2 + } + sleep(1); // insert one second delays between fork calls + } +} + +int childProcessCorrect(const pid_t child) +{ + return child >= 0; // -1 would mean that we could not create the child +} + +int correctChildProcesses(const pid_t *children) +{ + for(int i = 0; i < NUM_CHILD; i++) // go through each child + { + if(!childProcessCorrect(children[i])) // check if it was created correctly + { + printf("children[%d] = %d", i, children[i]); + // print approrpriate message that child was not created + // correctly + printf(", Was NOT declared correctly!\n"); + return 0; + } + } + return 1; +} + + +void printCreationOfAllChildProcesses(const pid_t *children) +{ + // print a message about creation of all child processes + for(int i = 0; i < NUM_CHILD; i++) + { + printf("Process children[%d] = %d created \n", i, children[i]); + } +} + +void terminateChildren(pid_t *children) +{ + int childTerminations = 0; + for(int i = 0; i < NUM_CHILD; i++) + { + pid_t waitValue = wait(NULL); // call wait in loop + if(waitValue != -1) + { + childTerminations++; + // 2.4 count child processes terminations + printf("Number of child processes terminations:"); + printf(" %d \n", childTerminations); + }else + { + printf("Termination of the child %d", getpid()); + printf(" went wrong!\n"); + } + } + // 2.4 print a message that there are no more child processes + printf("There are no more child processes \n"); + printf("Number of received child processes exit codes:"); + printf(" %d \n", childTerminations); + // 2.4 priinta message with the number of just received child processes + // exit codes +} + +int noSignalsVersion() +{ + pid_t *children = malloc(sizeof(pid_t) * NUM_CHILD); + // allocate space for all children + + createChildProcesses(children); // create NUM_CHILD child processes + if(!correctChildProcesses(children)) + { + sendSIGTERMsignal(children); // if not send sigterm signals + return 1; + } + printCreationOfAllChildProcesses(children); + terminateChildren(children); + return 0; +} + + +void ourOwnKeyboardInterrupt() +{ + printf("Received keyboard interrupt \n"); + KEYBOARD_INTERRUPT_MARK = 1; +} + +int signalsVersion() +{ + struct sigaction ignoreSignals; + ignoreSignals.sa_handler = SIG_IGN; + for(int i = 0; i < _NSIG; i++) // 3.a Go through every single possible signal + { + sigaction(i, &ignoreSignals, NULL); // 3.a and ignore it + } + + ignoreSignals.sa_handler = SIG_DFL; // Restore to default handler + sigaction(SIGCHLD, &ignoreSignals, NULL); // 3.a the sigchld signal + struct sigaction ownKeyboardInterrupt; // 3.b used to set our own + // keyboard interrupt + ownKeyboardInterrupt.sa_handler = ourOwnKeyboardInterrupt; + // 3.c this function just prints info about receiving keyboard + // interrupt and sets keyboard interrupt occurance global variable + sigaction(SIGINT, &ownKeyboardInterrupt, NULL); + // 3.c set it so that interruption by default uses ownKeyboardInterrupt + pid_t *children = malloc(sizeof(pid_t) * NUM_CHILD); + // allocate memory for children + createChildProcesses(children); + if(!correctChildProcesses(children)) + { + sendSIGTERMsignal(children); + return 1; + } + printCreationOfAllChildProcesses(children); + terminateChildren(children); + struct sigaction restoreSignals; + ignoreSignals.sa_handler = SIG_DFL; + for(int i = 0; i < _NSIG; i++) + { + // old service handlers of all signals should be restored + sigaction(i, &restoreSignals, NULL); + } + return 0; +} + +int main() +{ + #ifndef WITH_SIGNALS + printf("Entering NO signals version! \n"); + return noSignalsVersion(); + #endif + #ifdef WITH_SIGNALS + printf("Entering signals version! \n"); + signalsVersion(); + return 0; + #endif +} diff --git a/EOPSY/lab3/report/README.tjk b/EOPSY/lab3/report/README.tjk new file mode 100644 index 00000000..cd3397ad --- /dev/null +++ b/EOPSY/lab3/report/README.tjk @@ -0,0 +1,199 @@ + + + WORKPLACE ORGANIZATION: +mkdir ../work +cd ../work +cp ../ftp/* . +gzip -d sched.tgz +tar -xvf sched.tar +rm sched.tar + + + READING: +less/vi README.tjk +netscape/lynx install_unix.html +netscape/lynx user_guide.html + + + COMPILE: +javac -nowarn *.java + + + RUN: +java Scheduling scheduling.conf + + + FILES: +input file name: scheduling.conf +output file name: Summary-Processes +log file name: Summary-Processes + + +--[ YOUR TASK ]------------------------------------------------------- + +Create a configuration file in which all processes run an average +of 2000 milliseconds with a standard deviation of zero, and which +are blocked for input or output every 500 milliseconds. Run the +simulation for 10000 milliseconds with 2 processes. Examine the +two output files. Try again for 5 processes. Try again for 10 +processes. Explain what's happening. + +---------------------------------------------------------------------- + +The Configuration File + + The configuration file (scheduling.conf) is used to specify various + parameters for the simulation, including: + * the number of processes, + * the mean runtime for a process, + * the standard deviation in runtime for a process, + * for each process, how long the process runs before it blocks for + input or output, and + * how long the simulation should run. + + Configuration File Options + + There are a number of options which can be specified in the + configuration file. These are summarized in the table below. + + Keyword Values Description + numprocess n The number of processes to create for the simulation. + meandev n The average length of time in milliseconds that a process + should execute before terminating. + standdev n The number of standard deviations from the average length + of time a process should execute before terminating. + process n The amount of time in milliseconds that the process should + execute before blocking for input or output. There should be a + separate process directive for each process specified by the + numprocess directive. + runtime n The maximum amount of time the simulation should run in + milliseconds. + +---------------------------------------------------------------------- + + Sample Configuration File + + The "scheduling.conf" configuration file looks like this: + +// # of Process +numprocess 3 + +// mean deivation +meandev 1100 + +// standard deviation +standdev 510 + +// process # I/O blocking +process 100 +process 500 +process 30 + +// duration of the simulation in milliseconds +runtime 5000 + + +---------------------------------------------------------------------- + +The Summary-Results File + + The Summary-Results file contains a summary report describing the + simulation and includes one line of summary information for each + process. The fields and columns in the report are described in the + following table. + + Field Description + Scheduling Type: The type of the scheduling algorithm used. The value + displayed is "hard coded" in the SchedulingAlgorithm.java file. + Scheduling Name: The name of the scheduling algorithm used. The value + displayed is "hard coded" in the SchedulingAlgorithm.java file. + Simulation Run Time: The number of milliseconds that the simulation + ran. This may be less than or equal to the total amount of time + specified by the "runtime" configuration parameter. + Mean: The average amount of runtime for the processes as specified by + the "meandev" configuration parameter. + Standard Deviation: The standard deviation from the average amount of + runtime for the processes as specified by the "standdev" configuration + parameter. + Process # The process number assigned to the process by the simulator. + The process number is between 0 and n-1, where n is the number + specified by the "numprocess" configuration parameter. + CPU Time The randomly generated total runtime for the process in + milliseconds. This is determined by the "meandev" and "standdev" + parameters in the configuration file. + IO Blocking The amount of time the process runs before it blocks for + input or output. This is specified for each process by a "process" + directive in the configuration file. + CPU Completed The amount of runtime in milliseconds completed for the + process. Note that this may be less than the CPU Time for the process + if the simulator runs out of time as specified by the "runtime" + configuration parameter. + CPU Blocked The number of times the process blocked for input or + output during the simulation. + + Sample Summary-Results File + + The output "Summary-Results" file looks something like this: + +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 2750 +Mean: 1100 +Standard Deviation: 510 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 1372 (ms) 100 (ms) 1372 (ms) 13 times +1 689 (ms) 500 (ms) 689 (ms) 1 times +2 689 (ms) 30 (ms) 689 (ms) 22 times + +---------------------------------------------------------------------- + +The Summary-Processes File + + The Summary-Processes file contains a log of the actions taken by the + scheduling algorithm as it considers each process in the scheduling + queue. + + Each line in the log file is of the following form: + +Process: process-number process-status... (cpu-time block-time accumulated-time + accumulated-time) + + The fields in the line are described in the table below. + + Field Description + process-number The process number assigned to the process by the + simulator. This is a number between 0 and n-1, where n is the value + specified for the "numprocess" configuration parameter. + process-status The status of the process at this point in time. If + "registered" then the process is under consideration by the scheduling + algorithm. If "I/O blocked", then the scheduling algorithm has noticed + that the process is blocked for input or output. If "completed", then + the scheduling algorithm has noticed that the process has met or + exceeded its allocated execution time. + cpu-time The total amount of run time allowed for this process. This + number is randomly generated for the process based on the "meandev" + and "standdev" values specified in the configuration file. + block-time The amount of time in milliseconds to execute before + blocking process. This number is specified for the process by the + "process" directive in the configuration file. + accumulated-time The total amount of time process has executed in + milliseconds. (This number appears twice in the log file; one should + be removed). + + Sample Summary-Processes File + + The output "Summary-Processes" file looks something like this: + +Process: 0 registered... (1372 100 0 0) +Process: 0 I/O blocked... (1372 100 100 100) +Process: 1 registered... (689 500 0 0) +Process: 1 I/O blocked... (689 500 500 500) +Process: 0 registered... (1372 100 100 100) +Process: 0 I/O blocked... (1372 100 200 200) +Process: 1 registered... (689 500 500 500) +Process: 1 completed... (689 500 689 689) +Process: 0 registered... (1372 100 200 200) +Process: 0 I/O blocked... (1372 100 300 300) +Process: 2 registered... (689 30 0 0) +Process: 2 I/O blocked... (689 30 30 30) + diff --git a/EOPSY/lab3/report/processesfive b/EOPSY/lab3/report/processesfive new file mode 100644 index 00000000..b5b52876 --- /dev/null +++ b/EOPSY/lab3/report/processesfive @@ -0,0 +1,39 @@ +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +Process: 2 registered... (2000 500 0 0) +Process: 2 I/O blocked... (2000 500 500 500) +Process: 3 registered... (2000 500 0 0) +Process: 3 I/O blocked... (2000 500 500 500) +Process: 2 registered... (2000 500 500 500) +Process: 2 I/O blocked... (2000 500 1000 1000) +Process: 3 registered... (2000 500 500 500) +Process: 3 I/O blocked... (2000 500 1000 1000) +Process: 2 registered... (2000 500 1000 1000) +Process: 2 I/O blocked... (2000 500 1500 1500) +Process: 3 registered... (2000 500 1000 1000) +Process: 3 I/O blocked... (2000 500 1500 1500) +Process: 2 registered... (2000 500 1500 1500) +Process: 2 completed... (2000 500 2000 2000) +Process: 3 registered... (2000 500 1500 1500) +Process: 3 completed... (2000 500 2000 2000) +Process: 4 registered... (2000 500 0 0) +Process: 4 I/O blocked... (2000 500 500 500) +Process: 4 registered... (2000 500 500 500) +Process: 4 I/O blocked... (2000 500 1000 1000) +Process: 4 registered... (2000 500 1000 1000) +Process: 4 I/O blocked... (2000 500 1500 1500) +Process: 4 registered... (2000 500 1500 1500) diff --git a/EOPSY/lab3/report/processesten b/EOPSY/lab3/report/processesten new file mode 100644 index 00000000..3f090156 --- /dev/null +++ b/EOPSY/lab3/report/processesten @@ -0,0 +1,39 @@ +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +Process: 2 registered... (2000 500 0 0) +Process: 2 I/O blocked... (2000 500 500 500) +Process: 3 registered... (2000 500 0 0) +Process: 3 I/O blocked... (2000 500 500 500) +Process: 2 registered... (2000 500 500 500) +Process: 2 I/O blocked... (2000 500 1000 1000) +Process: 3 registered... (2000 500 500 500) +Process: 3 I/O blocked... (2000 500 1000 1000) +Process: 2 registered... (2000 500 1000 1000) +Process: 2 I/O blocked... (2000 500 1500 1500) +Process: 3 registered... (2000 500 1000 1000) +Process: 3 I/O blocked... (2000 500 1500 1500) +Process: 2 registered... (2000 500 1500 1500) +Process: 2 completed... (2000 500 2000 2000) +Process: 3 registered... (2000 500 1500 1500) +Process: 3 completed... (2000 500 2000 2000) +Process: 4 registered... (2000 500 0 0) +Process: 4 I/O blocked... (2000 500 500 500) +Process: 5 registered... (2000 500 0 0) +Process: 5 I/O blocked... (2000 500 500 500) +Process: 4 registered... (2000 500 500 500) +Process: 4 I/O blocked... (2000 500 1000 1000) +Process: 5 registered... (2000 500 500 500) diff --git a/EOPSY/lab3/report/processestwo b/EOPSY/lab3/report/processestwo new file mode 100644 index 00000000..ba298264 --- /dev/null +++ b/EOPSY/lab3/report/processestwo @@ -0,0 +1,16 @@ +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) diff --git a/EOPSY/lab3/report/report.aux b/EOPSY/lab3/report/report.aux new file mode 100644 index 00000000..bb10cfb4 --- /dev/null +++ b/EOPSY/lab3/report/report.aux @@ -0,0 +1,14 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {0.1}Scheduling conf settings}{1}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {0.2}Two processes}{1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.2.1}Summary Results}{1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.2.2}Summary Processes}{1}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.2.3}Comments}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {0.3}Five processes}{2}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.1}Summary Results}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.2}Summary Processes}{3}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.3}Comments}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {0.4}Ten processes}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.4.1}Summary Results}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.4.2}Summary Processes}{5}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {0.4.3}Comments}{6}\protected@file@percent } diff --git a/EOPSY/lab3/report/report.fdb_latexmk b/EOPSY/lab3/report/report.fdb_latexmk new file mode 100644 index 00000000..16c2ee28 --- /dev/null +++ b/EOPSY/lab3/report/report.fdb_latexmk @@ -0,0 +1,26 @@ +# Fdb version 3 +["pdflatex"] 1651180479 "report.tex" "report.pdf" "report" 1651180479 + "/etc/texmf/web2c/texmf.cnf" 1649511474 475 c0e671620eb5563b2130f56340a5fde8 "" + "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm" 1136768653 1324 c910af8c371558dc20f2d7822f66fe64 "" + "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 "" + "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb" 1248133631 32080 340ef9bf63678554ee606688e7b5339d "" + "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1248133631 35752 024fb6c41858982481f6968b5fc26508 "" + "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d "" + "/usr/share/texlive/texmf-dist/tex/latex/base/report.cls" 1580683321 23082 a0e9a5941c744eda6abe56770037a201 "" + "/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo" 1580683321 8446 9874cccac5fee462272c582807dbbf56 "" + "/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 "" + "/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def" 1580854751 25404 9d60f463a00d154207ec0048dee27cf0 "" + "/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1568236792 1830 bbaba8afaf42cc048ec4d4ff73467521 "" + "/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1568236792 80511 830f3f1d3ab7448dd84233e9c2f6462c "" + "/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1568236792 77022 32914f01b528131c47be2a1040d3856d "" + "/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e "" + "/usr/share/texmf/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e "" + "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1649511498 4770781 1ed1abab22da9c3e2cc82e4db562318b "" + "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1649511522 8256308 efb305160d4d659dcd0c4df67bdfa340 "" + "report.aux" 1651180479 1381 beb79f7f27071576b464b34c6342e7ba "pdflatex" + "report.tex" 1651180479 9871 9cedac79a557d32619374a6bdf67fb9f "" + (generated) + "report.pdf" + "report.log" + "report.aux" diff --git a/EOPSY/lab3/report/report.fls b/EOPSY/lab3/report/report.fls new file mode 100644 index 00000000..ea6d3c19 --- /dev/null +++ b/EOPSY/lab3/report/report.fls @@ -0,0 +1,35 @@ +PWD /home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/EOPSY/eopsy_krzysztof_rudnicki_lab3/report +INPUT /etc/texmf/web2c/texmf.cnf +INPUT /usr/share/texmf/web2c/texmf.cnf +INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf +INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt +INPUT report.tex +OUTPUT report.log +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def +INPUT report.aux +INPUT report.aux +OUTPUT report.aux +INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm +OUTPUT report.pdf +INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map +INPUT report.aux +INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb +INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb +INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb diff --git a/EOPSY/lab3/report/report.log b/EOPSY/lab3/report/report.log new file mode 100644 index 00000000..b93e7aae --- /dev/null +++ b/EOPSY/lab3/report/report.log @@ -0,0 +1,95 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2022.4.9) 28 APR 2022 23:14 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**report.tex +(./report.tex +LaTeX2e <2020-02-02> patch level 2 +L3 programming layer <2020-02-14> (/usr/share/texlive/texmf-dist/tex/latex/base/report.cls +Document Class: report 2019/12/20 v1.4l Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2019/12/20 v1.4l Standard LaTeX file (size option) +) +\c@part=\count167 +\c@chapter=\count168 +\c@section=\count169 +\c@subsection=\count170 +\c@subsubsection=\count171 +\c@paragraph=\count172 +\c@subparagraph=\count173 +\c@figure=\count174 +\c@table=\count175 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen134 +) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +\lst@mode=\count176 +\lst@gtempboxa=\box45 +\lst@token=\toks15 +\lst@length=\count177 +\lst@currlwidth=\dimen135 +\lst@column=\count178 +\lst@pos=\count179 +\lst@lostspace=\dimen136 +\lst@width=\dimen137 +\lst@newlines=\count180 +\lst@lineno=\count181 +\lst@maxwidth=\dimen138 + (/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz) +\c@lstnumber=\count182 +\lst@skipnumbers=\count183 +\lst@framebox=\box46 +) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2019/09/10 1.8c listings configuration +)) +Package: listings 2019/09/10 1.8c (Carsten Heinz) + (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def +File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode +\l__kernel_color_stack_int=\count184 +\l__pdf_internal_box=\box47 +) (./report.aux) +\openout1 = `report.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. +LaTeX Font Info: ... okay on input line 3. +\c@lstlisting=\count185 +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 32. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 32. + [1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] [4] [5] [6] (./report.aux) ) +Here is how much of TeX's memory you used: + 2015 strings out of 481239 + 27819 string characters out of 5920378 + 291741 words of memory out of 5000000 + 17347 multiletter control sequences out of 15000+600000 + 533548 words of font info for 28 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 28i,6n,36p,169b,1505s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on report.pdf (6 pages, 50576 bytes). +PDF statistics: + 35 PDF objects out of 1000 (max. 8388607) + 23 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/EOPSY/lab3/report/report.pdf b/EOPSY/lab3/report/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0b0438ddd56e6c087a85ecd445446aa5829fa8f3 GIT binary patch literal 50576 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 literal 0 HcmV?d00001 diff --git a/EOPSY/lab3/report/report.synctex.gz b/EOPSY/lab3/report/report.synctex.gz new file mode 100644 index 0000000000000000000000000000000000000000..35d0e138d1d366a6f2fd6d3a05cbacb15c9b3e38 GIT binary patch literal 104573 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�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%0D7p* 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%0AMvqUuk)*TUr18`Z0CY0sYc#C-o_^$q4JI*+?;p% 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 literal 0 HcmV?d00001 diff --git a/EOPSY/lab3/report/report.tex b/EOPSY/lab3/report/report.tex new file mode 100644 index 00000000..b9609c78 --- /dev/null +++ b/EOPSY/lab3/report/report.tex @@ -0,0 +1,265 @@ +\documentclass{report} +\usepackage{listings} +\begin{document} + +\section{Scheduling conf settings} +\begin{lstlisting} +// # of Process +numprocess 2 or 5 or 10 + +// mean deivation +meandev 2000 + +// standard deviation +standdev 0 + +// process # I/O blocking +process 500 +process 500 +(more if we set numprocess to 5 or 10) + +// duration of the simulation in milliseconds +runtime 10000 + +\end{lstlisting} + +\section{Two processes} +\subsection{Summary Results} + + +\begin{lstlisting} +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 4000 +Mean: 2000 +Standard Deviation: 0 +\end{lstlisting} + +\begin{center} +\begin{tabular}{| c | c | c | c | c |} +\hline +Process\# & CPU Time & IO Blocking & CPU Completed & CPU Blocked \\ +\hline +0& 2000 (ms)& 500 (ms)& 2000 (ms)& 3 times \\ +\hline +1& 2000 (ms)& 500 (ms)& 2000 (ms)& 3 times \\ +\hline +\end{tabular} +\end{center} + +\subsection{Summary Processes} +\begin{lstlisting} +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +\end{lstlisting} +\subsection{Comments} +Scheduling type was Batch since I did not change it in SchedulingAlgorithm.java +file \\ +Scheduling Name was First-Come First-Served since this is what what we use as +described in README for this laboratory \\ +Simulation Run time is 4000 ms and NOT 10000 ms since the simulation finished +before it exceeded this max time \\ +Mean is 2000 since this is a value I set in conf value according to laboratory +task description, same with standard deviation equal to 0 and CPU Time equal to +2000 ms \\ +IO Blocking is equal to 500 ms, this is a value which we specified in +configuration file and since we did not exceeded the runtime parameter it stayed +equal to 500 ms \\ +CPU completed is equal to 2000 since this is deviation we set in configuration +settings and the runtime was not exceeded \\ +All processes blocked 3 times, analysing summary processes we can see that they +blocked at 500 ms, 1000 ms and 1500 ms and at 2000 seconds they completed + +\section{Five processes} +\newpage +\subsection{Summary Results} +\begin{lstlisting} +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 10000 +Mean: 2000 +Standard Deviation: 0 +\end{lstlisting} +\begin{center} +\begin{tabular}{| c | c | c | c | c |} +\hline +Process\# & CPU Time & IO Blocking & CPU Completed & CPU Blocked \\ +\hline +0& 2000 (ms)& 500 (ms)& 2000 (ms)& 3 times \\ +\hline +1& 2000 (ms)& 500 (ms)& 2000 (ms)& 3 times \\ +\hline +2& 2000 (ms)& 500 (ms)& 2000 (ms)& 3 times \\ +\hline +3& 2000 (ms)& 500 (ms)& 2000 (ms)& 3 times \\ +\hline +4& 2000 (ms)& 500 (ms)& 2000 (ms)& 3 times \\ +\hline +\end{tabular} +\end{center} + +\subsection{Summary Processes} +\begin{lstlisting} +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +Process: 2 registered... (2000 500 0 0) +Process: 2 I/O blocked... (2000 500 500 500) +Process: 3 registered... (2000 500 0 0) +Process: 3 I/O blocked... (2000 500 500 500) +Process: 2 registered... (2000 500 500 500) +Process: 2 I/O blocked... (2000 500 1000 1000) +Process: 3 registered... (2000 500 500 500) +Process: 3 I/O blocked... (2000 500 1000 1000) +Process: 2 registered... (2000 500 1000 1000) +Process: 2 I/O blocked... (2000 500 1500 1500) +Process: 3 registered... (2000 500 1000 1000) +Process: 3 I/O blocked... (2000 500 1500 1500) +Process: 2 registered... (2000 500 1500 1500) +Process: 2 completed... (2000 500 2000 2000) +Process: 3 registered... (2000 500 1500 1500) +Process: 3 completed... (2000 500 2000 2000) +Process: 4 registered... (2000 500 0 0) +Process: 4 I/O blocked... (2000 500 500 500) +Process: 4 registered... (2000 500 500 500) +Process: 4 I/O blocked... (2000 500 1000 1000) +Process: 4 registered... (2000 500 1000 1000) +Process: 4 I/O blocked... (2000 500 1500 1500) +Process: 4 registered... (2000 500 1500 1500) +\end{lstlisting} +\subsection{Comments} +Scheduling type was Batch since I did not change it in SchedulingAlgorithm.java +file \\ +Scheduling Name was First-Come First-Served since this is what what we use as +described in README for this laboratory \\ +Simulation run time is 10000 ms since it run untill the limit I set in conf file +according to task description \\ +CPU blocking is set everywhere to 500 ms as in conf file \\ +Mean is 2000 since this is a value I set in conf value according to laboratory +task description, same with standard deviation equal to 0 and CPU Time equal to +2000 ms \\ +CPU completed is equal to expected 2000 ms, this makes sense since we had run +time equal to 10000 ms and 5 procesess so each of them could take exactly the +amonunt of time we set them to take. + + +\section{Ten processes} +\subsection{Summary Results} +\begin{lstlisting} +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 10000 +Mean: 2000 +Standard Deviation: 0 +\end{lstlisting} +\begin{center} +\begin{tabular}{| c | c | c | c | c |} +\hline +Process\# & CPU Time & IO Blocking & CPU Completed & CPU Blocked \\ +\hline +0 &2000 (ms) &500 (ms)& 2000 (ms)& 3 times \\ +\hline +1 &2000 (ms) &500 (ms)& 2000 (ms)& 3 times \\ +\hline +2 &2000 (ms) &500 (ms)& 2000 (ms)& 3 times \\ +\hline +3 &2000 (ms) &500 (ms)& 2000 (ms)& 3 times \\ +\hline +4 &2000 (ms) &500 (ms)& 1000 (ms)& 2 times \\ +\hline +5 &2000 (ms) &500 (ms)& 1000 (ms)& 1 times \\ +\hline +6 &2000 (ms) &500 (ms)& 0 (ms)& 0 times \\ +\hline +7 &2000 (ms) &500 (ms)& 0 (ms)& 0 times \\ +\hline +8 &2000 (ms) &500 (ms)& 0 (ms)& 0 times \\ +\hline +9 &2000 (ms) &500 (ms)& 0 (ms)& 0 times \\ +\hline +\end{tabular} +\end{center} +\subsection{Summary Processes} +\begin{lstlisting} +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +Process: 2 registered... (2000 500 0 0) +Process: 2 I/O blocked... (2000 500 500 500) +Process: 3 registered... (2000 500 0 0) +Process: 3 I/O blocked... (2000 500 500 500) +Process: 2 registered... (2000 500 500 500) +Process: 2 I/O blocked... (2000 500 1000 1000) +Process: 3 registered... (2000 500 500 500) +Process: 3 I/O blocked... (2000 500 1000 1000) +Process: 2 registered... (2000 500 1000 1000) +Process: 2 I/O blocked... (2000 500 1500 1500) +Process: 3 registered... (2000 500 1000 1000) +Process: 3 I/O blocked... (2000 500 1500 1500) +Process: 2 registered... (2000 500 1500 1500) +Process: 2 completed... (2000 500 2000 2000) +Process: 3 registered... (2000 500 1500 1500) +Process: 3 completed... (2000 500 2000 2000) +Process: 4 registered... (2000 500 0 0) +Process: 4 I/O blocked... (2000 500 500 500) +Process: 5 registered... (2000 500 0 0) +Process: 5 I/O blocked... (2000 500 500 500) +Process: 4 registered... (2000 500 500 500) +Process: 4 I/O blocked... (2000 500 1000 1000) +Process: 5 registered... (2000 500 500 500) +\end{lstlisting} +\subsection{Comments} +Scheduling type was Batch since I did not change it in SchedulingAlgorithm.java +file \\ +Scheduling Name was First-Come First-Served since this is what what we use as +described in README for this laboratory \\ +Simulation run time is 10000 ms since it run untill the limit I set in conf file +according to task description \\ +IO Blocking set to 500 ms as in config file \\ +Mean is 2000 since this is a value I set in conf value according to laboratory +task description, same with standard deviation equal to 0 and CPU Time equal to +2000 ms \\ +CPU completed this time is equal to 2000 up to 4th process and then is equal to +1000 ms for 5th and 6th and then it is equal to 0 ms, this means that the +simulation exceeded the runtime before it had a chance to run all processes +\end{document} diff --git a/EOPSY/lab3/report/resultsfive b/EOPSY/lab3/report/resultsfive new file mode 100644 index 00000000..14838101 --- /dev/null +++ b/EOPSY/lab3/report/resultsfive @@ -0,0 +1,11 @@ +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 10000 +Mean: 2000 +Standard Deviation: 0 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 2000 (ms) 500 (ms) 2000 (ms) 3 times +1 2000 (ms) 500 (ms) 2000 (ms) 3 times +2 2000 (ms) 500 (ms) 2000 (ms) 3 times +3 2000 (ms) 500 (ms) 2000 (ms) 3 times +4 2000 (ms) 500 (ms) 2000 (ms) 3 times diff --git a/EOPSY/lab3/report/resultsten b/EOPSY/lab3/report/resultsten new file mode 100644 index 00000000..6b0ad3e5 --- /dev/null +++ b/EOPSY/lab3/report/resultsten @@ -0,0 +1,16 @@ +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 10000 +Mean: 2000 +Standard Deviation: 0 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 2000 (ms) 500 (ms) 2000 (ms) 3 times +1 2000 (ms) 500 (ms) 2000 (ms) 3 times +2 2000 (ms) 500 (ms) 2000 (ms) 3 times +3 2000 (ms) 500 (ms) 2000 (ms) 3 times +4 2000 (ms) 500 (ms) 1000 (ms) 2 times +5 2000 (ms) 500 (ms) 1000 (ms) 1 times +6 2000 (ms) 500 (ms) 0 (ms) 0 times +7 2000 (ms) 500 (ms) 0 (ms) 0 times +8 2000 (ms) 500 (ms) 0 (ms) 0 times +9 2000 (ms) 500 (ms) 0 (ms) 0 times diff --git a/EOPSY/lab3/report/resultstwo b/EOPSY/lab3/report/resultstwo new file mode 100644 index 00000000..bc95877d --- /dev/null +++ b/EOPSY/lab3/report/resultstwo @@ -0,0 +1,8 @@ +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 4000 +Mean: 2000 +Standard Deviation: 0 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 2000 (ms) 500 (ms) 2000 (ms) 3 times +1 2000 (ms) 500 (ms) 2000 (ms) 3 times diff --git a/EOPSY/lab3/report/texput.fls b/EOPSY/lab3/report/texput.fls new file mode 100644 index 00000000..44daca94 --- /dev/null +++ b/EOPSY/lab3/report/texput.fls @@ -0,0 +1,6 @@ +PWD /home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/EOPSY/eopsy_krzysztof_rudnicki_lab3/report +INPUT /etc/texmf/web2c/texmf.cnf +INPUT /usr/share/texmf/web2c/texmf.cnf +INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf +INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt +OUTPUT texput.log diff --git a/EOPSY/lab3/report/texput.log b/EOPSY/lab3/report/texput.log new file mode 100644 index 00000000..f76c3d1a --- /dev/null +++ b/EOPSY/lab3/report/texput.log @@ -0,0 +1,22 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2022.4.9) 28 APR 2022 22:05 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**report.tex + +! Emergency stop. +<*> report.tex + +*** (job aborted, file error in nonstop mode) + + +Here is how much of TeX's memory you used: + 3 strings out of 481239 + 108 string characters out of 5920378 + 236564 words of memory out of 5000000 + 15373 multiletter control sequences out of 15000+600000 + 532338 words of font info for 24 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s +! ==> Fatal error occurred, no output PDF file produced! diff --git a/EOPSY/lab3/task3/README b/EOPSY/lab3/task3/README new file mode 100644 index 00000000..818dd2da --- /dev/null +++ b/EOPSY/lab3/task3/README @@ -0,0 +1 @@ +Change directory to ./ftp and submit "make setup". diff --git a/EOPSY/lab3/task3/Summary-Processes b/EOPSY/lab3/task3/Summary-Processes new file mode 100644 index 00000000..b5b52876 --- /dev/null +++ b/EOPSY/lab3/task3/Summary-Processes @@ -0,0 +1,39 @@ +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +Process: 2 registered... (2000 500 0 0) +Process: 2 I/O blocked... (2000 500 500 500) +Process: 3 registered... (2000 500 0 0) +Process: 3 I/O blocked... (2000 500 500 500) +Process: 2 registered... (2000 500 500 500) +Process: 2 I/O blocked... (2000 500 1000 1000) +Process: 3 registered... (2000 500 500 500) +Process: 3 I/O blocked... (2000 500 1000 1000) +Process: 2 registered... (2000 500 1000 1000) +Process: 2 I/O blocked... (2000 500 1500 1500) +Process: 3 registered... (2000 500 1000 1000) +Process: 3 I/O blocked... (2000 500 1500 1500) +Process: 2 registered... (2000 500 1500 1500) +Process: 2 completed... (2000 500 2000 2000) +Process: 3 registered... (2000 500 1500 1500) +Process: 3 completed... (2000 500 2000 2000) +Process: 4 registered... (2000 500 0 0) +Process: 4 I/O blocked... (2000 500 500 500) +Process: 4 registered... (2000 500 500 500) +Process: 4 I/O blocked... (2000 500 1000 1000) +Process: 4 registered... (2000 500 1000 1000) +Process: 4 I/O blocked... (2000 500 1500 1500) +Process: 4 registered... (2000 500 1500 1500) diff --git a/EOPSY/lab3/task3/Summary-Results b/EOPSY/lab3/task3/Summary-Results new file mode 100644 index 00000000..14838101 --- /dev/null +++ b/EOPSY/lab3/task3/Summary-Results @@ -0,0 +1,11 @@ +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 10000 +Mean: 2000 +Standard Deviation: 0 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 2000 (ms) 500 (ms) 2000 (ms) 3 times +1 2000 (ms) 500 (ms) 2000 (ms) 3 times +2 2000 (ms) 500 (ms) 2000 (ms) 3 times +3 2000 (ms) 500 (ms) 2000 (ms) 3 times +4 2000 (ms) 500 (ms) 2000 (ms) 3 times diff --git a/EOPSY/lab3/task3/ftp/Makefile b/EOPSY/lab3/task3/ftp/Makefile new file mode 100644 index 00000000..c934ac31 --- /dev/null +++ b/EOPSY/lab3/task3/ftp/Makefile @@ -0,0 +1,24 @@ + +default: info + + +help: + less README.tjk + +compile: + javac -nowarn *.java + +run: + java Scheduling scheduling.conf + +setup: + ./setUp + +info: + @echo "" + @echo "Use 'make' with one argument:" + @echo "" + @echo " make help" + @echo " make compile" + @echo " make run" + @echo "" diff --git a/EOPSY/lab3/task3/ftp/README.tjk b/EOPSY/lab3/task3/ftp/README.tjk new file mode 100644 index 00000000..cd3397ad --- /dev/null +++ b/EOPSY/lab3/task3/ftp/README.tjk @@ -0,0 +1,199 @@ + + + WORKPLACE ORGANIZATION: +mkdir ../work +cd ../work +cp ../ftp/* . +gzip -d sched.tgz +tar -xvf sched.tar +rm sched.tar + + + READING: +less/vi README.tjk +netscape/lynx install_unix.html +netscape/lynx user_guide.html + + + COMPILE: +javac -nowarn *.java + + + RUN: +java Scheduling scheduling.conf + + + FILES: +input file name: scheduling.conf +output file name: Summary-Processes +log file name: Summary-Processes + + +--[ YOUR TASK ]------------------------------------------------------- + +Create a configuration file in which all processes run an average +of 2000 milliseconds with a standard deviation of zero, and which +are blocked for input or output every 500 milliseconds. Run the +simulation for 10000 milliseconds with 2 processes. Examine the +two output files. Try again for 5 processes. Try again for 10 +processes. Explain what's happening. + +---------------------------------------------------------------------- + +The Configuration File + + The configuration file (scheduling.conf) is used to specify various + parameters for the simulation, including: + * the number of processes, + * the mean runtime for a process, + * the standard deviation in runtime for a process, + * for each process, how long the process runs before it blocks for + input or output, and + * how long the simulation should run. + + Configuration File Options + + There are a number of options which can be specified in the + configuration file. These are summarized in the table below. + + Keyword Values Description + numprocess n The number of processes to create for the simulation. + meandev n The average length of time in milliseconds that a process + should execute before terminating. + standdev n The number of standard deviations from the average length + of time a process should execute before terminating. + process n The amount of time in milliseconds that the process should + execute before blocking for input or output. There should be a + separate process directive for each process specified by the + numprocess directive. + runtime n The maximum amount of time the simulation should run in + milliseconds. + +---------------------------------------------------------------------- + + Sample Configuration File + + The "scheduling.conf" configuration file looks like this: + +// # of Process +numprocess 3 + +// mean deivation +meandev 1100 + +// standard deviation +standdev 510 + +// process # I/O blocking +process 100 +process 500 +process 30 + +// duration of the simulation in milliseconds +runtime 5000 + + +---------------------------------------------------------------------- + +The Summary-Results File + + The Summary-Results file contains a summary report describing the + simulation and includes one line of summary information for each + process. The fields and columns in the report are described in the + following table. + + Field Description + Scheduling Type: The type of the scheduling algorithm used. The value + displayed is "hard coded" in the SchedulingAlgorithm.java file. + Scheduling Name: The name of the scheduling algorithm used. The value + displayed is "hard coded" in the SchedulingAlgorithm.java file. + Simulation Run Time: The number of milliseconds that the simulation + ran. This may be less than or equal to the total amount of time + specified by the "runtime" configuration parameter. + Mean: The average amount of runtime for the processes as specified by + the "meandev" configuration parameter. + Standard Deviation: The standard deviation from the average amount of + runtime for the processes as specified by the "standdev" configuration + parameter. + Process # The process number assigned to the process by the simulator. + The process number is between 0 and n-1, where n is the number + specified by the "numprocess" configuration parameter. + CPU Time The randomly generated total runtime for the process in + milliseconds. This is determined by the "meandev" and "standdev" + parameters in the configuration file. + IO Blocking The amount of time the process runs before it blocks for + input or output. This is specified for each process by a "process" + directive in the configuration file. + CPU Completed The amount of runtime in milliseconds completed for the + process. Note that this may be less than the CPU Time for the process + if the simulator runs out of time as specified by the "runtime" + configuration parameter. + CPU Blocked The number of times the process blocked for input or + output during the simulation. + + Sample Summary-Results File + + The output "Summary-Results" file looks something like this: + +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 2750 +Mean: 1100 +Standard Deviation: 510 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 1372 (ms) 100 (ms) 1372 (ms) 13 times +1 689 (ms) 500 (ms) 689 (ms) 1 times +2 689 (ms) 30 (ms) 689 (ms) 22 times + +---------------------------------------------------------------------- + +The Summary-Processes File + + The Summary-Processes file contains a log of the actions taken by the + scheduling algorithm as it considers each process in the scheduling + queue. + + Each line in the log file is of the following form: + +Process: process-number process-status... (cpu-time block-time accumulated-time + accumulated-time) + + The fields in the line are described in the table below. + + Field Description + process-number The process number assigned to the process by the + simulator. This is a number between 0 and n-1, where n is the value + specified for the "numprocess" configuration parameter. + process-status The status of the process at this point in time. If + "registered" then the process is under consideration by the scheduling + algorithm. If "I/O blocked", then the scheduling algorithm has noticed + that the process is blocked for input or output. If "completed", then + the scheduling algorithm has noticed that the process has met or + exceeded its allocated execution time. + cpu-time The total amount of run time allowed for this process. This + number is randomly generated for the process based on the "meandev" + and "standdev" values specified in the configuration file. + block-time The amount of time in milliseconds to execute before + blocking process. This number is specified for the process by the + "process" directive in the configuration file. + accumulated-time The total amount of time process has executed in + milliseconds. (This number appears twice in the log file; one should + be removed). + + Sample Summary-Processes File + + The output "Summary-Processes" file looks something like this: + +Process: 0 registered... (1372 100 0 0) +Process: 0 I/O blocked... (1372 100 100 100) +Process: 1 registered... (689 500 0 0) +Process: 1 I/O blocked... (689 500 500 500) +Process: 0 registered... (1372 100 100 100) +Process: 0 I/O blocked... (1372 100 200 200) +Process: 1 registered... (689 500 500 500) +Process: 1 completed... (689 500 689 689) +Process: 0 registered... (1372 100 200 200) +Process: 0 I/O blocked... (1372 100 300 300) +Process: 2 registered... (689 30 0 0) +Process: 2 I/O blocked... (689 30 30 30) + diff --git a/EOPSY/lab3/task3/ftp/sched.tgz b/EOPSY/lab3/task3/ftp/sched.tgz new file mode 100644 index 0000000000000000000000000000000000000000..edcd632ebbe89bb0efd25c0bc7a38953fbe27872 GIT binary patch literal 23847 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 literal 0 HcmV?d00001 diff --git a/EOPSY/lab3/task3/ftp/setUp b/EOPSY/lab3/task3/ftp/setUp new file mode 100755 index 00000000..712df807 --- /dev/null +++ b/EOPSY/lab3/task3/ftp/setUp @@ -0,0 +1,9 @@ +echo "Creating ../work subdirectory" +mkdir ../work +cd ../work +cp ../ftp/* . +gzip -d sched.tgz +tar -xvf sched.tar +rm sched.tar +echo "" +echo "Now, go to the directory ../work and call 'make'" diff --git a/EOPSY/lab3/task3/processesfive b/EOPSY/lab3/task3/processesfive new file mode 100644 index 00000000..0271cb99 --- /dev/null +++ b/EOPSY/lab3/task3/processesfive @@ -0,0 +1,4067 @@ +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +Process: 2 registered... (2000 500 0 0) +Process: 2 I/O blocked... (2000 500 500 500) +Process: 3 registered... (2000 0 0 0) +Process: 3 I/O blocked... (2000 0 1 1) +Process: 2 registered... (2000 500 500 500) +Process: 2 I/O blocked... (2000 500 1000 1000) +Process: 3 registered... (2000 0 1 1) +Process: 3 I/O blocked... (2000 0 2 2) +Process: 2 registered... (2000 500 1000 1000) +Process: 2 I/O blocked... (2000 500 1500 1500) +Process: 3 registered... (2000 0 2 2) +Process: 3 I/O blocked... (2000 0 3 3) +Process: 2 registered... (2000 500 1500 1500) +Process: 2 completed... (2000 500 2000 2000) +Process: 3 registered... (2000 0 3 3) +Process: 3 I/O blocked... (2000 0 3 3) +Process: 4 registered... (2000 100 0 0) +Process: 4 I/O blocked... (2000 100 100 100) +Process: 3 registered... (2000 0 3 3) +Process: 3 I/O blocked... (2000 0 4 4) +Process: 4 registered... (2000 100 100 100) +Process: 4 I/O blocked... (2000 100 200 200) +Process: 3 registered... (2000 0 4 4) +Process: 3 I/O blocked... (2000 0 5 5) +Process: 4 registered... (2000 100 200 200) +Process: 4 I/O blocked... (2000 100 300 300) +Process: 3 registered... (2000 0 5 5) +Process: 3 I/O blocked... (2000 0 6 6) +Process: 4 registered... (2000 100 300 300) +Process: 4 I/O blocked... (2000 100 400 400) +Process: 3 registered... (2000 0 6 6) +Process: 3 I/O blocked... (2000 0 7 7) +Process: 4 registered... (2000 100 400 400) +Process: 4 I/O blocked... (2000 100 500 500) +Process: 3 registered... (2000 0 7 7) +Process: 3 I/O blocked... (2000 0 8 8) +Process: 4 registered... (2000 100 500 500) +Process: 4 I/O blocked... (2000 100 600 600) +Process: 3 registered... (2000 0 8 8) +Process: 3 I/O blocked... (2000 0 9 9) +Process: 4 registered... (2000 100 600 600) +Process: 4 I/O blocked... (2000 100 700 700) +Process: 3 registered... (2000 0 9 9) +Process: 3 I/O blocked... (2000 0 10 10) +Process: 4 registered... (2000 100 700 700) +Process: 4 I/O blocked... (2000 100 800 800) +Process: 3 registered... (2000 0 10 10) +Process: 3 I/O blocked... (2000 0 11 11) +Process: 4 registered... (2000 100 800 800) +Process: 4 I/O blocked... (2000 100 900 900) +Process: 3 registered... (2000 0 11 11) +Process: 3 I/O blocked... (2000 0 12 12) +Process: 4 registered... (2000 100 900 900) +Process: 4 I/O blocked... (2000 100 1000 1000) +Process: 3 registered... (2000 0 12 12) +Process: 3 I/O blocked... (2000 0 13 13) +Process: 4 registered... (2000 100 1000 1000) +Process: 4 I/O blocked... (2000 100 1100 1100) +Process: 3 registered... (2000 0 13 13) +Process: 3 I/O blocked... (2000 0 14 14) +Process: 4 registered... (2000 100 1100 1100) +Process: 4 I/O blocked... (2000 100 1200 1200) +Process: 3 registered... (2000 0 14 14) +Process: 3 I/O blocked... (2000 0 15 15) +Process: 4 registered... (2000 100 1200 1200) +Process: 4 I/O blocked... (2000 100 1300 1300) +Process: 3 registered... (2000 0 15 15) +Process: 3 I/O blocked... (2000 0 16 16) +Process: 4 registered... (2000 100 1300 1300) +Process: 4 I/O blocked... (2000 100 1400 1400) +Process: 3 registered... (2000 0 16 16) +Process: 3 I/O blocked... (2000 0 17 17) +Process: 4 registered... (2000 100 1400 1400) +Process: 4 I/O blocked... (2000 100 1500 1500) +Process: 3 registered... (2000 0 17 17) +Process: 3 I/O blocked... (2000 0 18 18) +Process: 4 registered... (2000 100 1500 1500) +Process: 4 I/O blocked... (2000 100 1600 1600) +Process: 3 registered... (2000 0 18 18) +Process: 3 I/O blocked... (2000 0 19 19) +Process: 4 registered... (2000 100 1600 1600) +Process: 4 I/O blocked... (2000 100 1700 1700) +Process: 3 registered... (2000 0 19 19) +Process: 3 I/O blocked... (2000 0 20 20) +Process: 4 registered... (2000 100 1700 1700) +Process: 4 I/O blocked... (2000 100 1800 1800) +Process: 3 registered... (2000 0 20 20) +Process: 3 I/O blocked... (2000 0 21 21) +Process: 4 registered... (2000 100 1800 1800) +Process: 4 I/O blocked... (2000 100 1900 1900) +Process: 3 registered... (2000 0 21 21) +Process: 3 I/O blocked... (2000 0 22 22) +Process: 4 registered... (2000 100 1900 1900) +Process: 4 completed... (2000 100 2000 2000) +Process: 3 registered... (2000 0 22 22) +Process: 3 I/O blocked... (2000 0 22 22) +Process: 3 registered... (2000 0 22 22) +Process: 3 I/O blocked... (2000 0 23 23) +Process: 3 registered... (2000 0 23 23) +Process: 3 I/O blocked... (2000 0 24 24) +Process: 3 registered... (2000 0 24 24) +Process: 3 I/O blocked... (2000 0 25 25) +Process: 3 registered... (2000 0 25 25) +Process: 3 I/O blocked... (2000 0 26 26) +Process: 3 registered... (2000 0 26 26) +Process: 3 I/O blocked... (2000 0 27 27) +Process: 3 registered... (2000 0 27 27) +Process: 3 I/O blocked... (2000 0 28 28) +Process: 3 registered... (2000 0 28 28) +Process: 3 I/O blocked... (2000 0 29 29) +Process: 3 registered... (2000 0 29 29) +Process: 3 I/O blocked... (2000 0 30 30) +Process: 3 registered... (2000 0 30 30) +Process: 3 I/O blocked... (2000 0 31 31) +Process: 3 registered... (2000 0 31 31) +Process: 3 I/O blocked... (2000 0 32 32) +Process: 3 registered... (2000 0 32 32) +Process: 3 I/O blocked... (2000 0 33 33) +Process: 3 registered... (2000 0 33 33) +Process: 3 I/O blocked... (2000 0 34 34) +Process: 3 registered... (2000 0 34 34) +Process: 3 I/O blocked... (2000 0 35 35) +Process: 3 registered... (2000 0 35 35) +Process: 3 I/O blocked... (2000 0 36 36) +Process: 3 registered... (2000 0 36 36) +Process: 3 I/O blocked... (2000 0 37 37) +Process: 3 registered... (2000 0 37 37) +Process: 3 I/O blocked... (2000 0 38 38) +Process: 3 registered... (2000 0 38 38) +Process: 3 I/O blocked... (2000 0 39 39) +Process: 3 registered... (2000 0 39 39) +Process: 3 I/O blocked... (2000 0 40 40) +Process: 3 registered... (2000 0 40 40) +Process: 3 I/O blocked... (2000 0 41 41) +Process: 3 registered... (2000 0 41 41) +Process: 3 I/O blocked... (2000 0 42 42) +Process: 3 registered... (2000 0 42 42) +Process: 3 I/O blocked... (2000 0 43 43) +Process: 3 registered... (2000 0 43 43) +Process: 3 I/O blocked... (2000 0 44 44) +Process: 3 registered... (2000 0 44 44) +Process: 3 I/O blocked... (2000 0 45 45) +Process: 3 registered... (2000 0 45 45) +Process: 3 I/O blocked... (2000 0 46 46) +Process: 3 registered... (2000 0 46 46) +Process: 3 I/O blocked... (2000 0 47 47) +Process: 3 registered... (2000 0 47 47) +Process: 3 I/O blocked... (2000 0 48 48) +Process: 3 registered... (2000 0 48 48) +Process: 3 I/O blocked... (2000 0 49 49) +Process: 3 registered... (2000 0 49 49) +Process: 3 I/O blocked... (2000 0 50 50) +Process: 3 registered... (2000 0 50 50) +Process: 3 I/O blocked... (2000 0 51 51) +Process: 3 registered... (2000 0 51 51) +Process: 3 I/O blocked... (2000 0 52 52) +Process: 3 registered... (2000 0 52 52) +Process: 3 I/O blocked... (2000 0 53 53) +Process: 3 registered... (2000 0 53 53) +Process: 3 I/O blocked... (2000 0 54 54) +Process: 3 registered... (2000 0 54 54) +Process: 3 I/O blocked... (2000 0 55 55) +Process: 3 registered... (2000 0 55 55) +Process: 3 I/O blocked... (2000 0 56 56) +Process: 3 registered... (2000 0 56 56) +Process: 3 I/O blocked... (2000 0 57 57) +Process: 3 registered... (2000 0 57 57) +Process: 3 I/O blocked... (2000 0 58 58) +Process: 3 registered... (2000 0 58 58) +Process: 3 I/O blocked... (2000 0 59 59) +Process: 3 registered... (2000 0 59 59) +Process: 3 I/O blocked... (2000 0 60 60) +Process: 3 registered... (2000 0 60 60) +Process: 3 I/O blocked... (2000 0 61 61) +Process: 3 registered... (2000 0 61 61) +Process: 3 I/O blocked... (2000 0 62 62) +Process: 3 registered... (2000 0 62 62) +Process: 3 I/O blocked... (2000 0 63 63) +Process: 3 registered... (2000 0 63 63) +Process: 3 I/O blocked... (2000 0 64 64) +Process: 3 registered... (2000 0 64 64) +Process: 3 I/O blocked... (2000 0 65 65) +Process: 3 registered... (2000 0 65 65) +Process: 3 I/O blocked... (2000 0 66 66) +Process: 3 registered... (2000 0 66 66) +Process: 3 I/O blocked... (2000 0 67 67) +Process: 3 registered... (2000 0 67 67) +Process: 3 I/O blocked... (2000 0 68 68) +Process: 3 registered... (2000 0 68 68) +Process: 3 I/O blocked... (2000 0 69 69) +Process: 3 registered... (2000 0 69 69) +Process: 3 I/O blocked... (2000 0 70 70) +Process: 3 registered... (2000 0 70 70) +Process: 3 I/O blocked... (2000 0 71 71) +Process: 3 registered... (2000 0 71 71) +Process: 3 I/O blocked... (2000 0 72 72) +Process: 3 registered... (2000 0 72 72) +Process: 3 I/O blocked... (2000 0 73 73) +Process: 3 registered... (2000 0 73 73) +Process: 3 I/O blocked... (2000 0 74 74) +Process: 3 registered... (2000 0 74 74) +Process: 3 I/O blocked... (2000 0 75 75) +Process: 3 registered... (2000 0 75 75) +Process: 3 I/O blocked... (2000 0 76 76) +Process: 3 registered... (2000 0 76 76) +Process: 3 I/O blocked... (2000 0 77 77) +Process: 3 registered... (2000 0 77 77) +Process: 3 I/O blocked... (2000 0 78 78) +Process: 3 registered... (2000 0 78 78) +Process: 3 I/O blocked... (2000 0 79 79) +Process: 3 registered... (2000 0 79 79) +Process: 3 I/O blocked... (2000 0 80 80) +Process: 3 registered... (2000 0 80 80) +Process: 3 I/O blocked... (2000 0 81 81) +Process: 3 registered... (2000 0 81 81) +Process: 3 I/O blocked... (2000 0 82 82) +Process: 3 registered... (2000 0 82 82) +Process: 3 I/O blocked... (2000 0 83 83) +Process: 3 registered... (2000 0 83 83) +Process: 3 I/O blocked... (2000 0 84 84) +Process: 3 registered... (2000 0 84 84) +Process: 3 I/O blocked... (2000 0 85 85) +Process: 3 registered... (2000 0 85 85) +Process: 3 I/O blocked... (2000 0 86 86) +Process: 3 registered... (2000 0 86 86) +Process: 3 I/O blocked... (2000 0 87 87) +Process: 3 registered... (2000 0 87 87) +Process: 3 I/O blocked... (2000 0 88 88) +Process: 3 registered... (2000 0 88 88) +Process: 3 I/O blocked... (2000 0 89 89) +Process: 3 registered... (2000 0 89 89) +Process: 3 I/O blocked... (2000 0 90 90) +Process: 3 registered... (2000 0 90 90) +Process: 3 I/O blocked... (2000 0 91 91) +Process: 3 registered... (2000 0 91 91) +Process: 3 I/O blocked... (2000 0 92 92) +Process: 3 registered... (2000 0 92 92) +Process: 3 I/O blocked... (2000 0 93 93) +Process: 3 registered... (2000 0 93 93) +Process: 3 I/O blocked... (2000 0 94 94) +Process: 3 registered... (2000 0 94 94) +Process: 3 I/O blocked... (2000 0 95 95) +Process: 3 registered... (2000 0 95 95) +Process: 3 I/O blocked... (2000 0 96 96) +Process: 3 registered... (2000 0 96 96) +Process: 3 I/O blocked... (2000 0 97 97) +Process: 3 registered... (2000 0 97 97) +Process: 3 I/O blocked... (2000 0 98 98) +Process: 3 registered... (2000 0 98 98) +Process: 3 I/O blocked... (2000 0 99 99) +Process: 3 registered... (2000 0 99 99) +Process: 3 I/O blocked... (2000 0 100 100) +Process: 3 registered... (2000 0 100 100) +Process: 3 I/O blocked... (2000 0 101 101) +Process: 3 registered... (2000 0 101 101) +Process: 3 I/O blocked... (2000 0 102 102) +Process: 3 registered... (2000 0 102 102) +Process: 3 I/O blocked... (2000 0 103 103) +Process: 3 registered... (2000 0 103 103) +Process: 3 I/O blocked... (2000 0 104 104) +Process: 3 registered... (2000 0 104 104) +Process: 3 I/O blocked... (2000 0 105 105) +Process: 3 registered... (2000 0 105 105) +Process: 3 I/O blocked... (2000 0 106 106) +Process: 3 registered... (2000 0 106 106) +Process: 3 I/O blocked... (2000 0 107 107) +Process: 3 registered... (2000 0 107 107) +Process: 3 I/O blocked... (2000 0 108 108) +Process: 3 registered... (2000 0 108 108) +Process: 3 I/O blocked... (2000 0 109 109) +Process: 3 registered... (2000 0 109 109) +Process: 3 I/O blocked... (2000 0 110 110) +Process: 3 registered... (2000 0 110 110) +Process: 3 I/O blocked... (2000 0 111 111) +Process: 3 registered... (2000 0 111 111) +Process: 3 I/O blocked... (2000 0 112 112) +Process: 3 registered... (2000 0 112 112) +Process: 3 I/O blocked... (2000 0 113 113) +Process: 3 registered... (2000 0 113 113) +Process: 3 I/O blocked... (2000 0 114 114) +Process: 3 registered... (2000 0 114 114) +Process: 3 I/O blocked... (2000 0 115 115) +Process: 3 registered... (2000 0 115 115) +Process: 3 I/O blocked... (2000 0 116 116) +Process: 3 registered... (2000 0 116 116) +Process: 3 I/O blocked... (2000 0 117 117) +Process: 3 registered... (2000 0 117 117) +Process: 3 I/O blocked... (2000 0 118 118) +Process: 3 registered... (2000 0 118 118) +Process: 3 I/O blocked... (2000 0 119 119) +Process: 3 registered... (2000 0 119 119) +Process: 3 I/O blocked... (2000 0 120 120) +Process: 3 registered... (2000 0 120 120) +Process: 3 I/O blocked... (2000 0 121 121) +Process: 3 registered... (2000 0 121 121) +Process: 3 I/O blocked... (2000 0 122 122) +Process: 3 registered... (2000 0 122 122) +Process: 3 I/O blocked... (2000 0 123 123) +Process: 3 registered... (2000 0 123 123) +Process: 3 I/O blocked... (2000 0 124 124) +Process: 3 registered... (2000 0 124 124) +Process: 3 I/O blocked... (2000 0 125 125) +Process: 3 registered... (2000 0 125 125) +Process: 3 I/O blocked... (2000 0 126 126) +Process: 3 registered... (2000 0 126 126) +Process: 3 I/O blocked... (2000 0 127 127) +Process: 3 registered... (2000 0 127 127) +Process: 3 I/O blocked... (2000 0 128 128) +Process: 3 registered... (2000 0 128 128) +Process: 3 I/O blocked... (2000 0 129 129) +Process: 3 registered... (2000 0 129 129) +Process: 3 I/O blocked... (2000 0 130 130) +Process: 3 registered... (2000 0 130 130) +Process: 3 I/O blocked... (2000 0 131 131) +Process: 3 registered... (2000 0 131 131) +Process: 3 I/O blocked... (2000 0 132 132) +Process: 3 registered... (2000 0 132 132) +Process: 3 I/O blocked... (2000 0 133 133) +Process: 3 registered... (2000 0 133 133) +Process: 3 I/O blocked... (2000 0 134 134) +Process: 3 registered... (2000 0 134 134) +Process: 3 I/O blocked... (2000 0 135 135) +Process: 3 registered... (2000 0 135 135) +Process: 3 I/O blocked... (2000 0 136 136) +Process: 3 registered... (2000 0 136 136) +Process: 3 I/O blocked... (2000 0 137 137) +Process: 3 registered... (2000 0 137 137) +Process: 3 I/O blocked... (2000 0 138 138) +Process: 3 registered... (2000 0 138 138) +Process: 3 I/O blocked... (2000 0 139 139) +Process: 3 registered... (2000 0 139 139) +Process: 3 I/O blocked... (2000 0 140 140) +Process: 3 registered... (2000 0 140 140) +Process: 3 I/O blocked... (2000 0 141 141) +Process: 3 registered... (2000 0 141 141) +Process: 3 I/O blocked... (2000 0 142 142) +Process: 3 registered... (2000 0 142 142) +Process: 3 I/O blocked... (2000 0 143 143) +Process: 3 registered... (2000 0 143 143) +Process: 3 I/O blocked... (2000 0 144 144) +Process: 3 registered... (2000 0 144 144) +Process: 3 I/O blocked... (2000 0 145 145) +Process: 3 registered... (2000 0 145 145) +Process: 3 I/O blocked... (2000 0 146 146) +Process: 3 registered... (2000 0 146 146) +Process: 3 I/O blocked... (2000 0 147 147) +Process: 3 registered... (2000 0 147 147) +Process: 3 I/O blocked... (2000 0 148 148) +Process: 3 registered... (2000 0 148 148) +Process: 3 I/O blocked... (2000 0 149 149) +Process: 3 registered... (2000 0 149 149) +Process: 3 I/O blocked... (2000 0 150 150) +Process: 3 registered... (2000 0 150 150) +Process: 3 I/O blocked... (2000 0 151 151) +Process: 3 registered... (2000 0 151 151) +Process: 3 I/O blocked... (2000 0 152 152) +Process: 3 registered... (2000 0 152 152) +Process: 3 I/O blocked... (2000 0 153 153) +Process: 3 registered... (2000 0 153 153) +Process: 3 I/O blocked... (2000 0 154 154) +Process: 3 registered... (2000 0 154 154) +Process: 3 I/O blocked... (2000 0 155 155) +Process: 3 registered... (2000 0 155 155) +Process: 3 I/O blocked... (2000 0 156 156) +Process: 3 registered... (2000 0 156 156) +Process: 3 I/O blocked... (2000 0 157 157) +Process: 3 registered... (2000 0 157 157) +Process: 3 I/O blocked... (2000 0 158 158) +Process: 3 registered... (2000 0 158 158) +Process: 3 I/O blocked... (2000 0 159 159) +Process: 3 registered... (2000 0 159 159) +Process: 3 I/O blocked... (2000 0 160 160) +Process: 3 registered... (2000 0 160 160) +Process: 3 I/O blocked... (2000 0 161 161) +Process: 3 registered... (2000 0 161 161) +Process: 3 I/O blocked... (2000 0 162 162) +Process: 3 registered... (2000 0 162 162) +Process: 3 I/O blocked... (2000 0 163 163) +Process: 3 registered... (2000 0 163 163) +Process: 3 I/O blocked... (2000 0 164 164) +Process: 3 registered... (2000 0 164 164) +Process: 3 I/O blocked... (2000 0 165 165) +Process: 3 registered... (2000 0 165 165) +Process: 3 I/O blocked... (2000 0 166 166) +Process: 3 registered... (2000 0 166 166) +Process: 3 I/O blocked... (2000 0 167 167) +Process: 3 registered... (2000 0 167 167) +Process: 3 I/O blocked... (2000 0 168 168) +Process: 3 registered... (2000 0 168 168) +Process: 3 I/O blocked... (2000 0 169 169) +Process: 3 registered... (2000 0 169 169) +Process: 3 I/O blocked... (2000 0 170 170) +Process: 3 registered... (2000 0 170 170) +Process: 3 I/O blocked... (2000 0 171 171) +Process: 3 registered... (2000 0 171 171) +Process: 3 I/O blocked... (2000 0 172 172) +Process: 3 registered... (2000 0 172 172) +Process: 3 I/O blocked... (2000 0 173 173) +Process: 3 registered... (2000 0 173 173) +Process: 3 I/O blocked... (2000 0 174 174) +Process: 3 registered... (2000 0 174 174) +Process: 3 I/O blocked... (2000 0 175 175) +Process: 3 registered... (2000 0 175 175) +Process: 3 I/O blocked... (2000 0 176 176) +Process: 3 registered... (2000 0 176 176) +Process: 3 I/O blocked... (2000 0 177 177) +Process: 3 registered... (2000 0 177 177) +Process: 3 I/O blocked... (2000 0 178 178) +Process: 3 registered... (2000 0 178 178) +Process: 3 I/O blocked... (2000 0 179 179) +Process: 3 registered... (2000 0 179 179) +Process: 3 I/O blocked... (2000 0 180 180) +Process: 3 registered... (2000 0 180 180) +Process: 3 I/O blocked... (2000 0 181 181) +Process: 3 registered... (2000 0 181 181) +Process: 3 I/O blocked... (2000 0 182 182) +Process: 3 registered... (2000 0 182 182) +Process: 3 I/O blocked... (2000 0 183 183) +Process: 3 registered... (2000 0 183 183) +Process: 3 I/O blocked... (2000 0 184 184) +Process: 3 registered... (2000 0 184 184) +Process: 3 I/O blocked... (2000 0 185 185) +Process: 3 registered... (2000 0 185 185) +Process: 3 I/O blocked... (2000 0 186 186) +Process: 3 registered... (2000 0 186 186) +Process: 3 I/O blocked... (2000 0 187 187) +Process: 3 registered... (2000 0 187 187) +Process: 3 I/O blocked... (2000 0 188 188) +Process: 3 registered... (2000 0 188 188) +Process: 3 I/O blocked... (2000 0 189 189) +Process: 3 registered... (2000 0 189 189) +Process: 3 I/O blocked... (2000 0 190 190) +Process: 3 registered... (2000 0 190 190) +Process: 3 I/O blocked... (2000 0 191 191) +Process: 3 registered... (2000 0 191 191) +Process: 3 I/O blocked... (2000 0 192 192) +Process: 3 registered... (2000 0 192 192) +Process: 3 I/O blocked... (2000 0 193 193) +Process: 3 registered... (2000 0 193 193) +Process: 3 I/O blocked... (2000 0 194 194) +Process: 3 registered... (2000 0 194 194) +Process: 3 I/O blocked... (2000 0 195 195) +Process: 3 registered... (2000 0 195 195) +Process: 3 I/O blocked... (2000 0 196 196) +Process: 3 registered... (2000 0 196 196) +Process: 3 I/O blocked... (2000 0 197 197) +Process: 3 registered... (2000 0 197 197) +Process: 3 I/O blocked... (2000 0 198 198) +Process: 3 registered... (2000 0 198 198) +Process: 3 I/O blocked... (2000 0 199 199) +Process: 3 registered... (2000 0 199 199) +Process: 3 I/O blocked... (2000 0 200 200) +Process: 3 registered... (2000 0 200 200) +Process: 3 I/O blocked... (2000 0 201 201) +Process: 3 registered... (2000 0 201 201) +Process: 3 I/O blocked... (2000 0 202 202) +Process: 3 registered... (2000 0 202 202) +Process: 3 I/O blocked... (2000 0 203 203) +Process: 3 registered... (2000 0 203 203) +Process: 3 I/O blocked... (2000 0 204 204) +Process: 3 registered... (2000 0 204 204) +Process: 3 I/O blocked... (2000 0 205 205) +Process: 3 registered... (2000 0 205 205) +Process: 3 I/O blocked... (2000 0 206 206) +Process: 3 registered... (2000 0 206 206) +Process: 3 I/O blocked... (2000 0 207 207) +Process: 3 registered... (2000 0 207 207) +Process: 3 I/O blocked... (2000 0 208 208) +Process: 3 registered... (2000 0 208 208) +Process: 3 I/O blocked... (2000 0 209 209) +Process: 3 registered... (2000 0 209 209) +Process: 3 I/O blocked... (2000 0 210 210) +Process: 3 registered... (2000 0 210 210) +Process: 3 I/O blocked... (2000 0 211 211) +Process: 3 registered... (2000 0 211 211) +Process: 3 I/O blocked... (2000 0 212 212) +Process: 3 registered... (2000 0 212 212) +Process: 3 I/O blocked... (2000 0 213 213) +Process: 3 registered... (2000 0 213 213) +Process: 3 I/O blocked... (2000 0 214 214) +Process: 3 registered... (2000 0 214 214) +Process: 3 I/O blocked... (2000 0 215 215) +Process: 3 registered... (2000 0 215 215) +Process: 3 I/O blocked... (2000 0 216 216) +Process: 3 registered... (2000 0 216 216) +Process: 3 I/O blocked... (2000 0 217 217) +Process: 3 registered... (2000 0 217 217) +Process: 3 I/O blocked... (2000 0 218 218) +Process: 3 registered... (2000 0 218 218) +Process: 3 I/O blocked... (2000 0 219 219) +Process: 3 registered... (2000 0 219 219) +Process: 3 I/O blocked... (2000 0 220 220) +Process: 3 registered... (2000 0 220 220) +Process: 3 I/O blocked... (2000 0 221 221) +Process: 3 registered... (2000 0 221 221) +Process: 3 I/O blocked... (2000 0 222 222) +Process: 3 registered... (2000 0 222 222) +Process: 3 I/O blocked... (2000 0 223 223) +Process: 3 registered... (2000 0 223 223) +Process: 3 I/O blocked... (2000 0 224 224) +Process: 3 registered... (2000 0 224 224) +Process: 3 I/O blocked... (2000 0 225 225) +Process: 3 registered... (2000 0 225 225) +Process: 3 I/O blocked... (2000 0 226 226) +Process: 3 registered... (2000 0 226 226) +Process: 3 I/O blocked... (2000 0 227 227) +Process: 3 registered... (2000 0 227 227) +Process: 3 I/O blocked... (2000 0 228 228) +Process: 3 registered... (2000 0 228 228) +Process: 3 I/O blocked... (2000 0 229 229) +Process: 3 registered... (2000 0 229 229) +Process: 3 I/O blocked... (2000 0 230 230) +Process: 3 registered... (2000 0 230 230) +Process: 3 I/O blocked... (2000 0 231 231) +Process: 3 registered... (2000 0 231 231) +Process: 3 I/O blocked... (2000 0 232 232) +Process: 3 registered... (2000 0 232 232) +Process: 3 I/O blocked... (2000 0 233 233) +Process: 3 registered... (2000 0 233 233) +Process: 3 I/O blocked... (2000 0 234 234) +Process: 3 registered... (2000 0 234 234) +Process: 3 I/O blocked... (2000 0 235 235) +Process: 3 registered... (2000 0 235 235) +Process: 3 I/O blocked... (2000 0 236 236) +Process: 3 registered... (2000 0 236 236) +Process: 3 I/O blocked... (2000 0 237 237) +Process: 3 registered... (2000 0 237 237) +Process: 3 I/O blocked... (2000 0 238 238) +Process: 3 registered... (2000 0 238 238) +Process: 3 I/O blocked... (2000 0 239 239) +Process: 3 registered... (2000 0 239 239) +Process: 3 I/O blocked... (2000 0 240 240) +Process: 3 registered... (2000 0 240 240) +Process: 3 I/O blocked... (2000 0 241 241) +Process: 3 registered... (2000 0 241 241) +Process: 3 I/O blocked... (2000 0 242 242) +Process: 3 registered... (2000 0 242 242) +Process: 3 I/O blocked... (2000 0 243 243) +Process: 3 registered... (2000 0 243 243) +Process: 3 I/O blocked... (2000 0 244 244) +Process: 3 registered... (2000 0 244 244) +Process: 3 I/O blocked... (2000 0 245 245) +Process: 3 registered... (2000 0 245 245) +Process: 3 I/O blocked... (2000 0 246 246) +Process: 3 registered... (2000 0 246 246) +Process: 3 I/O blocked... (2000 0 247 247) +Process: 3 registered... (2000 0 247 247) +Process: 3 I/O blocked... (2000 0 248 248) +Process: 3 registered... (2000 0 248 248) +Process: 3 I/O blocked... (2000 0 249 249) +Process: 3 registered... (2000 0 249 249) +Process: 3 I/O blocked... (2000 0 250 250) +Process: 3 registered... (2000 0 250 250) +Process: 3 I/O blocked... (2000 0 251 251) +Process: 3 registered... (2000 0 251 251) +Process: 3 I/O blocked... (2000 0 252 252) +Process: 3 registered... (2000 0 252 252) +Process: 3 I/O blocked... (2000 0 253 253) +Process: 3 registered... (2000 0 253 253) +Process: 3 I/O blocked... (2000 0 254 254) +Process: 3 registered... (2000 0 254 254) +Process: 3 I/O blocked... (2000 0 255 255) +Process: 3 registered... (2000 0 255 255) +Process: 3 I/O blocked... (2000 0 256 256) +Process: 3 registered... (2000 0 256 256) +Process: 3 I/O blocked... (2000 0 257 257) +Process: 3 registered... (2000 0 257 257) +Process: 3 I/O blocked... (2000 0 258 258) +Process: 3 registered... (2000 0 258 258) +Process: 3 I/O blocked... (2000 0 259 259) +Process: 3 registered... (2000 0 259 259) +Process: 3 I/O blocked... (2000 0 260 260) +Process: 3 registered... (2000 0 260 260) +Process: 3 I/O blocked... (2000 0 261 261) +Process: 3 registered... (2000 0 261 261) +Process: 3 I/O blocked... (2000 0 262 262) +Process: 3 registered... (2000 0 262 262) +Process: 3 I/O blocked... (2000 0 263 263) +Process: 3 registered... (2000 0 263 263) +Process: 3 I/O blocked... (2000 0 264 264) +Process: 3 registered... (2000 0 264 264) +Process: 3 I/O blocked... (2000 0 265 265) +Process: 3 registered... (2000 0 265 265) +Process: 3 I/O blocked... (2000 0 266 266) +Process: 3 registered... (2000 0 266 266) +Process: 3 I/O blocked... (2000 0 267 267) +Process: 3 registered... (2000 0 267 267) +Process: 3 I/O blocked... (2000 0 268 268) +Process: 3 registered... (2000 0 268 268) +Process: 3 I/O blocked... (2000 0 269 269) +Process: 3 registered... (2000 0 269 269) +Process: 3 I/O blocked... (2000 0 270 270) +Process: 3 registered... (2000 0 270 270) +Process: 3 I/O blocked... (2000 0 271 271) +Process: 3 registered... (2000 0 271 271) +Process: 3 I/O blocked... (2000 0 272 272) +Process: 3 registered... (2000 0 272 272) +Process: 3 I/O blocked... (2000 0 273 273) +Process: 3 registered... (2000 0 273 273) +Process: 3 I/O blocked... (2000 0 274 274) +Process: 3 registered... (2000 0 274 274) +Process: 3 I/O blocked... (2000 0 275 275) +Process: 3 registered... (2000 0 275 275) +Process: 3 I/O blocked... (2000 0 276 276) +Process: 3 registered... (2000 0 276 276) +Process: 3 I/O blocked... (2000 0 277 277) +Process: 3 registered... (2000 0 277 277) +Process: 3 I/O blocked... (2000 0 278 278) +Process: 3 registered... (2000 0 278 278) +Process: 3 I/O blocked... (2000 0 279 279) +Process: 3 registered... (2000 0 279 279) +Process: 3 I/O blocked... (2000 0 280 280) +Process: 3 registered... (2000 0 280 280) +Process: 3 I/O blocked... (2000 0 281 281) +Process: 3 registered... (2000 0 281 281) +Process: 3 I/O blocked... (2000 0 282 282) +Process: 3 registered... (2000 0 282 282) +Process: 3 I/O blocked... (2000 0 283 283) +Process: 3 registered... (2000 0 283 283) +Process: 3 I/O blocked... (2000 0 284 284) +Process: 3 registered... (2000 0 284 284) +Process: 3 I/O blocked... (2000 0 285 285) +Process: 3 registered... (2000 0 285 285) +Process: 3 I/O blocked... (2000 0 286 286) +Process: 3 registered... (2000 0 286 286) +Process: 3 I/O blocked... (2000 0 287 287) +Process: 3 registered... (2000 0 287 287) +Process: 3 I/O blocked... (2000 0 288 288) +Process: 3 registered... (2000 0 288 288) +Process: 3 I/O blocked... (2000 0 289 289) +Process: 3 registered... (2000 0 289 289) +Process: 3 I/O blocked... (2000 0 290 290) +Process: 3 registered... (2000 0 290 290) +Process: 3 I/O blocked... (2000 0 291 291) +Process: 3 registered... (2000 0 291 291) +Process: 3 I/O blocked... (2000 0 292 292) +Process: 3 registered... (2000 0 292 292) +Process: 3 I/O blocked... (2000 0 293 293) +Process: 3 registered... (2000 0 293 293) +Process: 3 I/O blocked... (2000 0 294 294) +Process: 3 registered... (2000 0 294 294) +Process: 3 I/O blocked... (2000 0 295 295) +Process: 3 registered... (2000 0 295 295) +Process: 3 I/O blocked... (2000 0 296 296) +Process: 3 registered... (2000 0 296 296) +Process: 3 I/O blocked... (2000 0 297 297) +Process: 3 registered... (2000 0 297 297) +Process: 3 I/O blocked... (2000 0 298 298) +Process: 3 registered... (2000 0 298 298) +Process: 3 I/O blocked... (2000 0 299 299) +Process: 3 registered... (2000 0 299 299) +Process: 3 I/O blocked... (2000 0 300 300) +Process: 3 registered... (2000 0 300 300) +Process: 3 I/O blocked... (2000 0 301 301) +Process: 3 registered... (2000 0 301 301) +Process: 3 I/O blocked... (2000 0 302 302) +Process: 3 registered... (2000 0 302 302) +Process: 3 I/O blocked... (2000 0 303 303) +Process: 3 registered... (2000 0 303 303) +Process: 3 I/O blocked... (2000 0 304 304) +Process: 3 registered... (2000 0 304 304) +Process: 3 I/O blocked... (2000 0 305 305) +Process: 3 registered... (2000 0 305 305) +Process: 3 I/O blocked... (2000 0 306 306) +Process: 3 registered... (2000 0 306 306) +Process: 3 I/O blocked... (2000 0 307 307) +Process: 3 registered... (2000 0 307 307) +Process: 3 I/O blocked... (2000 0 308 308) +Process: 3 registered... (2000 0 308 308) +Process: 3 I/O blocked... (2000 0 309 309) +Process: 3 registered... (2000 0 309 309) +Process: 3 I/O blocked... (2000 0 310 310) +Process: 3 registered... (2000 0 310 310) +Process: 3 I/O blocked... (2000 0 311 311) +Process: 3 registered... (2000 0 311 311) +Process: 3 I/O blocked... (2000 0 312 312) +Process: 3 registered... (2000 0 312 312) +Process: 3 I/O blocked... (2000 0 313 313) +Process: 3 registered... (2000 0 313 313) +Process: 3 I/O blocked... (2000 0 314 314) +Process: 3 registered... (2000 0 314 314) +Process: 3 I/O blocked... (2000 0 315 315) +Process: 3 registered... (2000 0 315 315) +Process: 3 I/O blocked... (2000 0 316 316) +Process: 3 registered... (2000 0 316 316) +Process: 3 I/O blocked... (2000 0 317 317) +Process: 3 registered... (2000 0 317 317) +Process: 3 I/O blocked... (2000 0 318 318) +Process: 3 registered... (2000 0 318 318) +Process: 3 I/O blocked... (2000 0 319 319) +Process: 3 registered... (2000 0 319 319) +Process: 3 I/O blocked... (2000 0 320 320) +Process: 3 registered... (2000 0 320 320) +Process: 3 I/O blocked... (2000 0 321 321) +Process: 3 registered... (2000 0 321 321) +Process: 3 I/O blocked... (2000 0 322 322) +Process: 3 registered... (2000 0 322 322) +Process: 3 I/O blocked... (2000 0 323 323) +Process: 3 registered... (2000 0 323 323) +Process: 3 I/O blocked... (2000 0 324 324) +Process: 3 registered... (2000 0 324 324) +Process: 3 I/O blocked... (2000 0 325 325) +Process: 3 registered... (2000 0 325 325) +Process: 3 I/O blocked... (2000 0 326 326) +Process: 3 registered... (2000 0 326 326) +Process: 3 I/O blocked... (2000 0 327 327) +Process: 3 registered... (2000 0 327 327) +Process: 3 I/O blocked... (2000 0 328 328) +Process: 3 registered... (2000 0 328 328) +Process: 3 I/O blocked... (2000 0 329 329) +Process: 3 registered... (2000 0 329 329) +Process: 3 I/O blocked... (2000 0 330 330) +Process: 3 registered... (2000 0 330 330) +Process: 3 I/O blocked... (2000 0 331 331) +Process: 3 registered... (2000 0 331 331) +Process: 3 I/O blocked... (2000 0 332 332) +Process: 3 registered... (2000 0 332 332) +Process: 3 I/O blocked... (2000 0 333 333) +Process: 3 registered... (2000 0 333 333) +Process: 3 I/O blocked... (2000 0 334 334) +Process: 3 registered... (2000 0 334 334) +Process: 3 I/O blocked... (2000 0 335 335) +Process: 3 registered... (2000 0 335 335) +Process: 3 I/O blocked... (2000 0 336 336) +Process: 3 registered... (2000 0 336 336) +Process: 3 I/O blocked... (2000 0 337 337) +Process: 3 registered... (2000 0 337 337) +Process: 3 I/O blocked... (2000 0 338 338) +Process: 3 registered... (2000 0 338 338) +Process: 3 I/O blocked... (2000 0 339 339) +Process: 3 registered... (2000 0 339 339) +Process: 3 I/O blocked... (2000 0 340 340) +Process: 3 registered... (2000 0 340 340) +Process: 3 I/O blocked... (2000 0 341 341) +Process: 3 registered... (2000 0 341 341) +Process: 3 I/O blocked... (2000 0 342 342) +Process: 3 registered... (2000 0 342 342) +Process: 3 I/O blocked... (2000 0 343 343) +Process: 3 registered... (2000 0 343 343) +Process: 3 I/O blocked... (2000 0 344 344) +Process: 3 registered... (2000 0 344 344) +Process: 3 I/O blocked... (2000 0 345 345) +Process: 3 registered... (2000 0 345 345) +Process: 3 I/O blocked... (2000 0 346 346) +Process: 3 registered... (2000 0 346 346) +Process: 3 I/O blocked... (2000 0 347 347) +Process: 3 registered... (2000 0 347 347) +Process: 3 I/O blocked... (2000 0 348 348) +Process: 3 registered... (2000 0 348 348) +Process: 3 I/O blocked... (2000 0 349 349) +Process: 3 registered... (2000 0 349 349) +Process: 3 I/O blocked... (2000 0 350 350) +Process: 3 registered... (2000 0 350 350) +Process: 3 I/O blocked... (2000 0 351 351) +Process: 3 registered... (2000 0 351 351) +Process: 3 I/O blocked... (2000 0 352 352) +Process: 3 registered... (2000 0 352 352) +Process: 3 I/O blocked... (2000 0 353 353) +Process: 3 registered... (2000 0 353 353) +Process: 3 I/O blocked... (2000 0 354 354) +Process: 3 registered... (2000 0 354 354) +Process: 3 I/O blocked... (2000 0 355 355) +Process: 3 registered... (2000 0 355 355) +Process: 3 I/O blocked... (2000 0 356 356) +Process: 3 registered... (2000 0 356 356) +Process: 3 I/O blocked... (2000 0 357 357) +Process: 3 registered... (2000 0 357 357) +Process: 3 I/O blocked... (2000 0 358 358) +Process: 3 registered... (2000 0 358 358) +Process: 3 I/O blocked... (2000 0 359 359) +Process: 3 registered... (2000 0 359 359) +Process: 3 I/O blocked... (2000 0 360 360) +Process: 3 registered... (2000 0 360 360) +Process: 3 I/O blocked... (2000 0 361 361) +Process: 3 registered... (2000 0 361 361) +Process: 3 I/O blocked... (2000 0 362 362) +Process: 3 registered... (2000 0 362 362) +Process: 3 I/O blocked... (2000 0 363 363) +Process: 3 registered... (2000 0 363 363) +Process: 3 I/O blocked... (2000 0 364 364) +Process: 3 registered... (2000 0 364 364) +Process: 3 I/O blocked... (2000 0 365 365) +Process: 3 registered... (2000 0 365 365) +Process: 3 I/O blocked... (2000 0 366 366) +Process: 3 registered... (2000 0 366 366) +Process: 3 I/O blocked... (2000 0 367 367) +Process: 3 registered... (2000 0 367 367) +Process: 3 I/O blocked... (2000 0 368 368) +Process: 3 registered... (2000 0 368 368) +Process: 3 I/O blocked... (2000 0 369 369) +Process: 3 registered... (2000 0 369 369) +Process: 3 I/O blocked... (2000 0 370 370) +Process: 3 registered... (2000 0 370 370) +Process: 3 I/O blocked... (2000 0 371 371) +Process: 3 registered... (2000 0 371 371) +Process: 3 I/O blocked... (2000 0 372 372) +Process: 3 registered... (2000 0 372 372) +Process: 3 I/O blocked... (2000 0 373 373) +Process: 3 registered... (2000 0 373 373) +Process: 3 I/O blocked... (2000 0 374 374) +Process: 3 registered... (2000 0 374 374) +Process: 3 I/O blocked... (2000 0 375 375) +Process: 3 registered... (2000 0 375 375) +Process: 3 I/O blocked... (2000 0 376 376) +Process: 3 registered... (2000 0 376 376) +Process: 3 I/O blocked... (2000 0 377 377) +Process: 3 registered... (2000 0 377 377) +Process: 3 I/O blocked... (2000 0 378 378) +Process: 3 registered... (2000 0 378 378) +Process: 3 I/O blocked... (2000 0 379 379) +Process: 3 registered... (2000 0 379 379) +Process: 3 I/O blocked... (2000 0 380 380) +Process: 3 registered... (2000 0 380 380) +Process: 3 I/O blocked... (2000 0 381 381) +Process: 3 registered... (2000 0 381 381) +Process: 3 I/O blocked... (2000 0 382 382) +Process: 3 registered... (2000 0 382 382) +Process: 3 I/O blocked... (2000 0 383 383) +Process: 3 registered... (2000 0 383 383) +Process: 3 I/O blocked... (2000 0 384 384) +Process: 3 registered... (2000 0 384 384) +Process: 3 I/O blocked... (2000 0 385 385) +Process: 3 registered... (2000 0 385 385) +Process: 3 I/O blocked... (2000 0 386 386) +Process: 3 registered... (2000 0 386 386) +Process: 3 I/O blocked... (2000 0 387 387) +Process: 3 registered... (2000 0 387 387) +Process: 3 I/O blocked... (2000 0 388 388) +Process: 3 registered... (2000 0 388 388) +Process: 3 I/O blocked... (2000 0 389 389) +Process: 3 registered... (2000 0 389 389) +Process: 3 I/O blocked... (2000 0 390 390) +Process: 3 registered... (2000 0 390 390) +Process: 3 I/O blocked... (2000 0 391 391) +Process: 3 registered... (2000 0 391 391) +Process: 3 I/O blocked... (2000 0 392 392) +Process: 3 registered... (2000 0 392 392) +Process: 3 I/O blocked... (2000 0 393 393) +Process: 3 registered... (2000 0 393 393) +Process: 3 I/O blocked... (2000 0 394 394) +Process: 3 registered... (2000 0 394 394) +Process: 3 I/O blocked... (2000 0 395 395) +Process: 3 registered... (2000 0 395 395) +Process: 3 I/O blocked... (2000 0 396 396) +Process: 3 registered... (2000 0 396 396) +Process: 3 I/O blocked... (2000 0 397 397) +Process: 3 registered... (2000 0 397 397) +Process: 3 I/O blocked... (2000 0 398 398) +Process: 3 registered... (2000 0 398 398) +Process: 3 I/O blocked... (2000 0 399 399) +Process: 3 registered... (2000 0 399 399) +Process: 3 I/O blocked... (2000 0 400 400) +Process: 3 registered... (2000 0 400 400) +Process: 3 I/O blocked... (2000 0 401 401) +Process: 3 registered... (2000 0 401 401) +Process: 3 I/O blocked... (2000 0 402 402) +Process: 3 registered... (2000 0 402 402) +Process: 3 I/O blocked... (2000 0 403 403) +Process: 3 registered... (2000 0 403 403) +Process: 3 I/O blocked... (2000 0 404 404) +Process: 3 registered... (2000 0 404 404) +Process: 3 I/O blocked... (2000 0 405 405) +Process: 3 registered... (2000 0 405 405) +Process: 3 I/O blocked... (2000 0 406 406) +Process: 3 registered... (2000 0 406 406) +Process: 3 I/O blocked... (2000 0 407 407) +Process: 3 registered... (2000 0 407 407) +Process: 3 I/O blocked... (2000 0 408 408) +Process: 3 registered... (2000 0 408 408) +Process: 3 I/O blocked... (2000 0 409 409) +Process: 3 registered... (2000 0 409 409) +Process: 3 I/O blocked... (2000 0 410 410) +Process: 3 registered... (2000 0 410 410) +Process: 3 I/O blocked... (2000 0 411 411) +Process: 3 registered... (2000 0 411 411) +Process: 3 I/O blocked... (2000 0 412 412) +Process: 3 registered... (2000 0 412 412) +Process: 3 I/O blocked... (2000 0 413 413) +Process: 3 registered... (2000 0 413 413) +Process: 3 I/O blocked... (2000 0 414 414) +Process: 3 registered... (2000 0 414 414) +Process: 3 I/O blocked... (2000 0 415 415) +Process: 3 registered... (2000 0 415 415) +Process: 3 I/O blocked... (2000 0 416 416) +Process: 3 registered... (2000 0 416 416) +Process: 3 I/O blocked... (2000 0 417 417) +Process: 3 registered... (2000 0 417 417) +Process: 3 I/O blocked... (2000 0 418 418) +Process: 3 registered... (2000 0 418 418) +Process: 3 I/O blocked... (2000 0 419 419) +Process: 3 registered... (2000 0 419 419) +Process: 3 I/O blocked... (2000 0 420 420) +Process: 3 registered... (2000 0 420 420) +Process: 3 I/O blocked... (2000 0 421 421) +Process: 3 registered... (2000 0 421 421) +Process: 3 I/O blocked... (2000 0 422 422) +Process: 3 registered... (2000 0 422 422) +Process: 3 I/O blocked... (2000 0 423 423) +Process: 3 registered... (2000 0 423 423) +Process: 3 I/O blocked... (2000 0 424 424) +Process: 3 registered... (2000 0 424 424) +Process: 3 I/O blocked... (2000 0 425 425) +Process: 3 registered... (2000 0 425 425) +Process: 3 I/O blocked... (2000 0 426 426) +Process: 3 registered... (2000 0 426 426) +Process: 3 I/O blocked... (2000 0 427 427) +Process: 3 registered... (2000 0 427 427) +Process: 3 I/O blocked... (2000 0 428 428) +Process: 3 registered... (2000 0 428 428) +Process: 3 I/O blocked... (2000 0 429 429) +Process: 3 registered... (2000 0 429 429) +Process: 3 I/O blocked... (2000 0 430 430) +Process: 3 registered... (2000 0 430 430) +Process: 3 I/O blocked... (2000 0 431 431) +Process: 3 registered... (2000 0 431 431) +Process: 3 I/O blocked... (2000 0 432 432) +Process: 3 registered... (2000 0 432 432) +Process: 3 I/O blocked... (2000 0 433 433) +Process: 3 registered... (2000 0 433 433) +Process: 3 I/O blocked... (2000 0 434 434) +Process: 3 registered... (2000 0 434 434) +Process: 3 I/O blocked... (2000 0 435 435) +Process: 3 registered... (2000 0 435 435) +Process: 3 I/O blocked... (2000 0 436 436) +Process: 3 registered... (2000 0 436 436) +Process: 3 I/O blocked... (2000 0 437 437) +Process: 3 registered... (2000 0 437 437) +Process: 3 I/O blocked... (2000 0 438 438) +Process: 3 registered... (2000 0 438 438) +Process: 3 I/O blocked... (2000 0 439 439) +Process: 3 registered... (2000 0 439 439) +Process: 3 I/O blocked... (2000 0 440 440) +Process: 3 registered... (2000 0 440 440) +Process: 3 I/O blocked... (2000 0 441 441) +Process: 3 registered... (2000 0 441 441) +Process: 3 I/O blocked... (2000 0 442 442) +Process: 3 registered... (2000 0 442 442) +Process: 3 I/O blocked... (2000 0 443 443) +Process: 3 registered... (2000 0 443 443) +Process: 3 I/O blocked... (2000 0 444 444) +Process: 3 registered... (2000 0 444 444) +Process: 3 I/O blocked... (2000 0 445 445) +Process: 3 registered... (2000 0 445 445) +Process: 3 I/O blocked... (2000 0 446 446) +Process: 3 registered... (2000 0 446 446) +Process: 3 I/O blocked... (2000 0 447 447) +Process: 3 registered... (2000 0 447 447) +Process: 3 I/O blocked... (2000 0 448 448) +Process: 3 registered... (2000 0 448 448) +Process: 3 I/O blocked... (2000 0 449 449) +Process: 3 registered... (2000 0 449 449) +Process: 3 I/O blocked... (2000 0 450 450) +Process: 3 registered... (2000 0 450 450) +Process: 3 I/O blocked... (2000 0 451 451) +Process: 3 registered... (2000 0 451 451) +Process: 3 I/O blocked... (2000 0 452 452) +Process: 3 registered... (2000 0 452 452) +Process: 3 I/O blocked... (2000 0 453 453) +Process: 3 registered... (2000 0 453 453) +Process: 3 I/O blocked... (2000 0 454 454) +Process: 3 registered... (2000 0 454 454) +Process: 3 I/O blocked... (2000 0 455 455) +Process: 3 registered... (2000 0 455 455) +Process: 3 I/O blocked... (2000 0 456 456) +Process: 3 registered... (2000 0 456 456) +Process: 3 I/O blocked... (2000 0 457 457) +Process: 3 registered... (2000 0 457 457) +Process: 3 I/O blocked... (2000 0 458 458) +Process: 3 registered... (2000 0 458 458) +Process: 3 I/O blocked... (2000 0 459 459) +Process: 3 registered... (2000 0 459 459) +Process: 3 I/O blocked... (2000 0 460 460) +Process: 3 registered... (2000 0 460 460) +Process: 3 I/O blocked... (2000 0 461 461) +Process: 3 registered... (2000 0 461 461) +Process: 3 I/O blocked... (2000 0 462 462) +Process: 3 registered... (2000 0 462 462) +Process: 3 I/O blocked... (2000 0 463 463) +Process: 3 registered... (2000 0 463 463) +Process: 3 I/O blocked... (2000 0 464 464) +Process: 3 registered... (2000 0 464 464) +Process: 3 I/O blocked... (2000 0 465 465) +Process: 3 registered... (2000 0 465 465) +Process: 3 I/O blocked... (2000 0 466 466) +Process: 3 registered... (2000 0 466 466) +Process: 3 I/O blocked... (2000 0 467 467) +Process: 3 registered... (2000 0 467 467) +Process: 3 I/O blocked... (2000 0 468 468) +Process: 3 registered... (2000 0 468 468) +Process: 3 I/O blocked... (2000 0 469 469) +Process: 3 registered... (2000 0 469 469) +Process: 3 I/O blocked... (2000 0 470 470) +Process: 3 registered... (2000 0 470 470) +Process: 3 I/O blocked... (2000 0 471 471) +Process: 3 registered... (2000 0 471 471) +Process: 3 I/O blocked... (2000 0 472 472) +Process: 3 registered... (2000 0 472 472) +Process: 3 I/O blocked... (2000 0 473 473) +Process: 3 registered... (2000 0 473 473) +Process: 3 I/O blocked... (2000 0 474 474) +Process: 3 registered... (2000 0 474 474) +Process: 3 I/O blocked... (2000 0 475 475) +Process: 3 registered... (2000 0 475 475) +Process: 3 I/O blocked... (2000 0 476 476) +Process: 3 registered... (2000 0 476 476) +Process: 3 I/O blocked... (2000 0 477 477) +Process: 3 registered... (2000 0 477 477) +Process: 3 I/O blocked... (2000 0 478 478) +Process: 3 registered... (2000 0 478 478) +Process: 3 I/O blocked... (2000 0 479 479) +Process: 3 registered... (2000 0 479 479) +Process: 3 I/O blocked... (2000 0 480 480) +Process: 3 registered... (2000 0 480 480) +Process: 3 I/O blocked... (2000 0 481 481) +Process: 3 registered... (2000 0 481 481) +Process: 3 I/O blocked... (2000 0 482 482) +Process: 3 registered... (2000 0 482 482) +Process: 3 I/O blocked... (2000 0 483 483) +Process: 3 registered... (2000 0 483 483) +Process: 3 I/O blocked... (2000 0 484 484) +Process: 3 registered... (2000 0 484 484) +Process: 3 I/O blocked... (2000 0 485 485) +Process: 3 registered... (2000 0 485 485) +Process: 3 I/O blocked... (2000 0 486 486) +Process: 3 registered... (2000 0 486 486) +Process: 3 I/O blocked... (2000 0 487 487) +Process: 3 registered... (2000 0 487 487) +Process: 3 I/O blocked... (2000 0 488 488) +Process: 3 registered... (2000 0 488 488) +Process: 3 I/O blocked... (2000 0 489 489) +Process: 3 registered... (2000 0 489 489) +Process: 3 I/O blocked... (2000 0 490 490) +Process: 3 registered... (2000 0 490 490) +Process: 3 I/O blocked... (2000 0 491 491) +Process: 3 registered... (2000 0 491 491) +Process: 3 I/O blocked... (2000 0 492 492) +Process: 3 registered... (2000 0 492 492) +Process: 3 I/O blocked... (2000 0 493 493) +Process: 3 registered... (2000 0 493 493) +Process: 3 I/O blocked... (2000 0 494 494) +Process: 3 registered... (2000 0 494 494) +Process: 3 I/O blocked... (2000 0 495 495) +Process: 3 registered... (2000 0 495 495) +Process: 3 I/O blocked... (2000 0 496 496) +Process: 3 registered... (2000 0 496 496) +Process: 3 I/O blocked... (2000 0 497 497) +Process: 3 registered... (2000 0 497 497) +Process: 3 I/O blocked... (2000 0 498 498) +Process: 3 registered... (2000 0 498 498) +Process: 3 I/O blocked... (2000 0 499 499) +Process: 3 registered... (2000 0 499 499) +Process: 3 I/O blocked... (2000 0 500 500) +Process: 3 registered... (2000 0 500 500) +Process: 3 I/O blocked... (2000 0 501 501) +Process: 3 registered... (2000 0 501 501) +Process: 3 I/O blocked... (2000 0 502 502) +Process: 3 registered... (2000 0 502 502) +Process: 3 I/O blocked... (2000 0 503 503) +Process: 3 registered... (2000 0 503 503) +Process: 3 I/O blocked... (2000 0 504 504) +Process: 3 registered... (2000 0 504 504) +Process: 3 I/O blocked... (2000 0 505 505) +Process: 3 registered... (2000 0 505 505) +Process: 3 I/O blocked... (2000 0 506 506) +Process: 3 registered... (2000 0 506 506) +Process: 3 I/O blocked... (2000 0 507 507) +Process: 3 registered... (2000 0 507 507) +Process: 3 I/O blocked... (2000 0 508 508) +Process: 3 registered... (2000 0 508 508) +Process: 3 I/O blocked... (2000 0 509 509) +Process: 3 registered... (2000 0 509 509) +Process: 3 I/O blocked... (2000 0 510 510) +Process: 3 registered... (2000 0 510 510) +Process: 3 I/O blocked... (2000 0 511 511) +Process: 3 registered... (2000 0 511 511) +Process: 3 I/O blocked... (2000 0 512 512) +Process: 3 registered... (2000 0 512 512) +Process: 3 I/O blocked... (2000 0 513 513) +Process: 3 registered... (2000 0 513 513) +Process: 3 I/O blocked... (2000 0 514 514) +Process: 3 registered... (2000 0 514 514) +Process: 3 I/O blocked... (2000 0 515 515) +Process: 3 registered... (2000 0 515 515) +Process: 3 I/O blocked... (2000 0 516 516) +Process: 3 registered... (2000 0 516 516) +Process: 3 I/O blocked... (2000 0 517 517) +Process: 3 registered... (2000 0 517 517) +Process: 3 I/O blocked... (2000 0 518 518) +Process: 3 registered... (2000 0 518 518) +Process: 3 I/O blocked... (2000 0 519 519) +Process: 3 registered... (2000 0 519 519) +Process: 3 I/O blocked... (2000 0 520 520) +Process: 3 registered... (2000 0 520 520) +Process: 3 I/O blocked... (2000 0 521 521) +Process: 3 registered... (2000 0 521 521) +Process: 3 I/O blocked... (2000 0 522 522) +Process: 3 registered... (2000 0 522 522) +Process: 3 I/O blocked... (2000 0 523 523) +Process: 3 registered... (2000 0 523 523) +Process: 3 I/O blocked... (2000 0 524 524) +Process: 3 registered... (2000 0 524 524) +Process: 3 I/O blocked... (2000 0 525 525) +Process: 3 registered... (2000 0 525 525) +Process: 3 I/O blocked... (2000 0 526 526) +Process: 3 registered... (2000 0 526 526) +Process: 3 I/O blocked... (2000 0 527 527) +Process: 3 registered... (2000 0 527 527) +Process: 3 I/O blocked... (2000 0 528 528) +Process: 3 registered... (2000 0 528 528) +Process: 3 I/O blocked... (2000 0 529 529) +Process: 3 registered... (2000 0 529 529) +Process: 3 I/O blocked... (2000 0 530 530) +Process: 3 registered... (2000 0 530 530) +Process: 3 I/O blocked... (2000 0 531 531) +Process: 3 registered... (2000 0 531 531) +Process: 3 I/O blocked... (2000 0 532 532) +Process: 3 registered... (2000 0 532 532) +Process: 3 I/O blocked... (2000 0 533 533) +Process: 3 registered... (2000 0 533 533) +Process: 3 I/O blocked... (2000 0 534 534) +Process: 3 registered... (2000 0 534 534) +Process: 3 I/O blocked... (2000 0 535 535) +Process: 3 registered... (2000 0 535 535) +Process: 3 I/O blocked... (2000 0 536 536) +Process: 3 registered... (2000 0 536 536) +Process: 3 I/O blocked... (2000 0 537 537) +Process: 3 registered... (2000 0 537 537) +Process: 3 I/O blocked... (2000 0 538 538) +Process: 3 registered... (2000 0 538 538) +Process: 3 I/O blocked... (2000 0 539 539) +Process: 3 registered... (2000 0 539 539) +Process: 3 I/O blocked... (2000 0 540 540) +Process: 3 registered... (2000 0 540 540) +Process: 3 I/O blocked... (2000 0 541 541) +Process: 3 registered... (2000 0 541 541) +Process: 3 I/O blocked... (2000 0 542 542) +Process: 3 registered... (2000 0 542 542) +Process: 3 I/O blocked... (2000 0 543 543) +Process: 3 registered... (2000 0 543 543) +Process: 3 I/O blocked... (2000 0 544 544) +Process: 3 registered... (2000 0 544 544) +Process: 3 I/O blocked... (2000 0 545 545) +Process: 3 registered... (2000 0 545 545) +Process: 3 I/O blocked... (2000 0 546 546) +Process: 3 registered... (2000 0 546 546) +Process: 3 I/O blocked... (2000 0 547 547) +Process: 3 registered... (2000 0 547 547) +Process: 3 I/O blocked... (2000 0 548 548) +Process: 3 registered... (2000 0 548 548) +Process: 3 I/O blocked... (2000 0 549 549) +Process: 3 registered... (2000 0 549 549) +Process: 3 I/O blocked... (2000 0 550 550) +Process: 3 registered... (2000 0 550 550) +Process: 3 I/O blocked... (2000 0 551 551) +Process: 3 registered... (2000 0 551 551) +Process: 3 I/O blocked... (2000 0 552 552) +Process: 3 registered... (2000 0 552 552) +Process: 3 I/O blocked... (2000 0 553 553) +Process: 3 registered... (2000 0 553 553) +Process: 3 I/O blocked... (2000 0 554 554) +Process: 3 registered... (2000 0 554 554) +Process: 3 I/O blocked... (2000 0 555 555) +Process: 3 registered... (2000 0 555 555) +Process: 3 I/O blocked... (2000 0 556 556) +Process: 3 registered... (2000 0 556 556) +Process: 3 I/O blocked... (2000 0 557 557) +Process: 3 registered... (2000 0 557 557) +Process: 3 I/O blocked... (2000 0 558 558) +Process: 3 registered... (2000 0 558 558) +Process: 3 I/O blocked... (2000 0 559 559) +Process: 3 registered... (2000 0 559 559) +Process: 3 I/O blocked... (2000 0 560 560) +Process: 3 registered... (2000 0 560 560) +Process: 3 I/O blocked... (2000 0 561 561) +Process: 3 registered... (2000 0 561 561) +Process: 3 I/O blocked... (2000 0 562 562) +Process: 3 registered... (2000 0 562 562) +Process: 3 I/O blocked... (2000 0 563 563) +Process: 3 registered... (2000 0 563 563) +Process: 3 I/O blocked... (2000 0 564 564) +Process: 3 registered... (2000 0 564 564) +Process: 3 I/O blocked... (2000 0 565 565) +Process: 3 registered... (2000 0 565 565) +Process: 3 I/O blocked... (2000 0 566 566) +Process: 3 registered... (2000 0 566 566) +Process: 3 I/O blocked... (2000 0 567 567) +Process: 3 registered... (2000 0 567 567) +Process: 3 I/O blocked... (2000 0 568 568) +Process: 3 registered... (2000 0 568 568) +Process: 3 I/O blocked... (2000 0 569 569) +Process: 3 registered... (2000 0 569 569) +Process: 3 I/O blocked... (2000 0 570 570) +Process: 3 registered... (2000 0 570 570) +Process: 3 I/O blocked... (2000 0 571 571) +Process: 3 registered... (2000 0 571 571) +Process: 3 I/O blocked... (2000 0 572 572) +Process: 3 registered... (2000 0 572 572) +Process: 3 I/O blocked... (2000 0 573 573) +Process: 3 registered... (2000 0 573 573) +Process: 3 I/O blocked... (2000 0 574 574) +Process: 3 registered... (2000 0 574 574) +Process: 3 I/O blocked... (2000 0 575 575) +Process: 3 registered... (2000 0 575 575) +Process: 3 I/O blocked... (2000 0 576 576) +Process: 3 registered... (2000 0 576 576) +Process: 3 I/O blocked... (2000 0 577 577) +Process: 3 registered... (2000 0 577 577) +Process: 3 I/O blocked... (2000 0 578 578) +Process: 3 registered... (2000 0 578 578) +Process: 3 I/O blocked... (2000 0 579 579) +Process: 3 registered... (2000 0 579 579) +Process: 3 I/O blocked... (2000 0 580 580) +Process: 3 registered... (2000 0 580 580) +Process: 3 I/O blocked... (2000 0 581 581) +Process: 3 registered... (2000 0 581 581) +Process: 3 I/O blocked... (2000 0 582 582) +Process: 3 registered... (2000 0 582 582) +Process: 3 I/O blocked... (2000 0 583 583) +Process: 3 registered... (2000 0 583 583) +Process: 3 I/O blocked... (2000 0 584 584) +Process: 3 registered... (2000 0 584 584) +Process: 3 I/O blocked... (2000 0 585 585) +Process: 3 registered... (2000 0 585 585) +Process: 3 I/O blocked... (2000 0 586 586) +Process: 3 registered... (2000 0 586 586) +Process: 3 I/O blocked... (2000 0 587 587) +Process: 3 registered... (2000 0 587 587) +Process: 3 I/O blocked... (2000 0 588 588) +Process: 3 registered... (2000 0 588 588) +Process: 3 I/O blocked... (2000 0 589 589) +Process: 3 registered... (2000 0 589 589) +Process: 3 I/O blocked... (2000 0 590 590) +Process: 3 registered... (2000 0 590 590) +Process: 3 I/O blocked... (2000 0 591 591) +Process: 3 registered... (2000 0 591 591) +Process: 3 I/O blocked... (2000 0 592 592) +Process: 3 registered... (2000 0 592 592) +Process: 3 I/O blocked... (2000 0 593 593) +Process: 3 registered... (2000 0 593 593) +Process: 3 I/O blocked... (2000 0 594 594) +Process: 3 registered... (2000 0 594 594) +Process: 3 I/O blocked... (2000 0 595 595) +Process: 3 registered... (2000 0 595 595) +Process: 3 I/O blocked... (2000 0 596 596) +Process: 3 registered... (2000 0 596 596) +Process: 3 I/O blocked... (2000 0 597 597) +Process: 3 registered... (2000 0 597 597) +Process: 3 I/O blocked... (2000 0 598 598) +Process: 3 registered... (2000 0 598 598) +Process: 3 I/O blocked... (2000 0 599 599) +Process: 3 registered... (2000 0 599 599) +Process: 3 I/O blocked... (2000 0 600 600) +Process: 3 registered... (2000 0 600 600) +Process: 3 I/O blocked... (2000 0 601 601) +Process: 3 registered... (2000 0 601 601) +Process: 3 I/O blocked... (2000 0 602 602) +Process: 3 registered... (2000 0 602 602) +Process: 3 I/O blocked... (2000 0 603 603) +Process: 3 registered... (2000 0 603 603) +Process: 3 I/O blocked... (2000 0 604 604) +Process: 3 registered... (2000 0 604 604) +Process: 3 I/O blocked... (2000 0 605 605) +Process: 3 registered... (2000 0 605 605) +Process: 3 I/O blocked... (2000 0 606 606) +Process: 3 registered... (2000 0 606 606) +Process: 3 I/O blocked... (2000 0 607 607) +Process: 3 registered... (2000 0 607 607) +Process: 3 I/O blocked... (2000 0 608 608) +Process: 3 registered... (2000 0 608 608) +Process: 3 I/O blocked... (2000 0 609 609) +Process: 3 registered... (2000 0 609 609) +Process: 3 I/O blocked... (2000 0 610 610) +Process: 3 registered... (2000 0 610 610) +Process: 3 I/O blocked... (2000 0 611 611) +Process: 3 registered... (2000 0 611 611) +Process: 3 I/O blocked... (2000 0 612 612) +Process: 3 registered... (2000 0 612 612) +Process: 3 I/O blocked... (2000 0 613 613) +Process: 3 registered... (2000 0 613 613) +Process: 3 I/O blocked... (2000 0 614 614) +Process: 3 registered... (2000 0 614 614) +Process: 3 I/O blocked... (2000 0 615 615) +Process: 3 registered... (2000 0 615 615) +Process: 3 I/O blocked... (2000 0 616 616) +Process: 3 registered... (2000 0 616 616) +Process: 3 I/O blocked... (2000 0 617 617) +Process: 3 registered... (2000 0 617 617) +Process: 3 I/O blocked... (2000 0 618 618) +Process: 3 registered... (2000 0 618 618) +Process: 3 I/O blocked... (2000 0 619 619) +Process: 3 registered... (2000 0 619 619) +Process: 3 I/O blocked... (2000 0 620 620) +Process: 3 registered... (2000 0 620 620) +Process: 3 I/O blocked... (2000 0 621 621) +Process: 3 registered... (2000 0 621 621) +Process: 3 I/O blocked... (2000 0 622 622) +Process: 3 registered... (2000 0 622 622) +Process: 3 I/O blocked... (2000 0 623 623) +Process: 3 registered... (2000 0 623 623) +Process: 3 I/O blocked... (2000 0 624 624) +Process: 3 registered... (2000 0 624 624) +Process: 3 I/O blocked... (2000 0 625 625) +Process: 3 registered... (2000 0 625 625) +Process: 3 I/O blocked... (2000 0 626 626) +Process: 3 registered... (2000 0 626 626) +Process: 3 I/O blocked... (2000 0 627 627) +Process: 3 registered... (2000 0 627 627) +Process: 3 I/O blocked... (2000 0 628 628) +Process: 3 registered... (2000 0 628 628) +Process: 3 I/O blocked... (2000 0 629 629) +Process: 3 registered... (2000 0 629 629) +Process: 3 I/O blocked... (2000 0 630 630) +Process: 3 registered... (2000 0 630 630) +Process: 3 I/O blocked... (2000 0 631 631) +Process: 3 registered... (2000 0 631 631) +Process: 3 I/O blocked... (2000 0 632 632) +Process: 3 registered... (2000 0 632 632) +Process: 3 I/O blocked... (2000 0 633 633) +Process: 3 registered... (2000 0 633 633) +Process: 3 I/O blocked... (2000 0 634 634) +Process: 3 registered... (2000 0 634 634) +Process: 3 I/O blocked... (2000 0 635 635) +Process: 3 registered... (2000 0 635 635) +Process: 3 I/O blocked... (2000 0 636 636) +Process: 3 registered... (2000 0 636 636) +Process: 3 I/O blocked... (2000 0 637 637) +Process: 3 registered... (2000 0 637 637) +Process: 3 I/O blocked... (2000 0 638 638) +Process: 3 registered... (2000 0 638 638) +Process: 3 I/O blocked... (2000 0 639 639) +Process: 3 registered... (2000 0 639 639) +Process: 3 I/O blocked... (2000 0 640 640) +Process: 3 registered... (2000 0 640 640) +Process: 3 I/O blocked... (2000 0 641 641) +Process: 3 registered... (2000 0 641 641) +Process: 3 I/O blocked... (2000 0 642 642) +Process: 3 registered... (2000 0 642 642) +Process: 3 I/O blocked... (2000 0 643 643) +Process: 3 registered... (2000 0 643 643) +Process: 3 I/O blocked... (2000 0 644 644) +Process: 3 registered... (2000 0 644 644) +Process: 3 I/O blocked... (2000 0 645 645) +Process: 3 registered... (2000 0 645 645) +Process: 3 I/O blocked... (2000 0 646 646) +Process: 3 registered... (2000 0 646 646) +Process: 3 I/O blocked... (2000 0 647 647) +Process: 3 registered... (2000 0 647 647) +Process: 3 I/O blocked... (2000 0 648 648) +Process: 3 registered... (2000 0 648 648) +Process: 3 I/O blocked... (2000 0 649 649) +Process: 3 registered... (2000 0 649 649) +Process: 3 I/O blocked... (2000 0 650 650) +Process: 3 registered... (2000 0 650 650) +Process: 3 I/O blocked... (2000 0 651 651) +Process: 3 registered... (2000 0 651 651) +Process: 3 I/O blocked... (2000 0 652 652) +Process: 3 registered... (2000 0 652 652) +Process: 3 I/O blocked... (2000 0 653 653) +Process: 3 registered... (2000 0 653 653) +Process: 3 I/O blocked... (2000 0 654 654) +Process: 3 registered... (2000 0 654 654) +Process: 3 I/O blocked... (2000 0 655 655) +Process: 3 registered... (2000 0 655 655) +Process: 3 I/O blocked... (2000 0 656 656) +Process: 3 registered... (2000 0 656 656) +Process: 3 I/O blocked... (2000 0 657 657) +Process: 3 registered... (2000 0 657 657) +Process: 3 I/O blocked... (2000 0 658 658) +Process: 3 registered... (2000 0 658 658) +Process: 3 I/O blocked... (2000 0 659 659) +Process: 3 registered... (2000 0 659 659) +Process: 3 I/O blocked... (2000 0 660 660) +Process: 3 registered... (2000 0 660 660) +Process: 3 I/O blocked... (2000 0 661 661) +Process: 3 registered... (2000 0 661 661) +Process: 3 I/O blocked... (2000 0 662 662) +Process: 3 registered... (2000 0 662 662) +Process: 3 I/O blocked... (2000 0 663 663) +Process: 3 registered... (2000 0 663 663) +Process: 3 I/O blocked... (2000 0 664 664) +Process: 3 registered... (2000 0 664 664) +Process: 3 I/O blocked... (2000 0 665 665) +Process: 3 registered... (2000 0 665 665) +Process: 3 I/O blocked... (2000 0 666 666) +Process: 3 registered... (2000 0 666 666) +Process: 3 I/O blocked... (2000 0 667 667) +Process: 3 registered... (2000 0 667 667) +Process: 3 I/O blocked... (2000 0 668 668) +Process: 3 registered... (2000 0 668 668) +Process: 3 I/O blocked... (2000 0 669 669) +Process: 3 registered... (2000 0 669 669) +Process: 3 I/O blocked... (2000 0 670 670) +Process: 3 registered... (2000 0 670 670) +Process: 3 I/O blocked... (2000 0 671 671) +Process: 3 registered... (2000 0 671 671) +Process: 3 I/O blocked... (2000 0 672 672) +Process: 3 registered... (2000 0 672 672) +Process: 3 I/O blocked... (2000 0 673 673) +Process: 3 registered... (2000 0 673 673) +Process: 3 I/O blocked... (2000 0 674 674) +Process: 3 registered... (2000 0 674 674) +Process: 3 I/O blocked... (2000 0 675 675) +Process: 3 registered... (2000 0 675 675) +Process: 3 I/O blocked... (2000 0 676 676) +Process: 3 registered... (2000 0 676 676) +Process: 3 I/O blocked... (2000 0 677 677) +Process: 3 registered... (2000 0 677 677) +Process: 3 I/O blocked... (2000 0 678 678) +Process: 3 registered... (2000 0 678 678) +Process: 3 I/O blocked... (2000 0 679 679) +Process: 3 registered... (2000 0 679 679) +Process: 3 I/O blocked... (2000 0 680 680) +Process: 3 registered... (2000 0 680 680) +Process: 3 I/O blocked... (2000 0 681 681) +Process: 3 registered... (2000 0 681 681) +Process: 3 I/O blocked... (2000 0 682 682) +Process: 3 registered... (2000 0 682 682) +Process: 3 I/O blocked... (2000 0 683 683) +Process: 3 registered... (2000 0 683 683) +Process: 3 I/O blocked... (2000 0 684 684) +Process: 3 registered... (2000 0 684 684) +Process: 3 I/O blocked... (2000 0 685 685) +Process: 3 registered... (2000 0 685 685) +Process: 3 I/O blocked... (2000 0 686 686) +Process: 3 registered... (2000 0 686 686) +Process: 3 I/O blocked... (2000 0 687 687) +Process: 3 registered... (2000 0 687 687) +Process: 3 I/O blocked... (2000 0 688 688) +Process: 3 registered... (2000 0 688 688) +Process: 3 I/O blocked... (2000 0 689 689) +Process: 3 registered... (2000 0 689 689) +Process: 3 I/O blocked... (2000 0 690 690) +Process: 3 registered... (2000 0 690 690) +Process: 3 I/O blocked... (2000 0 691 691) +Process: 3 registered... (2000 0 691 691) +Process: 3 I/O blocked... (2000 0 692 692) +Process: 3 registered... (2000 0 692 692) +Process: 3 I/O blocked... (2000 0 693 693) +Process: 3 registered... (2000 0 693 693) +Process: 3 I/O blocked... (2000 0 694 694) +Process: 3 registered... (2000 0 694 694) +Process: 3 I/O blocked... (2000 0 695 695) +Process: 3 registered... (2000 0 695 695) +Process: 3 I/O blocked... (2000 0 696 696) +Process: 3 registered... (2000 0 696 696) +Process: 3 I/O blocked... (2000 0 697 697) +Process: 3 registered... (2000 0 697 697) +Process: 3 I/O blocked... (2000 0 698 698) +Process: 3 registered... (2000 0 698 698) +Process: 3 I/O blocked... (2000 0 699 699) +Process: 3 registered... (2000 0 699 699) +Process: 3 I/O blocked... (2000 0 700 700) +Process: 3 registered... (2000 0 700 700) +Process: 3 I/O blocked... (2000 0 701 701) +Process: 3 registered... (2000 0 701 701) +Process: 3 I/O blocked... (2000 0 702 702) +Process: 3 registered... (2000 0 702 702) +Process: 3 I/O blocked... (2000 0 703 703) +Process: 3 registered... (2000 0 703 703) +Process: 3 I/O blocked... (2000 0 704 704) +Process: 3 registered... (2000 0 704 704) +Process: 3 I/O blocked... (2000 0 705 705) +Process: 3 registered... (2000 0 705 705) +Process: 3 I/O blocked... (2000 0 706 706) +Process: 3 registered... (2000 0 706 706) +Process: 3 I/O blocked... (2000 0 707 707) +Process: 3 registered... (2000 0 707 707) +Process: 3 I/O blocked... (2000 0 708 708) +Process: 3 registered... (2000 0 708 708) +Process: 3 I/O blocked... (2000 0 709 709) +Process: 3 registered... (2000 0 709 709) +Process: 3 I/O blocked... (2000 0 710 710) +Process: 3 registered... (2000 0 710 710) +Process: 3 I/O blocked... (2000 0 711 711) +Process: 3 registered... (2000 0 711 711) +Process: 3 I/O blocked... (2000 0 712 712) +Process: 3 registered... (2000 0 712 712) +Process: 3 I/O blocked... (2000 0 713 713) +Process: 3 registered... (2000 0 713 713) +Process: 3 I/O blocked... (2000 0 714 714) +Process: 3 registered... (2000 0 714 714) +Process: 3 I/O blocked... (2000 0 715 715) +Process: 3 registered... (2000 0 715 715) +Process: 3 I/O blocked... (2000 0 716 716) +Process: 3 registered... (2000 0 716 716) +Process: 3 I/O blocked... (2000 0 717 717) +Process: 3 registered... (2000 0 717 717) +Process: 3 I/O blocked... (2000 0 718 718) +Process: 3 registered... (2000 0 718 718) +Process: 3 I/O blocked... (2000 0 719 719) +Process: 3 registered... (2000 0 719 719) +Process: 3 I/O blocked... (2000 0 720 720) +Process: 3 registered... (2000 0 720 720) +Process: 3 I/O blocked... (2000 0 721 721) +Process: 3 registered... (2000 0 721 721) +Process: 3 I/O blocked... (2000 0 722 722) +Process: 3 registered... (2000 0 722 722) +Process: 3 I/O blocked... (2000 0 723 723) +Process: 3 registered... (2000 0 723 723) +Process: 3 I/O blocked... (2000 0 724 724) +Process: 3 registered... (2000 0 724 724) +Process: 3 I/O blocked... (2000 0 725 725) +Process: 3 registered... (2000 0 725 725) +Process: 3 I/O blocked... (2000 0 726 726) +Process: 3 registered... (2000 0 726 726) +Process: 3 I/O blocked... (2000 0 727 727) +Process: 3 registered... (2000 0 727 727) +Process: 3 I/O blocked... (2000 0 728 728) +Process: 3 registered... (2000 0 728 728) +Process: 3 I/O blocked... (2000 0 729 729) +Process: 3 registered... (2000 0 729 729) +Process: 3 I/O blocked... (2000 0 730 730) +Process: 3 registered... (2000 0 730 730) +Process: 3 I/O blocked... (2000 0 731 731) +Process: 3 registered... (2000 0 731 731) +Process: 3 I/O blocked... (2000 0 732 732) +Process: 3 registered... (2000 0 732 732) +Process: 3 I/O blocked... (2000 0 733 733) +Process: 3 registered... (2000 0 733 733) +Process: 3 I/O blocked... (2000 0 734 734) +Process: 3 registered... (2000 0 734 734) +Process: 3 I/O blocked... (2000 0 735 735) +Process: 3 registered... (2000 0 735 735) +Process: 3 I/O blocked... (2000 0 736 736) +Process: 3 registered... (2000 0 736 736) +Process: 3 I/O blocked... (2000 0 737 737) +Process: 3 registered... (2000 0 737 737) +Process: 3 I/O blocked... (2000 0 738 738) +Process: 3 registered... (2000 0 738 738) +Process: 3 I/O blocked... (2000 0 739 739) +Process: 3 registered... (2000 0 739 739) +Process: 3 I/O blocked... (2000 0 740 740) +Process: 3 registered... (2000 0 740 740) +Process: 3 I/O blocked... (2000 0 741 741) +Process: 3 registered... (2000 0 741 741) +Process: 3 I/O blocked... (2000 0 742 742) +Process: 3 registered... (2000 0 742 742) +Process: 3 I/O blocked... (2000 0 743 743) +Process: 3 registered... (2000 0 743 743) +Process: 3 I/O blocked... (2000 0 744 744) +Process: 3 registered... (2000 0 744 744) +Process: 3 I/O blocked... (2000 0 745 745) +Process: 3 registered... (2000 0 745 745) +Process: 3 I/O blocked... (2000 0 746 746) +Process: 3 registered... (2000 0 746 746) +Process: 3 I/O blocked... (2000 0 747 747) +Process: 3 registered... (2000 0 747 747) +Process: 3 I/O blocked... (2000 0 748 748) +Process: 3 registered... (2000 0 748 748) +Process: 3 I/O blocked... (2000 0 749 749) +Process: 3 registered... (2000 0 749 749) +Process: 3 I/O blocked... (2000 0 750 750) +Process: 3 registered... (2000 0 750 750) +Process: 3 I/O blocked... (2000 0 751 751) +Process: 3 registered... (2000 0 751 751) +Process: 3 I/O blocked... (2000 0 752 752) +Process: 3 registered... (2000 0 752 752) +Process: 3 I/O blocked... (2000 0 753 753) +Process: 3 registered... (2000 0 753 753) +Process: 3 I/O blocked... (2000 0 754 754) +Process: 3 registered... (2000 0 754 754) +Process: 3 I/O blocked... (2000 0 755 755) +Process: 3 registered... (2000 0 755 755) +Process: 3 I/O blocked... (2000 0 756 756) +Process: 3 registered... (2000 0 756 756) +Process: 3 I/O blocked... (2000 0 757 757) +Process: 3 registered... (2000 0 757 757) +Process: 3 I/O blocked... (2000 0 758 758) +Process: 3 registered... (2000 0 758 758) +Process: 3 I/O blocked... (2000 0 759 759) +Process: 3 registered... (2000 0 759 759) +Process: 3 I/O blocked... (2000 0 760 760) +Process: 3 registered... (2000 0 760 760) +Process: 3 I/O blocked... (2000 0 761 761) +Process: 3 registered... (2000 0 761 761) +Process: 3 I/O blocked... (2000 0 762 762) +Process: 3 registered... (2000 0 762 762) +Process: 3 I/O blocked... (2000 0 763 763) +Process: 3 registered... (2000 0 763 763) +Process: 3 I/O blocked... (2000 0 764 764) +Process: 3 registered... (2000 0 764 764) +Process: 3 I/O blocked... (2000 0 765 765) +Process: 3 registered... (2000 0 765 765) +Process: 3 I/O blocked... (2000 0 766 766) +Process: 3 registered... (2000 0 766 766) +Process: 3 I/O blocked... (2000 0 767 767) +Process: 3 registered... (2000 0 767 767) +Process: 3 I/O blocked... (2000 0 768 768) +Process: 3 registered... (2000 0 768 768) +Process: 3 I/O blocked... (2000 0 769 769) +Process: 3 registered... (2000 0 769 769) +Process: 3 I/O blocked... (2000 0 770 770) +Process: 3 registered... (2000 0 770 770) +Process: 3 I/O blocked... (2000 0 771 771) +Process: 3 registered... (2000 0 771 771) +Process: 3 I/O blocked... (2000 0 772 772) +Process: 3 registered... (2000 0 772 772) +Process: 3 I/O blocked... (2000 0 773 773) +Process: 3 registered... (2000 0 773 773) +Process: 3 I/O blocked... (2000 0 774 774) +Process: 3 registered... (2000 0 774 774) +Process: 3 I/O blocked... (2000 0 775 775) +Process: 3 registered... (2000 0 775 775) +Process: 3 I/O blocked... (2000 0 776 776) +Process: 3 registered... (2000 0 776 776) +Process: 3 I/O blocked... (2000 0 777 777) +Process: 3 registered... (2000 0 777 777) +Process: 3 I/O blocked... (2000 0 778 778) +Process: 3 registered... (2000 0 778 778) +Process: 3 I/O blocked... (2000 0 779 779) +Process: 3 registered... (2000 0 779 779) +Process: 3 I/O blocked... (2000 0 780 780) +Process: 3 registered... (2000 0 780 780) +Process: 3 I/O blocked... (2000 0 781 781) +Process: 3 registered... (2000 0 781 781) +Process: 3 I/O blocked... (2000 0 782 782) +Process: 3 registered... (2000 0 782 782) +Process: 3 I/O blocked... (2000 0 783 783) +Process: 3 registered... (2000 0 783 783) +Process: 3 I/O blocked... (2000 0 784 784) +Process: 3 registered... (2000 0 784 784) +Process: 3 I/O blocked... (2000 0 785 785) +Process: 3 registered... (2000 0 785 785) +Process: 3 I/O blocked... (2000 0 786 786) +Process: 3 registered... (2000 0 786 786) +Process: 3 I/O blocked... (2000 0 787 787) +Process: 3 registered... (2000 0 787 787) +Process: 3 I/O blocked... (2000 0 788 788) +Process: 3 registered... (2000 0 788 788) +Process: 3 I/O blocked... (2000 0 789 789) +Process: 3 registered... (2000 0 789 789) +Process: 3 I/O blocked... (2000 0 790 790) +Process: 3 registered... (2000 0 790 790) +Process: 3 I/O blocked... (2000 0 791 791) +Process: 3 registered... (2000 0 791 791) +Process: 3 I/O blocked... (2000 0 792 792) +Process: 3 registered... (2000 0 792 792) +Process: 3 I/O blocked... (2000 0 793 793) +Process: 3 registered... (2000 0 793 793) +Process: 3 I/O blocked... (2000 0 794 794) +Process: 3 registered... (2000 0 794 794) +Process: 3 I/O blocked... (2000 0 795 795) +Process: 3 registered... (2000 0 795 795) +Process: 3 I/O blocked... (2000 0 796 796) +Process: 3 registered... (2000 0 796 796) +Process: 3 I/O blocked... (2000 0 797 797) +Process: 3 registered... (2000 0 797 797) +Process: 3 I/O blocked... (2000 0 798 798) +Process: 3 registered... (2000 0 798 798) +Process: 3 I/O blocked... (2000 0 799 799) +Process: 3 registered... (2000 0 799 799) +Process: 3 I/O blocked... (2000 0 800 800) +Process: 3 registered... (2000 0 800 800) +Process: 3 I/O blocked... (2000 0 801 801) +Process: 3 registered... (2000 0 801 801) +Process: 3 I/O blocked... (2000 0 802 802) +Process: 3 registered... (2000 0 802 802) +Process: 3 I/O blocked... (2000 0 803 803) +Process: 3 registered... (2000 0 803 803) +Process: 3 I/O blocked... (2000 0 804 804) +Process: 3 registered... (2000 0 804 804) +Process: 3 I/O blocked... (2000 0 805 805) +Process: 3 registered... (2000 0 805 805) +Process: 3 I/O blocked... (2000 0 806 806) +Process: 3 registered... (2000 0 806 806) +Process: 3 I/O blocked... (2000 0 807 807) +Process: 3 registered... (2000 0 807 807) +Process: 3 I/O blocked... (2000 0 808 808) +Process: 3 registered... (2000 0 808 808) +Process: 3 I/O blocked... (2000 0 809 809) +Process: 3 registered... (2000 0 809 809) +Process: 3 I/O blocked... (2000 0 810 810) +Process: 3 registered... (2000 0 810 810) +Process: 3 I/O blocked... (2000 0 811 811) +Process: 3 registered... (2000 0 811 811) +Process: 3 I/O blocked... (2000 0 812 812) +Process: 3 registered... (2000 0 812 812) +Process: 3 I/O blocked... (2000 0 813 813) +Process: 3 registered... (2000 0 813 813) +Process: 3 I/O blocked... (2000 0 814 814) +Process: 3 registered... (2000 0 814 814) +Process: 3 I/O blocked... (2000 0 815 815) +Process: 3 registered... (2000 0 815 815) +Process: 3 I/O blocked... (2000 0 816 816) +Process: 3 registered... (2000 0 816 816) +Process: 3 I/O blocked... (2000 0 817 817) +Process: 3 registered... (2000 0 817 817) +Process: 3 I/O blocked... (2000 0 818 818) +Process: 3 registered... (2000 0 818 818) +Process: 3 I/O blocked... (2000 0 819 819) +Process: 3 registered... (2000 0 819 819) +Process: 3 I/O blocked... (2000 0 820 820) +Process: 3 registered... (2000 0 820 820) +Process: 3 I/O blocked... (2000 0 821 821) +Process: 3 registered... (2000 0 821 821) +Process: 3 I/O blocked... (2000 0 822 822) +Process: 3 registered... (2000 0 822 822) +Process: 3 I/O blocked... (2000 0 823 823) +Process: 3 registered... (2000 0 823 823) +Process: 3 I/O blocked... (2000 0 824 824) +Process: 3 registered... (2000 0 824 824) +Process: 3 I/O blocked... (2000 0 825 825) +Process: 3 registered... (2000 0 825 825) +Process: 3 I/O blocked... (2000 0 826 826) +Process: 3 registered... (2000 0 826 826) +Process: 3 I/O blocked... (2000 0 827 827) +Process: 3 registered... (2000 0 827 827) +Process: 3 I/O blocked... (2000 0 828 828) +Process: 3 registered... (2000 0 828 828) +Process: 3 I/O blocked... (2000 0 829 829) +Process: 3 registered... (2000 0 829 829) +Process: 3 I/O blocked... (2000 0 830 830) +Process: 3 registered... (2000 0 830 830) +Process: 3 I/O blocked... (2000 0 831 831) +Process: 3 registered... (2000 0 831 831) +Process: 3 I/O blocked... (2000 0 832 832) +Process: 3 registered... (2000 0 832 832) +Process: 3 I/O blocked... (2000 0 833 833) +Process: 3 registered... (2000 0 833 833) +Process: 3 I/O blocked... (2000 0 834 834) +Process: 3 registered... (2000 0 834 834) +Process: 3 I/O blocked... (2000 0 835 835) +Process: 3 registered... (2000 0 835 835) +Process: 3 I/O blocked... (2000 0 836 836) +Process: 3 registered... (2000 0 836 836) +Process: 3 I/O blocked... (2000 0 837 837) +Process: 3 registered... (2000 0 837 837) +Process: 3 I/O blocked... (2000 0 838 838) +Process: 3 registered... (2000 0 838 838) +Process: 3 I/O blocked... (2000 0 839 839) +Process: 3 registered... (2000 0 839 839) +Process: 3 I/O blocked... (2000 0 840 840) +Process: 3 registered... (2000 0 840 840) +Process: 3 I/O blocked... (2000 0 841 841) +Process: 3 registered... (2000 0 841 841) +Process: 3 I/O blocked... (2000 0 842 842) +Process: 3 registered... (2000 0 842 842) +Process: 3 I/O blocked... (2000 0 843 843) +Process: 3 registered... (2000 0 843 843) +Process: 3 I/O blocked... (2000 0 844 844) +Process: 3 registered... (2000 0 844 844) +Process: 3 I/O blocked... (2000 0 845 845) +Process: 3 registered... (2000 0 845 845) +Process: 3 I/O blocked... (2000 0 846 846) +Process: 3 registered... (2000 0 846 846) +Process: 3 I/O blocked... (2000 0 847 847) +Process: 3 registered... (2000 0 847 847) +Process: 3 I/O blocked... (2000 0 848 848) +Process: 3 registered... (2000 0 848 848) +Process: 3 I/O blocked... (2000 0 849 849) +Process: 3 registered... (2000 0 849 849) +Process: 3 I/O blocked... (2000 0 850 850) +Process: 3 registered... (2000 0 850 850) +Process: 3 I/O blocked... (2000 0 851 851) +Process: 3 registered... (2000 0 851 851) +Process: 3 I/O blocked... (2000 0 852 852) +Process: 3 registered... (2000 0 852 852) +Process: 3 I/O blocked... (2000 0 853 853) +Process: 3 registered... (2000 0 853 853) +Process: 3 I/O blocked... (2000 0 854 854) +Process: 3 registered... (2000 0 854 854) +Process: 3 I/O blocked... (2000 0 855 855) +Process: 3 registered... (2000 0 855 855) +Process: 3 I/O blocked... (2000 0 856 856) +Process: 3 registered... (2000 0 856 856) +Process: 3 I/O blocked... (2000 0 857 857) +Process: 3 registered... (2000 0 857 857) +Process: 3 I/O blocked... (2000 0 858 858) +Process: 3 registered... (2000 0 858 858) +Process: 3 I/O blocked... (2000 0 859 859) +Process: 3 registered... (2000 0 859 859) +Process: 3 I/O blocked... (2000 0 860 860) +Process: 3 registered... (2000 0 860 860) +Process: 3 I/O blocked... (2000 0 861 861) +Process: 3 registered... (2000 0 861 861) +Process: 3 I/O blocked... (2000 0 862 862) +Process: 3 registered... (2000 0 862 862) +Process: 3 I/O blocked... (2000 0 863 863) +Process: 3 registered... (2000 0 863 863) +Process: 3 I/O blocked... (2000 0 864 864) +Process: 3 registered... (2000 0 864 864) +Process: 3 I/O blocked... (2000 0 865 865) +Process: 3 registered... (2000 0 865 865) +Process: 3 I/O blocked... (2000 0 866 866) +Process: 3 registered... (2000 0 866 866) +Process: 3 I/O blocked... (2000 0 867 867) +Process: 3 registered... (2000 0 867 867) +Process: 3 I/O blocked... (2000 0 868 868) +Process: 3 registered... (2000 0 868 868) +Process: 3 I/O blocked... (2000 0 869 869) +Process: 3 registered... (2000 0 869 869) +Process: 3 I/O blocked... (2000 0 870 870) +Process: 3 registered... (2000 0 870 870) +Process: 3 I/O blocked... (2000 0 871 871) +Process: 3 registered... (2000 0 871 871) +Process: 3 I/O blocked... (2000 0 872 872) +Process: 3 registered... (2000 0 872 872) +Process: 3 I/O blocked... (2000 0 873 873) +Process: 3 registered... (2000 0 873 873) +Process: 3 I/O blocked... (2000 0 874 874) +Process: 3 registered... (2000 0 874 874) +Process: 3 I/O blocked... (2000 0 875 875) +Process: 3 registered... (2000 0 875 875) +Process: 3 I/O blocked... (2000 0 876 876) +Process: 3 registered... (2000 0 876 876) +Process: 3 I/O blocked... (2000 0 877 877) +Process: 3 registered... (2000 0 877 877) +Process: 3 I/O blocked... (2000 0 878 878) +Process: 3 registered... (2000 0 878 878) +Process: 3 I/O blocked... (2000 0 879 879) +Process: 3 registered... (2000 0 879 879) +Process: 3 I/O blocked... (2000 0 880 880) +Process: 3 registered... (2000 0 880 880) +Process: 3 I/O blocked... (2000 0 881 881) +Process: 3 registered... (2000 0 881 881) +Process: 3 I/O blocked... (2000 0 882 882) +Process: 3 registered... (2000 0 882 882) +Process: 3 I/O blocked... (2000 0 883 883) +Process: 3 registered... (2000 0 883 883) +Process: 3 I/O blocked... (2000 0 884 884) +Process: 3 registered... (2000 0 884 884) +Process: 3 I/O blocked... (2000 0 885 885) +Process: 3 registered... (2000 0 885 885) +Process: 3 I/O blocked... (2000 0 886 886) +Process: 3 registered... (2000 0 886 886) +Process: 3 I/O blocked... (2000 0 887 887) +Process: 3 registered... (2000 0 887 887) +Process: 3 I/O blocked... (2000 0 888 888) +Process: 3 registered... (2000 0 888 888) +Process: 3 I/O blocked... (2000 0 889 889) +Process: 3 registered... (2000 0 889 889) +Process: 3 I/O blocked... (2000 0 890 890) +Process: 3 registered... (2000 0 890 890) +Process: 3 I/O blocked... (2000 0 891 891) +Process: 3 registered... (2000 0 891 891) +Process: 3 I/O blocked... (2000 0 892 892) +Process: 3 registered... (2000 0 892 892) +Process: 3 I/O blocked... (2000 0 893 893) +Process: 3 registered... (2000 0 893 893) +Process: 3 I/O blocked... (2000 0 894 894) +Process: 3 registered... (2000 0 894 894) +Process: 3 I/O blocked... (2000 0 895 895) +Process: 3 registered... (2000 0 895 895) +Process: 3 I/O blocked... (2000 0 896 896) +Process: 3 registered... (2000 0 896 896) +Process: 3 I/O blocked... (2000 0 897 897) +Process: 3 registered... (2000 0 897 897) +Process: 3 I/O blocked... (2000 0 898 898) +Process: 3 registered... (2000 0 898 898) +Process: 3 I/O blocked... (2000 0 899 899) +Process: 3 registered... (2000 0 899 899) +Process: 3 I/O blocked... (2000 0 900 900) +Process: 3 registered... (2000 0 900 900) +Process: 3 I/O blocked... (2000 0 901 901) +Process: 3 registered... (2000 0 901 901) +Process: 3 I/O blocked... (2000 0 902 902) +Process: 3 registered... (2000 0 902 902) +Process: 3 I/O blocked... (2000 0 903 903) +Process: 3 registered... (2000 0 903 903) +Process: 3 I/O blocked... (2000 0 904 904) +Process: 3 registered... (2000 0 904 904) +Process: 3 I/O blocked... (2000 0 905 905) +Process: 3 registered... (2000 0 905 905) +Process: 3 I/O blocked... (2000 0 906 906) +Process: 3 registered... (2000 0 906 906) +Process: 3 I/O blocked... (2000 0 907 907) +Process: 3 registered... (2000 0 907 907) +Process: 3 I/O blocked... (2000 0 908 908) +Process: 3 registered... (2000 0 908 908) +Process: 3 I/O blocked... (2000 0 909 909) +Process: 3 registered... (2000 0 909 909) +Process: 3 I/O blocked... (2000 0 910 910) +Process: 3 registered... (2000 0 910 910) +Process: 3 I/O blocked... (2000 0 911 911) +Process: 3 registered... (2000 0 911 911) +Process: 3 I/O blocked... (2000 0 912 912) +Process: 3 registered... (2000 0 912 912) +Process: 3 I/O blocked... (2000 0 913 913) +Process: 3 registered... (2000 0 913 913) +Process: 3 I/O blocked... (2000 0 914 914) +Process: 3 registered... (2000 0 914 914) +Process: 3 I/O blocked... (2000 0 915 915) +Process: 3 registered... (2000 0 915 915) +Process: 3 I/O blocked... (2000 0 916 916) +Process: 3 registered... (2000 0 916 916) +Process: 3 I/O blocked... (2000 0 917 917) +Process: 3 registered... (2000 0 917 917) +Process: 3 I/O blocked... (2000 0 918 918) +Process: 3 registered... (2000 0 918 918) +Process: 3 I/O blocked... (2000 0 919 919) +Process: 3 registered... (2000 0 919 919) +Process: 3 I/O blocked... (2000 0 920 920) +Process: 3 registered... (2000 0 920 920) +Process: 3 I/O blocked... (2000 0 921 921) +Process: 3 registered... (2000 0 921 921) +Process: 3 I/O blocked... (2000 0 922 922) +Process: 3 registered... (2000 0 922 922) +Process: 3 I/O blocked... (2000 0 923 923) +Process: 3 registered... (2000 0 923 923) +Process: 3 I/O blocked... (2000 0 924 924) +Process: 3 registered... (2000 0 924 924) +Process: 3 I/O blocked... (2000 0 925 925) +Process: 3 registered... (2000 0 925 925) +Process: 3 I/O blocked... (2000 0 926 926) +Process: 3 registered... (2000 0 926 926) +Process: 3 I/O blocked... (2000 0 927 927) +Process: 3 registered... (2000 0 927 927) +Process: 3 I/O blocked... (2000 0 928 928) +Process: 3 registered... (2000 0 928 928) +Process: 3 I/O blocked... (2000 0 929 929) +Process: 3 registered... (2000 0 929 929) +Process: 3 I/O blocked... (2000 0 930 930) +Process: 3 registered... (2000 0 930 930) +Process: 3 I/O blocked... (2000 0 931 931) +Process: 3 registered... (2000 0 931 931) +Process: 3 I/O blocked... (2000 0 932 932) +Process: 3 registered... (2000 0 932 932) +Process: 3 I/O blocked... (2000 0 933 933) +Process: 3 registered... (2000 0 933 933) +Process: 3 I/O blocked... (2000 0 934 934) +Process: 3 registered... (2000 0 934 934) +Process: 3 I/O blocked... (2000 0 935 935) +Process: 3 registered... (2000 0 935 935) +Process: 3 I/O blocked... (2000 0 936 936) +Process: 3 registered... (2000 0 936 936) +Process: 3 I/O blocked... (2000 0 937 937) +Process: 3 registered... (2000 0 937 937) +Process: 3 I/O blocked... (2000 0 938 938) +Process: 3 registered... (2000 0 938 938) +Process: 3 I/O blocked... (2000 0 939 939) +Process: 3 registered... (2000 0 939 939) +Process: 3 I/O blocked... (2000 0 940 940) +Process: 3 registered... (2000 0 940 940) +Process: 3 I/O blocked... (2000 0 941 941) +Process: 3 registered... (2000 0 941 941) +Process: 3 I/O blocked... (2000 0 942 942) +Process: 3 registered... (2000 0 942 942) +Process: 3 I/O blocked... (2000 0 943 943) +Process: 3 registered... (2000 0 943 943) +Process: 3 I/O blocked... (2000 0 944 944) +Process: 3 registered... (2000 0 944 944) +Process: 3 I/O blocked... (2000 0 945 945) +Process: 3 registered... (2000 0 945 945) +Process: 3 I/O blocked... (2000 0 946 946) +Process: 3 registered... (2000 0 946 946) +Process: 3 I/O blocked... (2000 0 947 947) +Process: 3 registered... (2000 0 947 947) +Process: 3 I/O blocked... (2000 0 948 948) +Process: 3 registered... (2000 0 948 948) +Process: 3 I/O blocked... (2000 0 949 949) +Process: 3 registered... (2000 0 949 949) +Process: 3 I/O blocked... (2000 0 950 950) +Process: 3 registered... (2000 0 950 950) +Process: 3 I/O blocked... (2000 0 951 951) +Process: 3 registered... (2000 0 951 951) +Process: 3 I/O blocked... (2000 0 952 952) +Process: 3 registered... (2000 0 952 952) +Process: 3 I/O blocked... (2000 0 953 953) +Process: 3 registered... (2000 0 953 953) +Process: 3 I/O blocked... (2000 0 954 954) +Process: 3 registered... (2000 0 954 954) +Process: 3 I/O blocked... (2000 0 955 955) +Process: 3 registered... (2000 0 955 955) +Process: 3 I/O blocked... (2000 0 956 956) +Process: 3 registered... (2000 0 956 956) +Process: 3 I/O blocked... (2000 0 957 957) +Process: 3 registered... (2000 0 957 957) +Process: 3 I/O blocked... (2000 0 958 958) +Process: 3 registered... (2000 0 958 958) +Process: 3 I/O blocked... (2000 0 959 959) +Process: 3 registered... (2000 0 959 959) +Process: 3 I/O blocked... (2000 0 960 960) +Process: 3 registered... (2000 0 960 960) +Process: 3 I/O blocked... (2000 0 961 961) +Process: 3 registered... (2000 0 961 961) +Process: 3 I/O blocked... (2000 0 962 962) +Process: 3 registered... (2000 0 962 962) +Process: 3 I/O blocked... (2000 0 963 963) +Process: 3 registered... (2000 0 963 963) +Process: 3 I/O blocked... (2000 0 964 964) +Process: 3 registered... (2000 0 964 964) +Process: 3 I/O blocked... (2000 0 965 965) +Process: 3 registered... (2000 0 965 965) +Process: 3 I/O blocked... (2000 0 966 966) +Process: 3 registered... (2000 0 966 966) +Process: 3 I/O blocked... (2000 0 967 967) +Process: 3 registered... (2000 0 967 967) +Process: 3 I/O blocked... (2000 0 968 968) +Process: 3 registered... (2000 0 968 968) +Process: 3 I/O blocked... (2000 0 969 969) +Process: 3 registered... (2000 0 969 969) +Process: 3 I/O blocked... (2000 0 970 970) +Process: 3 registered... (2000 0 970 970) +Process: 3 I/O blocked... (2000 0 971 971) +Process: 3 registered... (2000 0 971 971) +Process: 3 I/O blocked... (2000 0 972 972) +Process: 3 registered... (2000 0 972 972) +Process: 3 I/O blocked... (2000 0 973 973) +Process: 3 registered... (2000 0 973 973) +Process: 3 I/O blocked... (2000 0 974 974) +Process: 3 registered... (2000 0 974 974) +Process: 3 I/O blocked... (2000 0 975 975) +Process: 3 registered... (2000 0 975 975) +Process: 3 I/O blocked... (2000 0 976 976) +Process: 3 registered... (2000 0 976 976) +Process: 3 I/O blocked... (2000 0 977 977) +Process: 3 registered... (2000 0 977 977) +Process: 3 I/O blocked... (2000 0 978 978) +Process: 3 registered... (2000 0 978 978) +Process: 3 I/O blocked... (2000 0 979 979) +Process: 3 registered... (2000 0 979 979) +Process: 3 I/O blocked... (2000 0 980 980) +Process: 3 registered... (2000 0 980 980) +Process: 3 I/O blocked... (2000 0 981 981) +Process: 3 registered... (2000 0 981 981) +Process: 3 I/O blocked... (2000 0 982 982) +Process: 3 registered... (2000 0 982 982) +Process: 3 I/O blocked... (2000 0 983 983) +Process: 3 registered... (2000 0 983 983) +Process: 3 I/O blocked... (2000 0 984 984) +Process: 3 registered... (2000 0 984 984) +Process: 3 I/O blocked... (2000 0 985 985) +Process: 3 registered... (2000 0 985 985) +Process: 3 I/O blocked... (2000 0 986 986) +Process: 3 registered... (2000 0 986 986) +Process: 3 I/O blocked... (2000 0 987 987) +Process: 3 registered... (2000 0 987 987) +Process: 3 I/O blocked... (2000 0 988 988) +Process: 3 registered... (2000 0 988 988) +Process: 3 I/O blocked... (2000 0 989 989) +Process: 3 registered... (2000 0 989 989) +Process: 3 I/O blocked... (2000 0 990 990) +Process: 3 registered... (2000 0 990 990) +Process: 3 I/O blocked... (2000 0 991 991) +Process: 3 registered... (2000 0 991 991) +Process: 3 I/O blocked... (2000 0 992 992) +Process: 3 registered... (2000 0 992 992) +Process: 3 I/O blocked... (2000 0 993 993) +Process: 3 registered... (2000 0 993 993) +Process: 3 I/O blocked... (2000 0 994 994) +Process: 3 registered... (2000 0 994 994) +Process: 3 I/O blocked... (2000 0 995 995) +Process: 3 registered... (2000 0 995 995) +Process: 3 I/O blocked... (2000 0 996 996) +Process: 3 registered... (2000 0 996 996) +Process: 3 I/O blocked... (2000 0 997 997) +Process: 3 registered... (2000 0 997 997) +Process: 3 I/O blocked... (2000 0 998 998) +Process: 3 registered... (2000 0 998 998) +Process: 3 I/O blocked... (2000 0 999 999) +Process: 3 registered... (2000 0 999 999) +Process: 3 I/O blocked... (2000 0 1000 1000) +Process: 3 registered... (2000 0 1000 1000) +Process: 3 I/O blocked... (2000 0 1001 1001) +Process: 3 registered... (2000 0 1001 1001) +Process: 3 I/O blocked... (2000 0 1002 1002) +Process: 3 registered... (2000 0 1002 1002) +Process: 3 I/O blocked... (2000 0 1003 1003) +Process: 3 registered... (2000 0 1003 1003) +Process: 3 I/O blocked... (2000 0 1004 1004) +Process: 3 registered... (2000 0 1004 1004) +Process: 3 I/O blocked... (2000 0 1005 1005) +Process: 3 registered... (2000 0 1005 1005) +Process: 3 I/O blocked... (2000 0 1006 1006) +Process: 3 registered... (2000 0 1006 1006) +Process: 3 I/O blocked... (2000 0 1007 1007) +Process: 3 registered... (2000 0 1007 1007) +Process: 3 I/O blocked... (2000 0 1008 1008) +Process: 3 registered... (2000 0 1008 1008) +Process: 3 I/O blocked... (2000 0 1009 1009) +Process: 3 registered... (2000 0 1009 1009) +Process: 3 I/O blocked... (2000 0 1010 1010) +Process: 3 registered... (2000 0 1010 1010) +Process: 3 I/O blocked... (2000 0 1011 1011) +Process: 3 registered... (2000 0 1011 1011) +Process: 3 I/O blocked... (2000 0 1012 1012) +Process: 3 registered... (2000 0 1012 1012) +Process: 3 I/O blocked... (2000 0 1013 1013) +Process: 3 registered... (2000 0 1013 1013) +Process: 3 I/O blocked... (2000 0 1014 1014) +Process: 3 registered... (2000 0 1014 1014) +Process: 3 I/O blocked... (2000 0 1015 1015) +Process: 3 registered... (2000 0 1015 1015) +Process: 3 I/O blocked... (2000 0 1016 1016) +Process: 3 registered... (2000 0 1016 1016) +Process: 3 I/O blocked... (2000 0 1017 1017) +Process: 3 registered... (2000 0 1017 1017) +Process: 3 I/O blocked... (2000 0 1018 1018) +Process: 3 registered... (2000 0 1018 1018) +Process: 3 I/O blocked... (2000 0 1019 1019) +Process: 3 registered... (2000 0 1019 1019) +Process: 3 I/O blocked... (2000 0 1020 1020) +Process: 3 registered... (2000 0 1020 1020) +Process: 3 I/O blocked... (2000 0 1021 1021) +Process: 3 registered... (2000 0 1021 1021) +Process: 3 I/O blocked... (2000 0 1022 1022) +Process: 3 registered... (2000 0 1022 1022) +Process: 3 I/O blocked... (2000 0 1023 1023) +Process: 3 registered... (2000 0 1023 1023) +Process: 3 I/O blocked... (2000 0 1024 1024) +Process: 3 registered... (2000 0 1024 1024) +Process: 3 I/O blocked... (2000 0 1025 1025) +Process: 3 registered... (2000 0 1025 1025) +Process: 3 I/O blocked... (2000 0 1026 1026) +Process: 3 registered... (2000 0 1026 1026) +Process: 3 I/O blocked... (2000 0 1027 1027) +Process: 3 registered... (2000 0 1027 1027) +Process: 3 I/O blocked... (2000 0 1028 1028) +Process: 3 registered... (2000 0 1028 1028) +Process: 3 I/O blocked... (2000 0 1029 1029) +Process: 3 registered... (2000 0 1029 1029) +Process: 3 I/O blocked... (2000 0 1030 1030) +Process: 3 registered... (2000 0 1030 1030) +Process: 3 I/O blocked... (2000 0 1031 1031) +Process: 3 registered... (2000 0 1031 1031) +Process: 3 I/O blocked... (2000 0 1032 1032) +Process: 3 registered... (2000 0 1032 1032) +Process: 3 I/O blocked... (2000 0 1033 1033) +Process: 3 registered... (2000 0 1033 1033) +Process: 3 I/O blocked... (2000 0 1034 1034) +Process: 3 registered... (2000 0 1034 1034) +Process: 3 I/O blocked... (2000 0 1035 1035) +Process: 3 registered... (2000 0 1035 1035) +Process: 3 I/O blocked... (2000 0 1036 1036) +Process: 3 registered... (2000 0 1036 1036) +Process: 3 I/O blocked... (2000 0 1037 1037) +Process: 3 registered... (2000 0 1037 1037) +Process: 3 I/O blocked... (2000 0 1038 1038) +Process: 3 registered... (2000 0 1038 1038) +Process: 3 I/O blocked... (2000 0 1039 1039) +Process: 3 registered... (2000 0 1039 1039) +Process: 3 I/O blocked... (2000 0 1040 1040) +Process: 3 registered... (2000 0 1040 1040) +Process: 3 I/O blocked... (2000 0 1041 1041) +Process: 3 registered... (2000 0 1041 1041) +Process: 3 I/O blocked... (2000 0 1042 1042) +Process: 3 registered... (2000 0 1042 1042) +Process: 3 I/O blocked... (2000 0 1043 1043) +Process: 3 registered... (2000 0 1043 1043) +Process: 3 I/O blocked... (2000 0 1044 1044) +Process: 3 registered... (2000 0 1044 1044) +Process: 3 I/O blocked... (2000 0 1045 1045) +Process: 3 registered... (2000 0 1045 1045) +Process: 3 I/O blocked... (2000 0 1046 1046) +Process: 3 registered... (2000 0 1046 1046) +Process: 3 I/O blocked... (2000 0 1047 1047) +Process: 3 registered... (2000 0 1047 1047) +Process: 3 I/O blocked... (2000 0 1048 1048) +Process: 3 registered... (2000 0 1048 1048) +Process: 3 I/O blocked... (2000 0 1049 1049) +Process: 3 registered... (2000 0 1049 1049) +Process: 3 I/O blocked... (2000 0 1050 1050) +Process: 3 registered... (2000 0 1050 1050) +Process: 3 I/O blocked... (2000 0 1051 1051) +Process: 3 registered... (2000 0 1051 1051) +Process: 3 I/O blocked... (2000 0 1052 1052) +Process: 3 registered... (2000 0 1052 1052) +Process: 3 I/O blocked... (2000 0 1053 1053) +Process: 3 registered... (2000 0 1053 1053) +Process: 3 I/O blocked... (2000 0 1054 1054) +Process: 3 registered... (2000 0 1054 1054) +Process: 3 I/O blocked... (2000 0 1055 1055) +Process: 3 registered... (2000 0 1055 1055) +Process: 3 I/O blocked... (2000 0 1056 1056) +Process: 3 registered... (2000 0 1056 1056) +Process: 3 I/O blocked... (2000 0 1057 1057) +Process: 3 registered... (2000 0 1057 1057) +Process: 3 I/O blocked... (2000 0 1058 1058) +Process: 3 registered... (2000 0 1058 1058) +Process: 3 I/O blocked... (2000 0 1059 1059) +Process: 3 registered... (2000 0 1059 1059) +Process: 3 I/O blocked... (2000 0 1060 1060) +Process: 3 registered... (2000 0 1060 1060) +Process: 3 I/O blocked... (2000 0 1061 1061) +Process: 3 registered... (2000 0 1061 1061) +Process: 3 I/O blocked... (2000 0 1062 1062) +Process: 3 registered... (2000 0 1062 1062) +Process: 3 I/O blocked... (2000 0 1063 1063) +Process: 3 registered... (2000 0 1063 1063) +Process: 3 I/O blocked... (2000 0 1064 1064) +Process: 3 registered... (2000 0 1064 1064) +Process: 3 I/O blocked... (2000 0 1065 1065) +Process: 3 registered... (2000 0 1065 1065) +Process: 3 I/O blocked... (2000 0 1066 1066) +Process: 3 registered... (2000 0 1066 1066) +Process: 3 I/O blocked... (2000 0 1067 1067) +Process: 3 registered... (2000 0 1067 1067) +Process: 3 I/O blocked... (2000 0 1068 1068) +Process: 3 registered... (2000 0 1068 1068) +Process: 3 I/O blocked... (2000 0 1069 1069) +Process: 3 registered... (2000 0 1069 1069) +Process: 3 I/O blocked... (2000 0 1070 1070) +Process: 3 registered... (2000 0 1070 1070) +Process: 3 I/O blocked... (2000 0 1071 1071) +Process: 3 registered... (2000 0 1071 1071) +Process: 3 I/O blocked... (2000 0 1072 1072) +Process: 3 registered... (2000 0 1072 1072) +Process: 3 I/O blocked... (2000 0 1073 1073) +Process: 3 registered... (2000 0 1073 1073) +Process: 3 I/O blocked... (2000 0 1074 1074) +Process: 3 registered... (2000 0 1074 1074) +Process: 3 I/O blocked... (2000 0 1075 1075) +Process: 3 registered... (2000 0 1075 1075) +Process: 3 I/O blocked... (2000 0 1076 1076) +Process: 3 registered... (2000 0 1076 1076) +Process: 3 I/O blocked... (2000 0 1077 1077) +Process: 3 registered... (2000 0 1077 1077) +Process: 3 I/O blocked... (2000 0 1078 1078) +Process: 3 registered... (2000 0 1078 1078) +Process: 3 I/O blocked... (2000 0 1079 1079) +Process: 3 registered... (2000 0 1079 1079) +Process: 3 I/O blocked... (2000 0 1080 1080) +Process: 3 registered... (2000 0 1080 1080) +Process: 3 I/O blocked... (2000 0 1081 1081) +Process: 3 registered... (2000 0 1081 1081) +Process: 3 I/O blocked... (2000 0 1082 1082) +Process: 3 registered... (2000 0 1082 1082) +Process: 3 I/O blocked... (2000 0 1083 1083) +Process: 3 registered... (2000 0 1083 1083) +Process: 3 I/O blocked... (2000 0 1084 1084) +Process: 3 registered... (2000 0 1084 1084) +Process: 3 I/O blocked... (2000 0 1085 1085) +Process: 3 registered... (2000 0 1085 1085) +Process: 3 I/O blocked... (2000 0 1086 1086) +Process: 3 registered... (2000 0 1086 1086) +Process: 3 I/O blocked... (2000 0 1087 1087) +Process: 3 registered... (2000 0 1087 1087) +Process: 3 I/O blocked... (2000 0 1088 1088) +Process: 3 registered... (2000 0 1088 1088) +Process: 3 I/O blocked... (2000 0 1089 1089) +Process: 3 registered... (2000 0 1089 1089) +Process: 3 I/O blocked... (2000 0 1090 1090) +Process: 3 registered... (2000 0 1090 1090) +Process: 3 I/O blocked... (2000 0 1091 1091) +Process: 3 registered... (2000 0 1091 1091) +Process: 3 I/O blocked... (2000 0 1092 1092) +Process: 3 registered... (2000 0 1092 1092) +Process: 3 I/O blocked... (2000 0 1093 1093) +Process: 3 registered... (2000 0 1093 1093) +Process: 3 I/O blocked... (2000 0 1094 1094) +Process: 3 registered... (2000 0 1094 1094) +Process: 3 I/O blocked... (2000 0 1095 1095) +Process: 3 registered... (2000 0 1095 1095) +Process: 3 I/O blocked... (2000 0 1096 1096) +Process: 3 registered... (2000 0 1096 1096) +Process: 3 I/O blocked... (2000 0 1097 1097) +Process: 3 registered... (2000 0 1097 1097) +Process: 3 I/O blocked... (2000 0 1098 1098) +Process: 3 registered... (2000 0 1098 1098) +Process: 3 I/O blocked... (2000 0 1099 1099) +Process: 3 registered... (2000 0 1099 1099) +Process: 3 I/O blocked... (2000 0 1100 1100) +Process: 3 registered... (2000 0 1100 1100) +Process: 3 I/O blocked... (2000 0 1101 1101) +Process: 3 registered... (2000 0 1101 1101) +Process: 3 I/O blocked... (2000 0 1102 1102) +Process: 3 registered... (2000 0 1102 1102) +Process: 3 I/O blocked... (2000 0 1103 1103) +Process: 3 registered... (2000 0 1103 1103) +Process: 3 I/O blocked... (2000 0 1104 1104) +Process: 3 registered... (2000 0 1104 1104) +Process: 3 I/O blocked... (2000 0 1105 1105) +Process: 3 registered... (2000 0 1105 1105) +Process: 3 I/O blocked... (2000 0 1106 1106) +Process: 3 registered... (2000 0 1106 1106) +Process: 3 I/O blocked... (2000 0 1107 1107) +Process: 3 registered... (2000 0 1107 1107) +Process: 3 I/O blocked... (2000 0 1108 1108) +Process: 3 registered... (2000 0 1108 1108) +Process: 3 I/O blocked... (2000 0 1109 1109) +Process: 3 registered... (2000 0 1109 1109) +Process: 3 I/O blocked... (2000 0 1110 1110) +Process: 3 registered... (2000 0 1110 1110) +Process: 3 I/O blocked... (2000 0 1111 1111) +Process: 3 registered... (2000 0 1111 1111) +Process: 3 I/O blocked... (2000 0 1112 1112) +Process: 3 registered... (2000 0 1112 1112) +Process: 3 I/O blocked... (2000 0 1113 1113) +Process: 3 registered... (2000 0 1113 1113) +Process: 3 I/O blocked... (2000 0 1114 1114) +Process: 3 registered... (2000 0 1114 1114) +Process: 3 I/O blocked... (2000 0 1115 1115) +Process: 3 registered... (2000 0 1115 1115) +Process: 3 I/O blocked... (2000 0 1116 1116) +Process: 3 registered... (2000 0 1116 1116) +Process: 3 I/O blocked... (2000 0 1117 1117) +Process: 3 registered... (2000 0 1117 1117) +Process: 3 I/O blocked... (2000 0 1118 1118) +Process: 3 registered... (2000 0 1118 1118) +Process: 3 I/O blocked... (2000 0 1119 1119) +Process: 3 registered... (2000 0 1119 1119) +Process: 3 I/O blocked... (2000 0 1120 1120) +Process: 3 registered... (2000 0 1120 1120) +Process: 3 I/O blocked... (2000 0 1121 1121) +Process: 3 registered... (2000 0 1121 1121) +Process: 3 I/O blocked... (2000 0 1122 1122) +Process: 3 registered... (2000 0 1122 1122) +Process: 3 I/O blocked... (2000 0 1123 1123) +Process: 3 registered... (2000 0 1123 1123) +Process: 3 I/O blocked... (2000 0 1124 1124) +Process: 3 registered... (2000 0 1124 1124) +Process: 3 I/O blocked... (2000 0 1125 1125) +Process: 3 registered... (2000 0 1125 1125) +Process: 3 I/O blocked... (2000 0 1126 1126) +Process: 3 registered... (2000 0 1126 1126) +Process: 3 I/O blocked... (2000 0 1127 1127) +Process: 3 registered... (2000 0 1127 1127) +Process: 3 I/O blocked... (2000 0 1128 1128) +Process: 3 registered... (2000 0 1128 1128) +Process: 3 I/O blocked... (2000 0 1129 1129) +Process: 3 registered... (2000 0 1129 1129) +Process: 3 I/O blocked... (2000 0 1130 1130) +Process: 3 registered... (2000 0 1130 1130) +Process: 3 I/O blocked... (2000 0 1131 1131) +Process: 3 registered... (2000 0 1131 1131) +Process: 3 I/O blocked... (2000 0 1132 1132) +Process: 3 registered... (2000 0 1132 1132) +Process: 3 I/O blocked... (2000 0 1133 1133) +Process: 3 registered... (2000 0 1133 1133) +Process: 3 I/O blocked... (2000 0 1134 1134) +Process: 3 registered... (2000 0 1134 1134) +Process: 3 I/O blocked... (2000 0 1135 1135) +Process: 3 registered... (2000 0 1135 1135) +Process: 3 I/O blocked... (2000 0 1136 1136) +Process: 3 registered... (2000 0 1136 1136) +Process: 3 I/O blocked... (2000 0 1137 1137) +Process: 3 registered... (2000 0 1137 1137) +Process: 3 I/O blocked... (2000 0 1138 1138) +Process: 3 registered... (2000 0 1138 1138) +Process: 3 I/O blocked... (2000 0 1139 1139) +Process: 3 registered... (2000 0 1139 1139) +Process: 3 I/O blocked... (2000 0 1140 1140) +Process: 3 registered... (2000 0 1140 1140) +Process: 3 I/O blocked... (2000 0 1141 1141) +Process: 3 registered... (2000 0 1141 1141) +Process: 3 I/O blocked... (2000 0 1142 1142) +Process: 3 registered... (2000 0 1142 1142) +Process: 3 I/O blocked... (2000 0 1143 1143) +Process: 3 registered... (2000 0 1143 1143) +Process: 3 I/O blocked... (2000 0 1144 1144) +Process: 3 registered... (2000 0 1144 1144) +Process: 3 I/O blocked... (2000 0 1145 1145) +Process: 3 registered... (2000 0 1145 1145) +Process: 3 I/O blocked... (2000 0 1146 1146) +Process: 3 registered... (2000 0 1146 1146) +Process: 3 I/O blocked... (2000 0 1147 1147) +Process: 3 registered... (2000 0 1147 1147) +Process: 3 I/O blocked... (2000 0 1148 1148) +Process: 3 registered... (2000 0 1148 1148) +Process: 3 I/O blocked... (2000 0 1149 1149) +Process: 3 registered... (2000 0 1149 1149) +Process: 3 I/O blocked... (2000 0 1150 1150) +Process: 3 registered... (2000 0 1150 1150) +Process: 3 I/O blocked... (2000 0 1151 1151) +Process: 3 registered... (2000 0 1151 1151) +Process: 3 I/O blocked... (2000 0 1152 1152) +Process: 3 registered... (2000 0 1152 1152) +Process: 3 I/O blocked... (2000 0 1153 1153) +Process: 3 registered... (2000 0 1153 1153) +Process: 3 I/O blocked... (2000 0 1154 1154) +Process: 3 registered... (2000 0 1154 1154) +Process: 3 I/O blocked... (2000 0 1155 1155) +Process: 3 registered... (2000 0 1155 1155) +Process: 3 I/O blocked... (2000 0 1156 1156) +Process: 3 registered... (2000 0 1156 1156) +Process: 3 I/O blocked... (2000 0 1157 1157) +Process: 3 registered... (2000 0 1157 1157) +Process: 3 I/O blocked... (2000 0 1158 1158) +Process: 3 registered... (2000 0 1158 1158) +Process: 3 I/O blocked... (2000 0 1159 1159) +Process: 3 registered... (2000 0 1159 1159) +Process: 3 I/O blocked... (2000 0 1160 1160) +Process: 3 registered... (2000 0 1160 1160) +Process: 3 I/O blocked... (2000 0 1161 1161) +Process: 3 registered... (2000 0 1161 1161) +Process: 3 I/O blocked... (2000 0 1162 1162) +Process: 3 registered... (2000 0 1162 1162) +Process: 3 I/O blocked... (2000 0 1163 1163) +Process: 3 registered... (2000 0 1163 1163) +Process: 3 I/O blocked... (2000 0 1164 1164) +Process: 3 registered... (2000 0 1164 1164) +Process: 3 I/O blocked... (2000 0 1165 1165) +Process: 3 registered... (2000 0 1165 1165) +Process: 3 I/O blocked... (2000 0 1166 1166) +Process: 3 registered... (2000 0 1166 1166) +Process: 3 I/O blocked... (2000 0 1167 1167) +Process: 3 registered... (2000 0 1167 1167) +Process: 3 I/O blocked... (2000 0 1168 1168) +Process: 3 registered... (2000 0 1168 1168) +Process: 3 I/O blocked... (2000 0 1169 1169) +Process: 3 registered... (2000 0 1169 1169) +Process: 3 I/O blocked... (2000 0 1170 1170) +Process: 3 registered... (2000 0 1170 1170) +Process: 3 I/O blocked... (2000 0 1171 1171) +Process: 3 registered... (2000 0 1171 1171) +Process: 3 I/O blocked... (2000 0 1172 1172) +Process: 3 registered... (2000 0 1172 1172) +Process: 3 I/O blocked... (2000 0 1173 1173) +Process: 3 registered... (2000 0 1173 1173) +Process: 3 I/O blocked... (2000 0 1174 1174) +Process: 3 registered... (2000 0 1174 1174) +Process: 3 I/O blocked... (2000 0 1175 1175) +Process: 3 registered... (2000 0 1175 1175) +Process: 3 I/O blocked... (2000 0 1176 1176) +Process: 3 registered... (2000 0 1176 1176) +Process: 3 I/O blocked... (2000 0 1177 1177) +Process: 3 registered... (2000 0 1177 1177) +Process: 3 I/O blocked... (2000 0 1178 1178) +Process: 3 registered... (2000 0 1178 1178) +Process: 3 I/O blocked... (2000 0 1179 1179) +Process: 3 registered... (2000 0 1179 1179) +Process: 3 I/O blocked... (2000 0 1180 1180) +Process: 3 registered... (2000 0 1180 1180) +Process: 3 I/O blocked... (2000 0 1181 1181) +Process: 3 registered... (2000 0 1181 1181) +Process: 3 I/O blocked... (2000 0 1182 1182) +Process: 3 registered... (2000 0 1182 1182) +Process: 3 I/O blocked... (2000 0 1183 1183) +Process: 3 registered... (2000 0 1183 1183) +Process: 3 I/O blocked... (2000 0 1184 1184) +Process: 3 registered... (2000 0 1184 1184) +Process: 3 I/O blocked... (2000 0 1185 1185) +Process: 3 registered... (2000 0 1185 1185) +Process: 3 I/O blocked... (2000 0 1186 1186) +Process: 3 registered... (2000 0 1186 1186) +Process: 3 I/O blocked... (2000 0 1187 1187) +Process: 3 registered... (2000 0 1187 1187) +Process: 3 I/O blocked... (2000 0 1188 1188) +Process: 3 registered... (2000 0 1188 1188) +Process: 3 I/O blocked... (2000 0 1189 1189) +Process: 3 registered... (2000 0 1189 1189) +Process: 3 I/O blocked... (2000 0 1190 1190) +Process: 3 registered... (2000 0 1190 1190) +Process: 3 I/O blocked... (2000 0 1191 1191) +Process: 3 registered... (2000 0 1191 1191) +Process: 3 I/O blocked... (2000 0 1192 1192) +Process: 3 registered... (2000 0 1192 1192) +Process: 3 I/O blocked... (2000 0 1193 1193) +Process: 3 registered... (2000 0 1193 1193) +Process: 3 I/O blocked... (2000 0 1194 1194) +Process: 3 registered... (2000 0 1194 1194) +Process: 3 I/O blocked... (2000 0 1195 1195) +Process: 3 registered... (2000 0 1195 1195) +Process: 3 I/O blocked... (2000 0 1196 1196) +Process: 3 registered... (2000 0 1196 1196) +Process: 3 I/O blocked... (2000 0 1197 1197) +Process: 3 registered... (2000 0 1197 1197) +Process: 3 I/O blocked... (2000 0 1198 1198) +Process: 3 registered... (2000 0 1198 1198) +Process: 3 I/O blocked... (2000 0 1199 1199) +Process: 3 registered... (2000 0 1199 1199) +Process: 3 I/O blocked... (2000 0 1200 1200) +Process: 3 registered... (2000 0 1200 1200) +Process: 3 I/O blocked... (2000 0 1201 1201) +Process: 3 registered... (2000 0 1201 1201) +Process: 3 I/O blocked... (2000 0 1202 1202) +Process: 3 registered... (2000 0 1202 1202) +Process: 3 I/O blocked... (2000 0 1203 1203) +Process: 3 registered... (2000 0 1203 1203) +Process: 3 I/O blocked... (2000 0 1204 1204) +Process: 3 registered... (2000 0 1204 1204) +Process: 3 I/O blocked... (2000 0 1205 1205) +Process: 3 registered... (2000 0 1205 1205) +Process: 3 I/O blocked... (2000 0 1206 1206) +Process: 3 registered... (2000 0 1206 1206) +Process: 3 I/O blocked... (2000 0 1207 1207) +Process: 3 registered... (2000 0 1207 1207) +Process: 3 I/O blocked... (2000 0 1208 1208) +Process: 3 registered... (2000 0 1208 1208) +Process: 3 I/O blocked... (2000 0 1209 1209) +Process: 3 registered... (2000 0 1209 1209) +Process: 3 I/O blocked... (2000 0 1210 1210) +Process: 3 registered... (2000 0 1210 1210) +Process: 3 I/O blocked... (2000 0 1211 1211) +Process: 3 registered... (2000 0 1211 1211) +Process: 3 I/O blocked... (2000 0 1212 1212) +Process: 3 registered... (2000 0 1212 1212) +Process: 3 I/O blocked... (2000 0 1213 1213) +Process: 3 registered... (2000 0 1213 1213) +Process: 3 I/O blocked... (2000 0 1214 1214) +Process: 3 registered... (2000 0 1214 1214) +Process: 3 I/O blocked... (2000 0 1215 1215) +Process: 3 registered... (2000 0 1215 1215) +Process: 3 I/O blocked... (2000 0 1216 1216) +Process: 3 registered... (2000 0 1216 1216) +Process: 3 I/O blocked... (2000 0 1217 1217) +Process: 3 registered... (2000 0 1217 1217) +Process: 3 I/O blocked... (2000 0 1218 1218) +Process: 3 registered... (2000 0 1218 1218) +Process: 3 I/O blocked... (2000 0 1219 1219) +Process: 3 registered... (2000 0 1219 1219) +Process: 3 I/O blocked... (2000 0 1220 1220) +Process: 3 registered... (2000 0 1220 1220) +Process: 3 I/O blocked... (2000 0 1221 1221) +Process: 3 registered... (2000 0 1221 1221) +Process: 3 I/O blocked... (2000 0 1222 1222) +Process: 3 registered... (2000 0 1222 1222) +Process: 3 I/O blocked... (2000 0 1223 1223) +Process: 3 registered... (2000 0 1223 1223) +Process: 3 I/O blocked... (2000 0 1224 1224) +Process: 3 registered... (2000 0 1224 1224) +Process: 3 I/O blocked... (2000 0 1225 1225) +Process: 3 registered... (2000 0 1225 1225) +Process: 3 I/O blocked... (2000 0 1226 1226) +Process: 3 registered... (2000 0 1226 1226) +Process: 3 I/O blocked... (2000 0 1227 1227) +Process: 3 registered... (2000 0 1227 1227) +Process: 3 I/O blocked... (2000 0 1228 1228) +Process: 3 registered... (2000 0 1228 1228) +Process: 3 I/O blocked... (2000 0 1229 1229) +Process: 3 registered... (2000 0 1229 1229) +Process: 3 I/O blocked... (2000 0 1230 1230) +Process: 3 registered... (2000 0 1230 1230) +Process: 3 I/O blocked... (2000 0 1231 1231) +Process: 3 registered... (2000 0 1231 1231) +Process: 3 I/O blocked... (2000 0 1232 1232) +Process: 3 registered... (2000 0 1232 1232) +Process: 3 I/O blocked... (2000 0 1233 1233) +Process: 3 registered... (2000 0 1233 1233) +Process: 3 I/O blocked... (2000 0 1234 1234) +Process: 3 registered... (2000 0 1234 1234) +Process: 3 I/O blocked... (2000 0 1235 1235) +Process: 3 registered... (2000 0 1235 1235) +Process: 3 I/O blocked... (2000 0 1236 1236) +Process: 3 registered... (2000 0 1236 1236) +Process: 3 I/O blocked... (2000 0 1237 1237) +Process: 3 registered... (2000 0 1237 1237) +Process: 3 I/O blocked... (2000 0 1238 1238) +Process: 3 registered... (2000 0 1238 1238) +Process: 3 I/O blocked... (2000 0 1239 1239) +Process: 3 registered... (2000 0 1239 1239) +Process: 3 I/O blocked... (2000 0 1240 1240) +Process: 3 registered... (2000 0 1240 1240) +Process: 3 I/O blocked... (2000 0 1241 1241) +Process: 3 registered... (2000 0 1241 1241) +Process: 3 I/O blocked... (2000 0 1242 1242) +Process: 3 registered... (2000 0 1242 1242) +Process: 3 I/O blocked... (2000 0 1243 1243) +Process: 3 registered... (2000 0 1243 1243) +Process: 3 I/O blocked... (2000 0 1244 1244) +Process: 3 registered... (2000 0 1244 1244) +Process: 3 I/O blocked... (2000 0 1245 1245) +Process: 3 registered... (2000 0 1245 1245) +Process: 3 I/O blocked... (2000 0 1246 1246) +Process: 3 registered... (2000 0 1246 1246) +Process: 3 I/O blocked... (2000 0 1247 1247) +Process: 3 registered... (2000 0 1247 1247) +Process: 3 I/O blocked... (2000 0 1248 1248) +Process: 3 registered... (2000 0 1248 1248) +Process: 3 I/O blocked... (2000 0 1249 1249) +Process: 3 registered... (2000 0 1249 1249) +Process: 3 I/O blocked... (2000 0 1250 1250) +Process: 3 registered... (2000 0 1250 1250) +Process: 3 I/O blocked... (2000 0 1251 1251) +Process: 3 registered... (2000 0 1251 1251) +Process: 3 I/O blocked... (2000 0 1252 1252) +Process: 3 registered... (2000 0 1252 1252) +Process: 3 I/O blocked... (2000 0 1253 1253) +Process: 3 registered... (2000 0 1253 1253) +Process: 3 I/O blocked... (2000 0 1254 1254) +Process: 3 registered... (2000 0 1254 1254) +Process: 3 I/O blocked... (2000 0 1255 1255) +Process: 3 registered... (2000 0 1255 1255) +Process: 3 I/O blocked... (2000 0 1256 1256) +Process: 3 registered... (2000 0 1256 1256) +Process: 3 I/O blocked... (2000 0 1257 1257) +Process: 3 registered... (2000 0 1257 1257) +Process: 3 I/O blocked... (2000 0 1258 1258) +Process: 3 registered... (2000 0 1258 1258) +Process: 3 I/O blocked... (2000 0 1259 1259) +Process: 3 registered... (2000 0 1259 1259) +Process: 3 I/O blocked... (2000 0 1260 1260) +Process: 3 registered... (2000 0 1260 1260) +Process: 3 I/O blocked... (2000 0 1261 1261) +Process: 3 registered... (2000 0 1261 1261) +Process: 3 I/O blocked... (2000 0 1262 1262) +Process: 3 registered... (2000 0 1262 1262) +Process: 3 I/O blocked... (2000 0 1263 1263) +Process: 3 registered... (2000 0 1263 1263) +Process: 3 I/O blocked... (2000 0 1264 1264) +Process: 3 registered... (2000 0 1264 1264) +Process: 3 I/O blocked... (2000 0 1265 1265) +Process: 3 registered... (2000 0 1265 1265) +Process: 3 I/O blocked... (2000 0 1266 1266) +Process: 3 registered... (2000 0 1266 1266) +Process: 3 I/O blocked... (2000 0 1267 1267) +Process: 3 registered... (2000 0 1267 1267) +Process: 3 I/O blocked... (2000 0 1268 1268) +Process: 3 registered... (2000 0 1268 1268) +Process: 3 I/O blocked... (2000 0 1269 1269) +Process: 3 registered... (2000 0 1269 1269) +Process: 3 I/O blocked... (2000 0 1270 1270) +Process: 3 registered... (2000 0 1270 1270) +Process: 3 I/O blocked... (2000 0 1271 1271) +Process: 3 registered... (2000 0 1271 1271) +Process: 3 I/O blocked... (2000 0 1272 1272) +Process: 3 registered... (2000 0 1272 1272) +Process: 3 I/O blocked... (2000 0 1273 1273) +Process: 3 registered... (2000 0 1273 1273) +Process: 3 I/O blocked... (2000 0 1274 1274) +Process: 3 registered... (2000 0 1274 1274) +Process: 3 I/O blocked... (2000 0 1275 1275) +Process: 3 registered... (2000 0 1275 1275) +Process: 3 I/O blocked... (2000 0 1276 1276) +Process: 3 registered... (2000 0 1276 1276) +Process: 3 I/O blocked... (2000 0 1277 1277) +Process: 3 registered... (2000 0 1277 1277) +Process: 3 I/O blocked... (2000 0 1278 1278) +Process: 3 registered... (2000 0 1278 1278) +Process: 3 I/O blocked... (2000 0 1279 1279) +Process: 3 registered... (2000 0 1279 1279) +Process: 3 I/O blocked... (2000 0 1280 1280) +Process: 3 registered... (2000 0 1280 1280) +Process: 3 I/O blocked... (2000 0 1281 1281) +Process: 3 registered... (2000 0 1281 1281) +Process: 3 I/O blocked... (2000 0 1282 1282) +Process: 3 registered... (2000 0 1282 1282) +Process: 3 I/O blocked... (2000 0 1283 1283) +Process: 3 registered... (2000 0 1283 1283) +Process: 3 I/O blocked... (2000 0 1284 1284) +Process: 3 registered... (2000 0 1284 1284) +Process: 3 I/O blocked... (2000 0 1285 1285) +Process: 3 registered... (2000 0 1285 1285) +Process: 3 I/O blocked... (2000 0 1286 1286) +Process: 3 registered... (2000 0 1286 1286) +Process: 3 I/O blocked... (2000 0 1287 1287) +Process: 3 registered... (2000 0 1287 1287) +Process: 3 I/O blocked... (2000 0 1288 1288) +Process: 3 registered... (2000 0 1288 1288) +Process: 3 I/O blocked... (2000 0 1289 1289) +Process: 3 registered... (2000 0 1289 1289) +Process: 3 I/O blocked... (2000 0 1290 1290) +Process: 3 registered... (2000 0 1290 1290) +Process: 3 I/O blocked... (2000 0 1291 1291) +Process: 3 registered... (2000 0 1291 1291) +Process: 3 I/O blocked... (2000 0 1292 1292) +Process: 3 registered... (2000 0 1292 1292) +Process: 3 I/O blocked... (2000 0 1293 1293) +Process: 3 registered... (2000 0 1293 1293) +Process: 3 I/O blocked... (2000 0 1294 1294) +Process: 3 registered... (2000 0 1294 1294) +Process: 3 I/O blocked... (2000 0 1295 1295) +Process: 3 registered... (2000 0 1295 1295) +Process: 3 I/O blocked... (2000 0 1296 1296) +Process: 3 registered... (2000 0 1296 1296) +Process: 3 I/O blocked... (2000 0 1297 1297) +Process: 3 registered... (2000 0 1297 1297) +Process: 3 I/O blocked... (2000 0 1298 1298) +Process: 3 registered... (2000 0 1298 1298) +Process: 3 I/O blocked... (2000 0 1299 1299) +Process: 3 registered... (2000 0 1299 1299) +Process: 3 I/O blocked... (2000 0 1300 1300) +Process: 3 registered... (2000 0 1300 1300) +Process: 3 I/O blocked... (2000 0 1301 1301) +Process: 3 registered... (2000 0 1301 1301) +Process: 3 I/O blocked... (2000 0 1302 1302) +Process: 3 registered... (2000 0 1302 1302) +Process: 3 I/O blocked... (2000 0 1303 1303) +Process: 3 registered... (2000 0 1303 1303) +Process: 3 I/O blocked... (2000 0 1304 1304) +Process: 3 registered... (2000 0 1304 1304) +Process: 3 I/O blocked... (2000 0 1305 1305) +Process: 3 registered... (2000 0 1305 1305) +Process: 3 I/O blocked... (2000 0 1306 1306) +Process: 3 registered... (2000 0 1306 1306) +Process: 3 I/O blocked... (2000 0 1307 1307) +Process: 3 registered... (2000 0 1307 1307) +Process: 3 I/O blocked... (2000 0 1308 1308) +Process: 3 registered... (2000 0 1308 1308) +Process: 3 I/O blocked... (2000 0 1309 1309) +Process: 3 registered... (2000 0 1309 1309) +Process: 3 I/O blocked... (2000 0 1310 1310) +Process: 3 registered... (2000 0 1310 1310) +Process: 3 I/O blocked... (2000 0 1311 1311) +Process: 3 registered... (2000 0 1311 1311) +Process: 3 I/O blocked... (2000 0 1312 1312) +Process: 3 registered... (2000 0 1312 1312) +Process: 3 I/O blocked... (2000 0 1313 1313) +Process: 3 registered... (2000 0 1313 1313) +Process: 3 I/O blocked... (2000 0 1314 1314) +Process: 3 registered... (2000 0 1314 1314) +Process: 3 I/O blocked... (2000 0 1315 1315) +Process: 3 registered... (2000 0 1315 1315) +Process: 3 I/O blocked... (2000 0 1316 1316) +Process: 3 registered... (2000 0 1316 1316) +Process: 3 I/O blocked... (2000 0 1317 1317) +Process: 3 registered... (2000 0 1317 1317) +Process: 3 I/O blocked... (2000 0 1318 1318) +Process: 3 registered... (2000 0 1318 1318) +Process: 3 I/O blocked... (2000 0 1319 1319) +Process: 3 registered... (2000 0 1319 1319) +Process: 3 I/O blocked... (2000 0 1320 1320) +Process: 3 registered... (2000 0 1320 1320) +Process: 3 I/O blocked... (2000 0 1321 1321) +Process: 3 registered... (2000 0 1321 1321) +Process: 3 I/O blocked... (2000 0 1322 1322) +Process: 3 registered... (2000 0 1322 1322) +Process: 3 I/O blocked... (2000 0 1323 1323) +Process: 3 registered... (2000 0 1323 1323) +Process: 3 I/O blocked... (2000 0 1324 1324) +Process: 3 registered... (2000 0 1324 1324) +Process: 3 I/O blocked... (2000 0 1325 1325) +Process: 3 registered... (2000 0 1325 1325) +Process: 3 I/O blocked... (2000 0 1326 1326) +Process: 3 registered... (2000 0 1326 1326) +Process: 3 I/O blocked... (2000 0 1327 1327) +Process: 3 registered... (2000 0 1327 1327) +Process: 3 I/O blocked... (2000 0 1328 1328) +Process: 3 registered... (2000 0 1328 1328) +Process: 3 I/O blocked... (2000 0 1329 1329) +Process: 3 registered... (2000 0 1329 1329) +Process: 3 I/O blocked... (2000 0 1330 1330) +Process: 3 registered... (2000 0 1330 1330) +Process: 3 I/O blocked... (2000 0 1331 1331) +Process: 3 registered... (2000 0 1331 1331) +Process: 3 I/O blocked... (2000 0 1332 1332) +Process: 3 registered... (2000 0 1332 1332) +Process: 3 I/O blocked... (2000 0 1333 1333) +Process: 3 registered... (2000 0 1333 1333) +Process: 3 I/O blocked... (2000 0 1334 1334) +Process: 3 registered... (2000 0 1334 1334) +Process: 3 I/O blocked... (2000 0 1335 1335) +Process: 3 registered... (2000 0 1335 1335) +Process: 3 I/O blocked... (2000 0 1336 1336) +Process: 3 registered... (2000 0 1336 1336) +Process: 3 I/O blocked... (2000 0 1337 1337) +Process: 3 registered... (2000 0 1337 1337) +Process: 3 I/O blocked... (2000 0 1338 1338) +Process: 3 registered... (2000 0 1338 1338) +Process: 3 I/O blocked... (2000 0 1339 1339) +Process: 3 registered... (2000 0 1339 1339) +Process: 3 I/O blocked... (2000 0 1340 1340) +Process: 3 registered... (2000 0 1340 1340) +Process: 3 I/O blocked... (2000 0 1341 1341) +Process: 3 registered... (2000 0 1341 1341) +Process: 3 I/O blocked... (2000 0 1342 1342) +Process: 3 registered... (2000 0 1342 1342) +Process: 3 I/O blocked... (2000 0 1343 1343) +Process: 3 registered... (2000 0 1343 1343) +Process: 3 I/O blocked... (2000 0 1344 1344) +Process: 3 registered... (2000 0 1344 1344) +Process: 3 I/O blocked... (2000 0 1345 1345) +Process: 3 registered... (2000 0 1345 1345) +Process: 3 I/O blocked... (2000 0 1346 1346) +Process: 3 registered... (2000 0 1346 1346) +Process: 3 I/O blocked... (2000 0 1347 1347) +Process: 3 registered... (2000 0 1347 1347) +Process: 3 I/O blocked... (2000 0 1348 1348) +Process: 3 registered... (2000 0 1348 1348) +Process: 3 I/O blocked... (2000 0 1349 1349) +Process: 3 registered... (2000 0 1349 1349) +Process: 3 I/O blocked... (2000 0 1350 1350) +Process: 3 registered... (2000 0 1350 1350) +Process: 3 I/O blocked... (2000 0 1351 1351) +Process: 3 registered... (2000 0 1351 1351) +Process: 3 I/O blocked... (2000 0 1352 1352) +Process: 3 registered... (2000 0 1352 1352) +Process: 3 I/O blocked... (2000 0 1353 1353) +Process: 3 registered... (2000 0 1353 1353) +Process: 3 I/O blocked... (2000 0 1354 1354) +Process: 3 registered... (2000 0 1354 1354) +Process: 3 I/O blocked... (2000 0 1355 1355) +Process: 3 registered... (2000 0 1355 1355) +Process: 3 I/O blocked... (2000 0 1356 1356) +Process: 3 registered... (2000 0 1356 1356) +Process: 3 I/O blocked... (2000 0 1357 1357) +Process: 3 registered... (2000 0 1357 1357) +Process: 3 I/O blocked... (2000 0 1358 1358) +Process: 3 registered... (2000 0 1358 1358) +Process: 3 I/O blocked... (2000 0 1359 1359) +Process: 3 registered... (2000 0 1359 1359) +Process: 3 I/O blocked... (2000 0 1360 1360) +Process: 3 registered... (2000 0 1360 1360) +Process: 3 I/O blocked... (2000 0 1361 1361) +Process: 3 registered... (2000 0 1361 1361) +Process: 3 I/O blocked... (2000 0 1362 1362) +Process: 3 registered... (2000 0 1362 1362) +Process: 3 I/O blocked... (2000 0 1363 1363) +Process: 3 registered... (2000 0 1363 1363) +Process: 3 I/O blocked... (2000 0 1364 1364) +Process: 3 registered... (2000 0 1364 1364) +Process: 3 I/O blocked... (2000 0 1365 1365) +Process: 3 registered... (2000 0 1365 1365) +Process: 3 I/O blocked... (2000 0 1366 1366) +Process: 3 registered... (2000 0 1366 1366) +Process: 3 I/O blocked... (2000 0 1367 1367) +Process: 3 registered... (2000 0 1367 1367) +Process: 3 I/O blocked... (2000 0 1368 1368) +Process: 3 registered... (2000 0 1368 1368) +Process: 3 I/O blocked... (2000 0 1369 1369) +Process: 3 registered... (2000 0 1369 1369) +Process: 3 I/O blocked... (2000 0 1370 1370) +Process: 3 registered... (2000 0 1370 1370) +Process: 3 I/O blocked... (2000 0 1371 1371) +Process: 3 registered... (2000 0 1371 1371) +Process: 3 I/O blocked... (2000 0 1372 1372) +Process: 3 registered... (2000 0 1372 1372) +Process: 3 I/O blocked... (2000 0 1373 1373) +Process: 3 registered... (2000 0 1373 1373) +Process: 3 I/O blocked... (2000 0 1374 1374) +Process: 3 registered... (2000 0 1374 1374) +Process: 3 I/O blocked... (2000 0 1375 1375) +Process: 3 registered... (2000 0 1375 1375) +Process: 3 I/O blocked... (2000 0 1376 1376) +Process: 3 registered... (2000 0 1376 1376) +Process: 3 I/O blocked... (2000 0 1377 1377) +Process: 3 registered... (2000 0 1377 1377) +Process: 3 I/O blocked... (2000 0 1378 1378) +Process: 3 registered... (2000 0 1378 1378) +Process: 3 I/O blocked... (2000 0 1379 1379) +Process: 3 registered... (2000 0 1379 1379) +Process: 3 I/O blocked... (2000 0 1380 1380) +Process: 3 registered... (2000 0 1380 1380) +Process: 3 I/O blocked... (2000 0 1381 1381) +Process: 3 registered... (2000 0 1381 1381) +Process: 3 I/O blocked... (2000 0 1382 1382) +Process: 3 registered... (2000 0 1382 1382) +Process: 3 I/O blocked... (2000 0 1383 1383) +Process: 3 registered... (2000 0 1383 1383) +Process: 3 I/O blocked... (2000 0 1384 1384) +Process: 3 registered... (2000 0 1384 1384) +Process: 3 I/O blocked... (2000 0 1385 1385) +Process: 3 registered... (2000 0 1385 1385) +Process: 3 I/O blocked... (2000 0 1386 1386) +Process: 3 registered... (2000 0 1386 1386) +Process: 3 I/O blocked... (2000 0 1387 1387) +Process: 3 registered... (2000 0 1387 1387) +Process: 3 I/O blocked... (2000 0 1388 1388) +Process: 3 registered... (2000 0 1388 1388) +Process: 3 I/O blocked... (2000 0 1389 1389) +Process: 3 registered... (2000 0 1389 1389) +Process: 3 I/O blocked... (2000 0 1390 1390) +Process: 3 registered... (2000 0 1390 1390) +Process: 3 I/O blocked... (2000 0 1391 1391) +Process: 3 registered... (2000 0 1391 1391) +Process: 3 I/O blocked... (2000 0 1392 1392) +Process: 3 registered... (2000 0 1392 1392) +Process: 3 I/O blocked... (2000 0 1393 1393) +Process: 3 registered... (2000 0 1393 1393) +Process: 3 I/O blocked... (2000 0 1394 1394) +Process: 3 registered... (2000 0 1394 1394) +Process: 3 I/O blocked... (2000 0 1395 1395) +Process: 3 registered... (2000 0 1395 1395) +Process: 3 I/O blocked... (2000 0 1396 1396) +Process: 3 registered... (2000 0 1396 1396) +Process: 3 I/O blocked... (2000 0 1397 1397) +Process: 3 registered... (2000 0 1397 1397) +Process: 3 I/O blocked... (2000 0 1398 1398) +Process: 3 registered... (2000 0 1398 1398) +Process: 3 I/O blocked... (2000 0 1399 1399) +Process: 3 registered... (2000 0 1399 1399) +Process: 3 I/O blocked... (2000 0 1400 1400) +Process: 3 registered... (2000 0 1400 1400) +Process: 3 I/O blocked... (2000 0 1401 1401) +Process: 3 registered... (2000 0 1401 1401) +Process: 3 I/O blocked... (2000 0 1402 1402) +Process: 3 registered... (2000 0 1402 1402) +Process: 3 I/O blocked... (2000 0 1403 1403) +Process: 3 registered... (2000 0 1403 1403) +Process: 3 I/O blocked... (2000 0 1404 1404) +Process: 3 registered... (2000 0 1404 1404) +Process: 3 I/O blocked... (2000 0 1405 1405) +Process: 3 registered... (2000 0 1405 1405) +Process: 3 I/O blocked... (2000 0 1406 1406) +Process: 3 registered... (2000 0 1406 1406) +Process: 3 I/O blocked... (2000 0 1407 1407) +Process: 3 registered... (2000 0 1407 1407) +Process: 3 I/O blocked... (2000 0 1408 1408) +Process: 3 registered... (2000 0 1408 1408) +Process: 3 I/O blocked... (2000 0 1409 1409) +Process: 3 registered... (2000 0 1409 1409) +Process: 3 I/O blocked... (2000 0 1410 1410) +Process: 3 registered... (2000 0 1410 1410) +Process: 3 I/O blocked... (2000 0 1411 1411) +Process: 3 registered... (2000 0 1411 1411) +Process: 3 I/O blocked... (2000 0 1412 1412) +Process: 3 registered... (2000 0 1412 1412) +Process: 3 I/O blocked... (2000 0 1413 1413) +Process: 3 registered... (2000 0 1413 1413) +Process: 3 I/O blocked... (2000 0 1414 1414) +Process: 3 registered... (2000 0 1414 1414) +Process: 3 I/O blocked... (2000 0 1415 1415) +Process: 3 registered... (2000 0 1415 1415) +Process: 3 I/O blocked... (2000 0 1416 1416) +Process: 3 registered... (2000 0 1416 1416) +Process: 3 I/O blocked... (2000 0 1417 1417) +Process: 3 registered... (2000 0 1417 1417) +Process: 3 I/O blocked... (2000 0 1418 1418) +Process: 3 registered... (2000 0 1418 1418) +Process: 3 I/O blocked... (2000 0 1419 1419) +Process: 3 registered... (2000 0 1419 1419) +Process: 3 I/O blocked... (2000 0 1420 1420) +Process: 3 registered... (2000 0 1420 1420) +Process: 3 I/O blocked... (2000 0 1421 1421) +Process: 3 registered... (2000 0 1421 1421) +Process: 3 I/O blocked... (2000 0 1422 1422) +Process: 3 registered... (2000 0 1422 1422) +Process: 3 I/O blocked... (2000 0 1423 1423) +Process: 3 registered... (2000 0 1423 1423) +Process: 3 I/O blocked... (2000 0 1424 1424) +Process: 3 registered... (2000 0 1424 1424) +Process: 3 I/O blocked... (2000 0 1425 1425) +Process: 3 registered... (2000 0 1425 1425) +Process: 3 I/O blocked... (2000 0 1426 1426) +Process: 3 registered... (2000 0 1426 1426) +Process: 3 I/O blocked... (2000 0 1427 1427) +Process: 3 registered... (2000 0 1427 1427) +Process: 3 I/O blocked... (2000 0 1428 1428) +Process: 3 registered... (2000 0 1428 1428) +Process: 3 I/O blocked... (2000 0 1429 1429) +Process: 3 registered... (2000 0 1429 1429) +Process: 3 I/O blocked... (2000 0 1430 1430) +Process: 3 registered... (2000 0 1430 1430) +Process: 3 I/O blocked... (2000 0 1431 1431) +Process: 3 registered... (2000 0 1431 1431) +Process: 3 I/O blocked... (2000 0 1432 1432) +Process: 3 registered... (2000 0 1432 1432) +Process: 3 I/O blocked... (2000 0 1433 1433) +Process: 3 registered... (2000 0 1433 1433) +Process: 3 I/O blocked... (2000 0 1434 1434) +Process: 3 registered... (2000 0 1434 1434) +Process: 3 I/O blocked... (2000 0 1435 1435) +Process: 3 registered... (2000 0 1435 1435) +Process: 3 I/O blocked... (2000 0 1436 1436) +Process: 3 registered... (2000 0 1436 1436) +Process: 3 I/O blocked... (2000 0 1437 1437) +Process: 3 registered... (2000 0 1437 1437) +Process: 3 I/O blocked... (2000 0 1438 1438) +Process: 3 registered... (2000 0 1438 1438) +Process: 3 I/O blocked... (2000 0 1439 1439) +Process: 3 registered... (2000 0 1439 1439) +Process: 3 I/O blocked... (2000 0 1440 1440) +Process: 3 registered... (2000 0 1440 1440) +Process: 3 I/O blocked... (2000 0 1441 1441) +Process: 3 registered... (2000 0 1441 1441) +Process: 3 I/O blocked... (2000 0 1442 1442) +Process: 3 registered... (2000 0 1442 1442) +Process: 3 I/O blocked... (2000 0 1443 1443) +Process: 3 registered... (2000 0 1443 1443) +Process: 3 I/O blocked... (2000 0 1444 1444) +Process: 3 registered... (2000 0 1444 1444) +Process: 3 I/O blocked... (2000 0 1445 1445) +Process: 3 registered... (2000 0 1445 1445) +Process: 3 I/O blocked... (2000 0 1446 1446) +Process: 3 registered... (2000 0 1446 1446) +Process: 3 I/O blocked... (2000 0 1447 1447) +Process: 3 registered... (2000 0 1447 1447) +Process: 3 I/O blocked... (2000 0 1448 1448) +Process: 3 registered... (2000 0 1448 1448) +Process: 3 I/O blocked... (2000 0 1449 1449) +Process: 3 registered... (2000 0 1449 1449) +Process: 3 I/O blocked... (2000 0 1450 1450) +Process: 3 registered... (2000 0 1450 1450) +Process: 3 I/O blocked... (2000 0 1451 1451) +Process: 3 registered... (2000 0 1451 1451) +Process: 3 I/O blocked... (2000 0 1452 1452) +Process: 3 registered... (2000 0 1452 1452) +Process: 3 I/O blocked... (2000 0 1453 1453) +Process: 3 registered... (2000 0 1453 1453) +Process: 3 I/O blocked... (2000 0 1454 1454) +Process: 3 registered... (2000 0 1454 1454) +Process: 3 I/O blocked... (2000 0 1455 1455) +Process: 3 registered... (2000 0 1455 1455) +Process: 3 I/O blocked... (2000 0 1456 1456) +Process: 3 registered... (2000 0 1456 1456) +Process: 3 I/O blocked... (2000 0 1457 1457) +Process: 3 registered... (2000 0 1457 1457) +Process: 3 I/O blocked... (2000 0 1458 1458) +Process: 3 registered... (2000 0 1458 1458) +Process: 3 I/O blocked... (2000 0 1459 1459) +Process: 3 registered... (2000 0 1459 1459) +Process: 3 I/O blocked... (2000 0 1460 1460) +Process: 3 registered... (2000 0 1460 1460) +Process: 3 I/O blocked... (2000 0 1461 1461) +Process: 3 registered... (2000 0 1461 1461) +Process: 3 I/O blocked... (2000 0 1462 1462) +Process: 3 registered... (2000 0 1462 1462) +Process: 3 I/O blocked... (2000 0 1463 1463) +Process: 3 registered... (2000 0 1463 1463) +Process: 3 I/O blocked... (2000 0 1464 1464) +Process: 3 registered... (2000 0 1464 1464) +Process: 3 I/O blocked... (2000 0 1465 1465) +Process: 3 registered... (2000 0 1465 1465) +Process: 3 I/O blocked... (2000 0 1466 1466) +Process: 3 registered... (2000 0 1466 1466) +Process: 3 I/O blocked... (2000 0 1467 1467) +Process: 3 registered... (2000 0 1467 1467) +Process: 3 I/O blocked... (2000 0 1468 1468) +Process: 3 registered... (2000 0 1468 1468) +Process: 3 I/O blocked... (2000 0 1469 1469) +Process: 3 registered... (2000 0 1469 1469) +Process: 3 I/O blocked... (2000 0 1470 1470) +Process: 3 registered... (2000 0 1470 1470) +Process: 3 I/O blocked... (2000 0 1471 1471) +Process: 3 registered... (2000 0 1471 1471) +Process: 3 I/O blocked... (2000 0 1472 1472) +Process: 3 registered... (2000 0 1472 1472) +Process: 3 I/O blocked... (2000 0 1473 1473) +Process: 3 registered... (2000 0 1473 1473) +Process: 3 I/O blocked... (2000 0 1474 1474) +Process: 3 registered... (2000 0 1474 1474) +Process: 3 I/O blocked... (2000 0 1475 1475) +Process: 3 registered... (2000 0 1475 1475) +Process: 3 I/O blocked... (2000 0 1476 1476) +Process: 3 registered... (2000 0 1476 1476) +Process: 3 I/O blocked... (2000 0 1477 1477) +Process: 3 registered... (2000 0 1477 1477) +Process: 3 I/O blocked... (2000 0 1478 1478) +Process: 3 registered... (2000 0 1478 1478) +Process: 3 I/O blocked... (2000 0 1479 1479) +Process: 3 registered... (2000 0 1479 1479) +Process: 3 I/O blocked... (2000 0 1480 1480) +Process: 3 registered... (2000 0 1480 1480) +Process: 3 I/O blocked... (2000 0 1481 1481) +Process: 3 registered... (2000 0 1481 1481) +Process: 3 I/O blocked... (2000 0 1482 1482) +Process: 3 registered... (2000 0 1482 1482) +Process: 3 I/O blocked... (2000 0 1483 1483) +Process: 3 registered... (2000 0 1483 1483) +Process: 3 I/O blocked... (2000 0 1484 1484) +Process: 3 registered... (2000 0 1484 1484) +Process: 3 I/O blocked... (2000 0 1485 1485) +Process: 3 registered... (2000 0 1485 1485) +Process: 3 I/O blocked... (2000 0 1486 1486) +Process: 3 registered... (2000 0 1486 1486) +Process: 3 I/O blocked... (2000 0 1487 1487) +Process: 3 registered... (2000 0 1487 1487) +Process: 3 I/O blocked... (2000 0 1488 1488) +Process: 3 registered... (2000 0 1488 1488) +Process: 3 I/O blocked... (2000 0 1489 1489) +Process: 3 registered... (2000 0 1489 1489) +Process: 3 I/O blocked... (2000 0 1490 1490) +Process: 3 registered... (2000 0 1490 1490) +Process: 3 I/O blocked... (2000 0 1491 1491) +Process: 3 registered... (2000 0 1491 1491) +Process: 3 I/O blocked... (2000 0 1492 1492) +Process: 3 registered... (2000 0 1492 1492) +Process: 3 I/O blocked... (2000 0 1493 1493) +Process: 3 registered... (2000 0 1493 1493) +Process: 3 I/O blocked... (2000 0 1494 1494) +Process: 3 registered... (2000 0 1494 1494) +Process: 3 I/O blocked... (2000 0 1495 1495) +Process: 3 registered... (2000 0 1495 1495) +Process: 3 I/O blocked... (2000 0 1496 1496) +Process: 3 registered... (2000 0 1496 1496) +Process: 3 I/O blocked... (2000 0 1497 1497) +Process: 3 registered... (2000 0 1497 1497) +Process: 3 I/O blocked... (2000 0 1498 1498) +Process: 3 registered... (2000 0 1498 1498) +Process: 3 I/O blocked... (2000 0 1499 1499) +Process: 3 registered... (2000 0 1499 1499) +Process: 3 I/O blocked... (2000 0 1500 1500) +Process: 3 registered... (2000 0 1500 1500) +Process: 3 I/O blocked... (2000 0 1501 1501) +Process: 3 registered... (2000 0 1501 1501) +Process: 3 I/O blocked... (2000 0 1502 1502) +Process: 3 registered... (2000 0 1502 1502) +Process: 3 I/O blocked... (2000 0 1503 1503) +Process: 3 registered... (2000 0 1503 1503) +Process: 3 I/O blocked... (2000 0 1504 1504) +Process: 3 registered... (2000 0 1504 1504) +Process: 3 I/O blocked... (2000 0 1505 1505) +Process: 3 registered... (2000 0 1505 1505) +Process: 3 I/O blocked... (2000 0 1506 1506) +Process: 3 registered... (2000 0 1506 1506) +Process: 3 I/O blocked... (2000 0 1507 1507) +Process: 3 registered... (2000 0 1507 1507) +Process: 3 I/O blocked... (2000 0 1508 1508) +Process: 3 registered... (2000 0 1508 1508) +Process: 3 I/O blocked... (2000 0 1509 1509) +Process: 3 registered... (2000 0 1509 1509) +Process: 3 I/O blocked... (2000 0 1510 1510) +Process: 3 registered... (2000 0 1510 1510) +Process: 3 I/O blocked... (2000 0 1511 1511) +Process: 3 registered... (2000 0 1511 1511) +Process: 3 I/O blocked... (2000 0 1512 1512) +Process: 3 registered... (2000 0 1512 1512) +Process: 3 I/O blocked... (2000 0 1513 1513) +Process: 3 registered... (2000 0 1513 1513) +Process: 3 I/O blocked... (2000 0 1514 1514) +Process: 3 registered... (2000 0 1514 1514) +Process: 3 I/O blocked... (2000 0 1515 1515) +Process: 3 registered... (2000 0 1515 1515) +Process: 3 I/O blocked... (2000 0 1516 1516) +Process: 3 registered... (2000 0 1516 1516) +Process: 3 I/O blocked... (2000 0 1517 1517) +Process: 3 registered... (2000 0 1517 1517) +Process: 3 I/O blocked... (2000 0 1518 1518) +Process: 3 registered... (2000 0 1518 1518) +Process: 3 I/O blocked... (2000 0 1519 1519) +Process: 3 registered... (2000 0 1519 1519) +Process: 3 I/O blocked... (2000 0 1520 1520) +Process: 3 registered... (2000 0 1520 1520) +Process: 3 I/O blocked... (2000 0 1521 1521) +Process: 3 registered... (2000 0 1521 1521) +Process: 3 I/O blocked... (2000 0 1522 1522) +Process: 3 registered... (2000 0 1522 1522) +Process: 3 I/O blocked... (2000 0 1523 1523) +Process: 3 registered... (2000 0 1523 1523) +Process: 3 I/O blocked... (2000 0 1524 1524) +Process: 3 registered... (2000 0 1524 1524) +Process: 3 I/O blocked... (2000 0 1525 1525) +Process: 3 registered... (2000 0 1525 1525) +Process: 3 I/O blocked... (2000 0 1526 1526) +Process: 3 registered... (2000 0 1526 1526) +Process: 3 I/O blocked... (2000 0 1527 1527) +Process: 3 registered... (2000 0 1527 1527) +Process: 3 I/O blocked... (2000 0 1528 1528) +Process: 3 registered... (2000 0 1528 1528) +Process: 3 I/O blocked... (2000 0 1529 1529) +Process: 3 registered... (2000 0 1529 1529) +Process: 3 I/O blocked... (2000 0 1530 1530) +Process: 3 registered... (2000 0 1530 1530) +Process: 3 I/O blocked... (2000 0 1531 1531) +Process: 3 registered... (2000 0 1531 1531) +Process: 3 I/O blocked... (2000 0 1532 1532) +Process: 3 registered... (2000 0 1532 1532) +Process: 3 I/O blocked... (2000 0 1533 1533) +Process: 3 registered... (2000 0 1533 1533) +Process: 3 I/O blocked... (2000 0 1534 1534) +Process: 3 registered... (2000 0 1534 1534) +Process: 3 I/O blocked... (2000 0 1535 1535) +Process: 3 registered... (2000 0 1535 1535) +Process: 3 I/O blocked... (2000 0 1536 1536) +Process: 3 registered... (2000 0 1536 1536) +Process: 3 I/O blocked... (2000 0 1537 1537) +Process: 3 registered... (2000 0 1537 1537) +Process: 3 I/O blocked... (2000 0 1538 1538) +Process: 3 registered... (2000 0 1538 1538) +Process: 3 I/O blocked... (2000 0 1539 1539) +Process: 3 registered... (2000 0 1539 1539) +Process: 3 I/O blocked... (2000 0 1540 1540) +Process: 3 registered... (2000 0 1540 1540) +Process: 3 I/O blocked... (2000 0 1541 1541) +Process: 3 registered... (2000 0 1541 1541) +Process: 3 I/O blocked... (2000 0 1542 1542) +Process: 3 registered... (2000 0 1542 1542) +Process: 3 I/O blocked... (2000 0 1543 1543) +Process: 3 registered... (2000 0 1543 1543) +Process: 3 I/O blocked... (2000 0 1544 1544) +Process: 3 registered... (2000 0 1544 1544) +Process: 3 I/O blocked... (2000 0 1545 1545) +Process: 3 registered... (2000 0 1545 1545) +Process: 3 I/O blocked... (2000 0 1546 1546) +Process: 3 registered... (2000 0 1546 1546) +Process: 3 I/O blocked... (2000 0 1547 1547) +Process: 3 registered... (2000 0 1547 1547) +Process: 3 I/O blocked... (2000 0 1548 1548) +Process: 3 registered... (2000 0 1548 1548) +Process: 3 I/O blocked... (2000 0 1549 1549) +Process: 3 registered... (2000 0 1549 1549) +Process: 3 I/O blocked... (2000 0 1550 1550) +Process: 3 registered... (2000 0 1550 1550) +Process: 3 I/O blocked... (2000 0 1551 1551) +Process: 3 registered... (2000 0 1551 1551) +Process: 3 I/O blocked... (2000 0 1552 1552) +Process: 3 registered... (2000 0 1552 1552) +Process: 3 I/O blocked... (2000 0 1553 1553) +Process: 3 registered... (2000 0 1553 1553) +Process: 3 I/O blocked... (2000 0 1554 1554) +Process: 3 registered... (2000 0 1554 1554) +Process: 3 I/O blocked... (2000 0 1555 1555) +Process: 3 registered... (2000 0 1555 1555) +Process: 3 I/O blocked... (2000 0 1556 1556) +Process: 3 registered... (2000 0 1556 1556) +Process: 3 I/O blocked... (2000 0 1557 1557) +Process: 3 registered... (2000 0 1557 1557) +Process: 3 I/O blocked... (2000 0 1558 1558) +Process: 3 registered... (2000 0 1558 1558) +Process: 3 I/O blocked... (2000 0 1559 1559) +Process: 3 registered... (2000 0 1559 1559) +Process: 3 I/O blocked... (2000 0 1560 1560) +Process: 3 registered... (2000 0 1560 1560) +Process: 3 I/O blocked... (2000 0 1561 1561) +Process: 3 registered... (2000 0 1561 1561) +Process: 3 I/O blocked... (2000 0 1562 1562) +Process: 3 registered... (2000 0 1562 1562) +Process: 3 I/O blocked... (2000 0 1563 1563) +Process: 3 registered... (2000 0 1563 1563) +Process: 3 I/O blocked... (2000 0 1564 1564) +Process: 3 registered... (2000 0 1564 1564) +Process: 3 I/O blocked... (2000 0 1565 1565) +Process: 3 registered... (2000 0 1565 1565) +Process: 3 I/O blocked... (2000 0 1566 1566) +Process: 3 registered... (2000 0 1566 1566) +Process: 3 I/O blocked... (2000 0 1567 1567) +Process: 3 registered... (2000 0 1567 1567) +Process: 3 I/O blocked... (2000 0 1568 1568) +Process: 3 registered... (2000 0 1568 1568) +Process: 3 I/O blocked... (2000 0 1569 1569) +Process: 3 registered... (2000 0 1569 1569) +Process: 3 I/O blocked... (2000 0 1570 1570) +Process: 3 registered... (2000 0 1570 1570) +Process: 3 I/O blocked... (2000 0 1571 1571) +Process: 3 registered... (2000 0 1571 1571) +Process: 3 I/O blocked... (2000 0 1572 1572) +Process: 3 registered... (2000 0 1572 1572) +Process: 3 I/O blocked... (2000 0 1573 1573) +Process: 3 registered... (2000 0 1573 1573) +Process: 3 I/O blocked... (2000 0 1574 1574) +Process: 3 registered... (2000 0 1574 1574) +Process: 3 I/O blocked... (2000 0 1575 1575) +Process: 3 registered... (2000 0 1575 1575) +Process: 3 I/O blocked... (2000 0 1576 1576) +Process: 3 registered... (2000 0 1576 1576) +Process: 3 I/O blocked... (2000 0 1577 1577) +Process: 3 registered... (2000 0 1577 1577) +Process: 3 I/O blocked... (2000 0 1578 1578) +Process: 3 registered... (2000 0 1578 1578) +Process: 3 I/O blocked... (2000 0 1579 1579) +Process: 3 registered... (2000 0 1579 1579) +Process: 3 I/O blocked... (2000 0 1580 1580) +Process: 3 registered... (2000 0 1580 1580) +Process: 3 I/O blocked... (2000 0 1581 1581) +Process: 3 registered... (2000 0 1581 1581) +Process: 3 I/O blocked... (2000 0 1582 1582) +Process: 3 registered... (2000 0 1582 1582) +Process: 3 I/O blocked... (2000 0 1583 1583) +Process: 3 registered... (2000 0 1583 1583) +Process: 3 I/O blocked... (2000 0 1584 1584) +Process: 3 registered... (2000 0 1584 1584) +Process: 3 I/O blocked... (2000 0 1585 1585) +Process: 3 registered... (2000 0 1585 1585) +Process: 3 I/O blocked... (2000 0 1586 1586) +Process: 3 registered... (2000 0 1586 1586) +Process: 3 I/O blocked... (2000 0 1587 1587) +Process: 3 registered... (2000 0 1587 1587) +Process: 3 I/O blocked... (2000 0 1588 1588) +Process: 3 registered... (2000 0 1588 1588) +Process: 3 I/O blocked... (2000 0 1589 1589) +Process: 3 registered... (2000 0 1589 1589) +Process: 3 I/O blocked... (2000 0 1590 1590) +Process: 3 registered... (2000 0 1590 1590) +Process: 3 I/O blocked... (2000 0 1591 1591) +Process: 3 registered... (2000 0 1591 1591) +Process: 3 I/O blocked... (2000 0 1592 1592) +Process: 3 registered... (2000 0 1592 1592) +Process: 3 I/O blocked... (2000 0 1593 1593) +Process: 3 registered... (2000 0 1593 1593) +Process: 3 I/O blocked... (2000 0 1594 1594) +Process: 3 registered... (2000 0 1594 1594) +Process: 3 I/O blocked... (2000 0 1595 1595) +Process: 3 registered... (2000 0 1595 1595) +Process: 3 I/O blocked... (2000 0 1596 1596) +Process: 3 registered... (2000 0 1596 1596) +Process: 3 I/O blocked... (2000 0 1597 1597) +Process: 3 registered... (2000 0 1597 1597) +Process: 3 I/O blocked... (2000 0 1598 1598) +Process: 3 registered... (2000 0 1598 1598) +Process: 3 I/O blocked... (2000 0 1599 1599) +Process: 3 registered... (2000 0 1599 1599) +Process: 3 I/O blocked... (2000 0 1600 1600) +Process: 3 registered... (2000 0 1600 1600) +Process: 3 I/O blocked... (2000 0 1601 1601) +Process: 3 registered... (2000 0 1601 1601) +Process: 3 I/O blocked... (2000 0 1602 1602) +Process: 3 registered... (2000 0 1602 1602) +Process: 3 I/O blocked... (2000 0 1603 1603) +Process: 3 registered... (2000 0 1603 1603) +Process: 3 I/O blocked... (2000 0 1604 1604) +Process: 3 registered... (2000 0 1604 1604) +Process: 3 I/O blocked... (2000 0 1605 1605) +Process: 3 registered... (2000 0 1605 1605) +Process: 3 I/O blocked... (2000 0 1606 1606) +Process: 3 registered... (2000 0 1606 1606) +Process: 3 I/O blocked... (2000 0 1607 1607) +Process: 3 registered... (2000 0 1607 1607) +Process: 3 I/O blocked... (2000 0 1608 1608) +Process: 3 registered... (2000 0 1608 1608) +Process: 3 I/O blocked... (2000 0 1609 1609) +Process: 3 registered... (2000 0 1609 1609) +Process: 3 I/O blocked... (2000 0 1610 1610) +Process: 3 registered... (2000 0 1610 1610) +Process: 3 I/O blocked... (2000 0 1611 1611) +Process: 3 registered... (2000 0 1611 1611) +Process: 3 I/O blocked... (2000 0 1612 1612) +Process: 3 registered... (2000 0 1612 1612) +Process: 3 I/O blocked... (2000 0 1613 1613) +Process: 3 registered... (2000 0 1613 1613) +Process: 3 I/O blocked... (2000 0 1614 1614) +Process: 3 registered... (2000 0 1614 1614) +Process: 3 I/O blocked... (2000 0 1615 1615) +Process: 3 registered... (2000 0 1615 1615) +Process: 3 I/O blocked... (2000 0 1616 1616) +Process: 3 registered... (2000 0 1616 1616) +Process: 3 I/O blocked... (2000 0 1617 1617) +Process: 3 registered... (2000 0 1617 1617) +Process: 3 I/O blocked... (2000 0 1618 1618) +Process: 3 registered... (2000 0 1618 1618) +Process: 3 I/O blocked... (2000 0 1619 1619) +Process: 3 registered... (2000 0 1619 1619) +Process: 3 I/O blocked... (2000 0 1620 1620) +Process: 3 registered... (2000 0 1620 1620) +Process: 3 I/O blocked... (2000 0 1621 1621) +Process: 3 registered... (2000 0 1621 1621) +Process: 3 I/O blocked... (2000 0 1622 1622) +Process: 3 registered... (2000 0 1622 1622) +Process: 3 I/O blocked... (2000 0 1623 1623) +Process: 3 registered... (2000 0 1623 1623) +Process: 3 I/O blocked... (2000 0 1624 1624) +Process: 3 registered... (2000 0 1624 1624) +Process: 3 I/O blocked... (2000 0 1625 1625) +Process: 3 registered... (2000 0 1625 1625) +Process: 3 I/O blocked... (2000 0 1626 1626) +Process: 3 registered... (2000 0 1626 1626) +Process: 3 I/O blocked... (2000 0 1627 1627) +Process: 3 registered... (2000 0 1627 1627) +Process: 3 I/O blocked... (2000 0 1628 1628) +Process: 3 registered... (2000 0 1628 1628) +Process: 3 I/O blocked... (2000 0 1629 1629) +Process: 3 registered... (2000 0 1629 1629) +Process: 3 I/O blocked... (2000 0 1630 1630) +Process: 3 registered... (2000 0 1630 1630) +Process: 3 I/O blocked... (2000 0 1631 1631) +Process: 3 registered... (2000 0 1631 1631) +Process: 3 I/O blocked... (2000 0 1632 1632) +Process: 3 registered... (2000 0 1632 1632) +Process: 3 I/O blocked... (2000 0 1633 1633) +Process: 3 registered... (2000 0 1633 1633) +Process: 3 I/O blocked... (2000 0 1634 1634) +Process: 3 registered... (2000 0 1634 1634) +Process: 3 I/O blocked... (2000 0 1635 1635) +Process: 3 registered... (2000 0 1635 1635) +Process: 3 I/O blocked... (2000 0 1636 1636) +Process: 3 registered... (2000 0 1636 1636) +Process: 3 I/O blocked... (2000 0 1637 1637) +Process: 3 registered... (2000 0 1637 1637) +Process: 3 I/O blocked... (2000 0 1638 1638) +Process: 3 registered... (2000 0 1638 1638) +Process: 3 I/O blocked... (2000 0 1639 1639) +Process: 3 registered... (2000 0 1639 1639) +Process: 3 I/O blocked... (2000 0 1640 1640) +Process: 3 registered... (2000 0 1640 1640) +Process: 3 I/O blocked... (2000 0 1641 1641) +Process: 3 registered... (2000 0 1641 1641) +Process: 3 I/O blocked... (2000 0 1642 1642) +Process: 3 registered... (2000 0 1642 1642) +Process: 3 I/O blocked... (2000 0 1643 1643) +Process: 3 registered... (2000 0 1643 1643) +Process: 3 I/O blocked... (2000 0 1644 1644) +Process: 3 registered... (2000 0 1644 1644) +Process: 3 I/O blocked... (2000 0 1645 1645) +Process: 3 registered... (2000 0 1645 1645) +Process: 3 I/O blocked... (2000 0 1646 1646) +Process: 3 registered... (2000 0 1646 1646) +Process: 3 I/O blocked... (2000 0 1647 1647) +Process: 3 registered... (2000 0 1647 1647) +Process: 3 I/O blocked... (2000 0 1648 1648) +Process: 3 registered... (2000 0 1648 1648) +Process: 3 I/O blocked... (2000 0 1649 1649) +Process: 3 registered... (2000 0 1649 1649) +Process: 3 I/O blocked... (2000 0 1650 1650) +Process: 3 registered... (2000 0 1650 1650) +Process: 3 I/O blocked... (2000 0 1651 1651) +Process: 3 registered... (2000 0 1651 1651) +Process: 3 I/O blocked... (2000 0 1652 1652) +Process: 3 registered... (2000 0 1652 1652) +Process: 3 I/O blocked... (2000 0 1653 1653) +Process: 3 registered... (2000 0 1653 1653) +Process: 3 I/O blocked... (2000 0 1654 1654) +Process: 3 registered... (2000 0 1654 1654) +Process: 3 I/O blocked... (2000 0 1655 1655) +Process: 3 registered... (2000 0 1655 1655) +Process: 3 I/O blocked... (2000 0 1656 1656) +Process: 3 registered... (2000 0 1656 1656) +Process: 3 I/O blocked... (2000 0 1657 1657) +Process: 3 registered... (2000 0 1657 1657) +Process: 3 I/O blocked... (2000 0 1658 1658) +Process: 3 registered... (2000 0 1658 1658) +Process: 3 I/O blocked... (2000 0 1659 1659) +Process: 3 registered... (2000 0 1659 1659) +Process: 3 I/O blocked... (2000 0 1660 1660) +Process: 3 registered... (2000 0 1660 1660) +Process: 3 I/O blocked... (2000 0 1661 1661) +Process: 3 registered... (2000 0 1661 1661) +Process: 3 I/O blocked... (2000 0 1662 1662) +Process: 3 registered... (2000 0 1662 1662) +Process: 3 I/O blocked... (2000 0 1663 1663) +Process: 3 registered... (2000 0 1663 1663) +Process: 3 I/O blocked... (2000 0 1664 1664) +Process: 3 registered... (2000 0 1664 1664) +Process: 3 I/O blocked... (2000 0 1665 1665) +Process: 3 registered... (2000 0 1665 1665) +Process: 3 I/O blocked... (2000 0 1666 1666) +Process: 3 registered... (2000 0 1666 1666) +Process: 3 I/O blocked... (2000 0 1667 1667) +Process: 3 registered... (2000 0 1667 1667) +Process: 3 I/O blocked... (2000 0 1668 1668) +Process: 3 registered... (2000 0 1668 1668) +Process: 3 I/O blocked... (2000 0 1669 1669) +Process: 3 registered... (2000 0 1669 1669) +Process: 3 I/O blocked... (2000 0 1670 1670) +Process: 3 registered... (2000 0 1670 1670) +Process: 3 I/O blocked... (2000 0 1671 1671) +Process: 3 registered... (2000 0 1671 1671) +Process: 3 I/O blocked... (2000 0 1672 1672) +Process: 3 registered... (2000 0 1672 1672) +Process: 3 I/O blocked... (2000 0 1673 1673) +Process: 3 registered... (2000 0 1673 1673) +Process: 3 I/O blocked... (2000 0 1674 1674) +Process: 3 registered... (2000 0 1674 1674) +Process: 3 I/O blocked... (2000 0 1675 1675) +Process: 3 registered... (2000 0 1675 1675) +Process: 3 I/O blocked... (2000 0 1676 1676) +Process: 3 registered... (2000 0 1676 1676) +Process: 3 I/O blocked... (2000 0 1677 1677) +Process: 3 registered... (2000 0 1677 1677) +Process: 3 I/O blocked... (2000 0 1678 1678) +Process: 3 registered... (2000 0 1678 1678) +Process: 3 I/O blocked... (2000 0 1679 1679) +Process: 3 registered... (2000 0 1679 1679) +Process: 3 I/O blocked... (2000 0 1680 1680) +Process: 3 registered... (2000 0 1680 1680) +Process: 3 I/O blocked... (2000 0 1681 1681) +Process: 3 registered... (2000 0 1681 1681) +Process: 3 I/O blocked... (2000 0 1682 1682) +Process: 3 registered... (2000 0 1682 1682) +Process: 3 I/O blocked... (2000 0 1683 1683) +Process: 3 registered... (2000 0 1683 1683) +Process: 3 I/O blocked... (2000 0 1684 1684) +Process: 3 registered... (2000 0 1684 1684) +Process: 3 I/O blocked... (2000 0 1685 1685) +Process: 3 registered... (2000 0 1685 1685) +Process: 3 I/O blocked... (2000 0 1686 1686) +Process: 3 registered... (2000 0 1686 1686) +Process: 3 I/O blocked... (2000 0 1687 1687) +Process: 3 registered... (2000 0 1687 1687) +Process: 3 I/O blocked... (2000 0 1688 1688) +Process: 3 registered... (2000 0 1688 1688) +Process: 3 I/O blocked... (2000 0 1689 1689) +Process: 3 registered... (2000 0 1689 1689) +Process: 3 I/O blocked... (2000 0 1690 1690) +Process: 3 registered... (2000 0 1690 1690) +Process: 3 I/O blocked... (2000 0 1691 1691) +Process: 3 registered... (2000 0 1691 1691) +Process: 3 I/O blocked... (2000 0 1692 1692) +Process: 3 registered... (2000 0 1692 1692) +Process: 3 I/O blocked... (2000 0 1693 1693) +Process: 3 registered... (2000 0 1693 1693) +Process: 3 I/O blocked... (2000 0 1694 1694) +Process: 3 registered... (2000 0 1694 1694) +Process: 3 I/O blocked... (2000 0 1695 1695) +Process: 3 registered... (2000 0 1695 1695) +Process: 3 I/O blocked... (2000 0 1696 1696) +Process: 3 registered... (2000 0 1696 1696) +Process: 3 I/O blocked... (2000 0 1697 1697) +Process: 3 registered... (2000 0 1697 1697) +Process: 3 I/O blocked... (2000 0 1698 1698) +Process: 3 registered... (2000 0 1698 1698) +Process: 3 I/O blocked... (2000 0 1699 1699) +Process: 3 registered... (2000 0 1699 1699) +Process: 3 I/O blocked... (2000 0 1700 1700) +Process: 3 registered... (2000 0 1700 1700) +Process: 3 I/O blocked... (2000 0 1701 1701) +Process: 3 registered... (2000 0 1701 1701) +Process: 3 I/O blocked... (2000 0 1702 1702) +Process: 3 registered... (2000 0 1702 1702) +Process: 3 I/O blocked... (2000 0 1703 1703) +Process: 3 registered... (2000 0 1703 1703) +Process: 3 I/O blocked... (2000 0 1704 1704) +Process: 3 registered... (2000 0 1704 1704) +Process: 3 I/O blocked... (2000 0 1705 1705) +Process: 3 registered... (2000 0 1705 1705) +Process: 3 I/O blocked... (2000 0 1706 1706) +Process: 3 registered... (2000 0 1706 1706) +Process: 3 I/O blocked... (2000 0 1707 1707) +Process: 3 registered... (2000 0 1707 1707) +Process: 3 I/O blocked... (2000 0 1708 1708) +Process: 3 registered... (2000 0 1708 1708) +Process: 3 I/O blocked... (2000 0 1709 1709) +Process: 3 registered... (2000 0 1709 1709) +Process: 3 I/O blocked... (2000 0 1710 1710) +Process: 3 registered... (2000 0 1710 1710) +Process: 3 I/O blocked... (2000 0 1711 1711) +Process: 3 registered... (2000 0 1711 1711) +Process: 3 I/O blocked... (2000 0 1712 1712) +Process: 3 registered... (2000 0 1712 1712) +Process: 3 I/O blocked... (2000 0 1713 1713) +Process: 3 registered... (2000 0 1713 1713) +Process: 3 I/O blocked... (2000 0 1714 1714) +Process: 3 registered... (2000 0 1714 1714) +Process: 3 I/O blocked... (2000 0 1715 1715) +Process: 3 registered... (2000 0 1715 1715) +Process: 3 I/O blocked... (2000 0 1716 1716) +Process: 3 registered... (2000 0 1716 1716) +Process: 3 I/O blocked... (2000 0 1717 1717) +Process: 3 registered... (2000 0 1717 1717) +Process: 3 I/O blocked... (2000 0 1718 1718) +Process: 3 registered... (2000 0 1718 1718) +Process: 3 I/O blocked... (2000 0 1719 1719) +Process: 3 registered... (2000 0 1719 1719) +Process: 3 I/O blocked... (2000 0 1720 1720) +Process: 3 registered... (2000 0 1720 1720) +Process: 3 I/O blocked... (2000 0 1721 1721) +Process: 3 registered... (2000 0 1721 1721) +Process: 3 I/O blocked... (2000 0 1722 1722) +Process: 3 registered... (2000 0 1722 1722) +Process: 3 I/O blocked... (2000 0 1723 1723) +Process: 3 registered... (2000 0 1723 1723) +Process: 3 I/O blocked... (2000 0 1724 1724) +Process: 3 registered... (2000 0 1724 1724) +Process: 3 I/O blocked... (2000 0 1725 1725) +Process: 3 registered... (2000 0 1725 1725) +Process: 3 I/O blocked... (2000 0 1726 1726) +Process: 3 registered... (2000 0 1726 1726) +Process: 3 I/O blocked... (2000 0 1727 1727) +Process: 3 registered... (2000 0 1727 1727) +Process: 3 I/O blocked... (2000 0 1728 1728) +Process: 3 registered... (2000 0 1728 1728) +Process: 3 I/O blocked... (2000 0 1729 1729) +Process: 3 registered... (2000 0 1729 1729) +Process: 3 I/O blocked... (2000 0 1730 1730) +Process: 3 registered... (2000 0 1730 1730) +Process: 3 I/O blocked... (2000 0 1731 1731) +Process: 3 registered... (2000 0 1731 1731) +Process: 3 I/O blocked... (2000 0 1732 1732) +Process: 3 registered... (2000 0 1732 1732) +Process: 3 I/O blocked... (2000 0 1733 1733) +Process: 3 registered... (2000 0 1733 1733) +Process: 3 I/O blocked... (2000 0 1734 1734) +Process: 3 registered... (2000 0 1734 1734) +Process: 3 I/O blocked... (2000 0 1735 1735) +Process: 3 registered... (2000 0 1735 1735) +Process: 3 I/O blocked... (2000 0 1736 1736) +Process: 3 registered... (2000 0 1736 1736) +Process: 3 I/O blocked... (2000 0 1737 1737) +Process: 3 registered... (2000 0 1737 1737) +Process: 3 I/O blocked... (2000 0 1738 1738) +Process: 3 registered... (2000 0 1738 1738) +Process: 3 I/O blocked... (2000 0 1739 1739) +Process: 3 registered... (2000 0 1739 1739) +Process: 3 I/O blocked... (2000 0 1740 1740) +Process: 3 registered... (2000 0 1740 1740) +Process: 3 I/O blocked... (2000 0 1741 1741) +Process: 3 registered... (2000 0 1741 1741) +Process: 3 I/O blocked... (2000 0 1742 1742) +Process: 3 registered... (2000 0 1742 1742) +Process: 3 I/O blocked... (2000 0 1743 1743) +Process: 3 registered... (2000 0 1743 1743) +Process: 3 I/O blocked... (2000 0 1744 1744) +Process: 3 registered... (2000 0 1744 1744) +Process: 3 I/O blocked... (2000 0 1745 1745) +Process: 3 registered... (2000 0 1745 1745) +Process: 3 I/O blocked... (2000 0 1746 1746) +Process: 3 registered... (2000 0 1746 1746) +Process: 3 I/O blocked... (2000 0 1747 1747) +Process: 3 registered... (2000 0 1747 1747) +Process: 3 I/O blocked... (2000 0 1748 1748) +Process: 3 registered... (2000 0 1748 1748) +Process: 3 I/O blocked... (2000 0 1749 1749) +Process: 3 registered... (2000 0 1749 1749) +Process: 3 I/O blocked... (2000 0 1750 1750) +Process: 3 registered... (2000 0 1750 1750) +Process: 3 I/O blocked... (2000 0 1751 1751) +Process: 3 registered... (2000 0 1751 1751) +Process: 3 I/O blocked... (2000 0 1752 1752) +Process: 3 registered... (2000 0 1752 1752) +Process: 3 I/O blocked... (2000 0 1753 1753) +Process: 3 registered... (2000 0 1753 1753) +Process: 3 I/O blocked... (2000 0 1754 1754) +Process: 3 registered... (2000 0 1754 1754) +Process: 3 I/O blocked... (2000 0 1755 1755) +Process: 3 registered... (2000 0 1755 1755) +Process: 3 I/O blocked... (2000 0 1756 1756) +Process: 3 registered... (2000 0 1756 1756) +Process: 3 I/O blocked... (2000 0 1757 1757) +Process: 3 registered... (2000 0 1757 1757) +Process: 3 I/O blocked... (2000 0 1758 1758) +Process: 3 registered... (2000 0 1758 1758) +Process: 3 I/O blocked... (2000 0 1759 1759) +Process: 3 registered... (2000 0 1759 1759) +Process: 3 I/O blocked... (2000 0 1760 1760) +Process: 3 registered... (2000 0 1760 1760) +Process: 3 I/O blocked... (2000 0 1761 1761) +Process: 3 registered... (2000 0 1761 1761) +Process: 3 I/O blocked... (2000 0 1762 1762) +Process: 3 registered... (2000 0 1762 1762) +Process: 3 I/O blocked... (2000 0 1763 1763) +Process: 3 registered... (2000 0 1763 1763) +Process: 3 I/O blocked... (2000 0 1764 1764) +Process: 3 registered... (2000 0 1764 1764) +Process: 3 I/O blocked... (2000 0 1765 1765) +Process: 3 registered... (2000 0 1765 1765) +Process: 3 I/O blocked... (2000 0 1766 1766) +Process: 3 registered... (2000 0 1766 1766) +Process: 3 I/O blocked... (2000 0 1767 1767) +Process: 3 registered... (2000 0 1767 1767) +Process: 3 I/O blocked... (2000 0 1768 1768) +Process: 3 registered... (2000 0 1768 1768) +Process: 3 I/O blocked... (2000 0 1769 1769) +Process: 3 registered... (2000 0 1769 1769) +Process: 3 I/O blocked... (2000 0 1770 1770) +Process: 3 registered... (2000 0 1770 1770) +Process: 3 I/O blocked... (2000 0 1771 1771) +Process: 3 registered... (2000 0 1771 1771) +Process: 3 I/O blocked... (2000 0 1772 1772) +Process: 3 registered... (2000 0 1772 1772) +Process: 3 I/O blocked... (2000 0 1773 1773) +Process: 3 registered... (2000 0 1773 1773) +Process: 3 I/O blocked... (2000 0 1774 1774) +Process: 3 registered... (2000 0 1774 1774) +Process: 3 I/O blocked... (2000 0 1775 1775) +Process: 3 registered... (2000 0 1775 1775) +Process: 3 I/O blocked... (2000 0 1776 1776) +Process: 3 registered... (2000 0 1776 1776) +Process: 3 I/O blocked... (2000 0 1777 1777) +Process: 3 registered... (2000 0 1777 1777) +Process: 3 I/O blocked... (2000 0 1778 1778) +Process: 3 registered... (2000 0 1778 1778) +Process: 3 I/O blocked... (2000 0 1779 1779) +Process: 3 registered... (2000 0 1779 1779) +Process: 3 I/O blocked... (2000 0 1780 1780) +Process: 3 registered... (2000 0 1780 1780) +Process: 3 I/O blocked... (2000 0 1781 1781) +Process: 3 registered... (2000 0 1781 1781) +Process: 3 I/O blocked... (2000 0 1782 1782) +Process: 3 registered... (2000 0 1782 1782) +Process: 3 I/O blocked... (2000 0 1783 1783) +Process: 3 registered... (2000 0 1783 1783) +Process: 3 I/O blocked... (2000 0 1784 1784) +Process: 3 registered... (2000 0 1784 1784) +Process: 3 I/O blocked... (2000 0 1785 1785) +Process: 3 registered... (2000 0 1785 1785) +Process: 3 I/O blocked... (2000 0 1786 1786) +Process: 3 registered... (2000 0 1786 1786) +Process: 3 I/O blocked... (2000 0 1787 1787) +Process: 3 registered... (2000 0 1787 1787) +Process: 3 I/O blocked... (2000 0 1788 1788) +Process: 3 registered... (2000 0 1788 1788) +Process: 3 I/O blocked... (2000 0 1789 1789) +Process: 3 registered... (2000 0 1789 1789) +Process: 3 I/O blocked... (2000 0 1790 1790) +Process: 3 registered... (2000 0 1790 1790) +Process: 3 I/O blocked... (2000 0 1791 1791) +Process: 3 registered... (2000 0 1791 1791) +Process: 3 I/O blocked... (2000 0 1792 1792) +Process: 3 registered... (2000 0 1792 1792) +Process: 3 I/O blocked... (2000 0 1793 1793) +Process: 3 registered... (2000 0 1793 1793) +Process: 3 I/O blocked... (2000 0 1794 1794) +Process: 3 registered... (2000 0 1794 1794) +Process: 3 I/O blocked... (2000 0 1795 1795) +Process: 3 registered... (2000 0 1795 1795) +Process: 3 I/O blocked... (2000 0 1796 1796) +Process: 3 registered... (2000 0 1796 1796) +Process: 3 I/O blocked... (2000 0 1797 1797) +Process: 3 registered... (2000 0 1797 1797) +Process: 3 I/O blocked... (2000 0 1798 1798) +Process: 3 registered... (2000 0 1798 1798) +Process: 3 I/O blocked... (2000 0 1799 1799) +Process: 3 registered... (2000 0 1799 1799) +Process: 3 I/O blocked... (2000 0 1800 1800) +Process: 3 registered... (2000 0 1800 1800) +Process: 3 I/O blocked... (2000 0 1801 1801) +Process: 3 registered... (2000 0 1801 1801) +Process: 3 I/O blocked... (2000 0 1802 1802) +Process: 3 registered... (2000 0 1802 1802) +Process: 3 I/O blocked... (2000 0 1803 1803) +Process: 3 registered... (2000 0 1803 1803) +Process: 3 I/O blocked... (2000 0 1804 1804) +Process: 3 registered... (2000 0 1804 1804) +Process: 3 I/O blocked... (2000 0 1805 1805) +Process: 3 registered... (2000 0 1805 1805) +Process: 3 I/O blocked... (2000 0 1806 1806) +Process: 3 registered... (2000 0 1806 1806) +Process: 3 I/O blocked... (2000 0 1807 1807) +Process: 3 registered... (2000 0 1807 1807) +Process: 3 I/O blocked... (2000 0 1808 1808) +Process: 3 registered... (2000 0 1808 1808) +Process: 3 I/O blocked... (2000 0 1809 1809) +Process: 3 registered... (2000 0 1809 1809) +Process: 3 I/O blocked... (2000 0 1810 1810) +Process: 3 registered... (2000 0 1810 1810) +Process: 3 I/O blocked... (2000 0 1811 1811) +Process: 3 registered... (2000 0 1811 1811) +Process: 3 I/O blocked... (2000 0 1812 1812) +Process: 3 registered... (2000 0 1812 1812) +Process: 3 I/O blocked... (2000 0 1813 1813) +Process: 3 registered... (2000 0 1813 1813) +Process: 3 I/O blocked... (2000 0 1814 1814) +Process: 3 registered... (2000 0 1814 1814) +Process: 3 I/O blocked... (2000 0 1815 1815) +Process: 3 registered... (2000 0 1815 1815) +Process: 3 I/O blocked... (2000 0 1816 1816) +Process: 3 registered... (2000 0 1816 1816) +Process: 3 I/O blocked... (2000 0 1817 1817) +Process: 3 registered... (2000 0 1817 1817) +Process: 3 I/O blocked... (2000 0 1818 1818) +Process: 3 registered... (2000 0 1818 1818) +Process: 3 I/O blocked... (2000 0 1819 1819) +Process: 3 registered... (2000 0 1819 1819) +Process: 3 I/O blocked... (2000 0 1820 1820) +Process: 3 registered... (2000 0 1820 1820) +Process: 3 I/O blocked... (2000 0 1821 1821) +Process: 3 registered... (2000 0 1821 1821) +Process: 3 I/O blocked... (2000 0 1822 1822) +Process: 3 registered... (2000 0 1822 1822) +Process: 3 I/O blocked... (2000 0 1823 1823) +Process: 3 registered... (2000 0 1823 1823) +Process: 3 I/O blocked... (2000 0 1824 1824) +Process: 3 registered... (2000 0 1824 1824) +Process: 3 I/O blocked... (2000 0 1825 1825) +Process: 3 registered... (2000 0 1825 1825) +Process: 3 I/O blocked... (2000 0 1826 1826) +Process: 3 registered... (2000 0 1826 1826) +Process: 3 I/O blocked... (2000 0 1827 1827) +Process: 3 registered... (2000 0 1827 1827) +Process: 3 I/O blocked... (2000 0 1828 1828) +Process: 3 registered... (2000 0 1828 1828) +Process: 3 I/O blocked... (2000 0 1829 1829) +Process: 3 registered... (2000 0 1829 1829) +Process: 3 I/O blocked... (2000 0 1830 1830) +Process: 3 registered... (2000 0 1830 1830) +Process: 3 I/O blocked... (2000 0 1831 1831) +Process: 3 registered... (2000 0 1831 1831) +Process: 3 I/O blocked... (2000 0 1832 1832) +Process: 3 registered... (2000 0 1832 1832) +Process: 3 I/O blocked... (2000 0 1833 1833) +Process: 3 registered... (2000 0 1833 1833) +Process: 3 I/O blocked... (2000 0 1834 1834) +Process: 3 registered... (2000 0 1834 1834) +Process: 3 I/O blocked... (2000 0 1835 1835) +Process: 3 registered... (2000 0 1835 1835) +Process: 3 I/O blocked... (2000 0 1836 1836) +Process: 3 registered... (2000 0 1836 1836) +Process: 3 I/O blocked... (2000 0 1837 1837) +Process: 3 registered... (2000 0 1837 1837) +Process: 3 I/O blocked... (2000 0 1838 1838) +Process: 3 registered... (2000 0 1838 1838) +Process: 3 I/O blocked... (2000 0 1839 1839) +Process: 3 registered... (2000 0 1839 1839) +Process: 3 I/O blocked... (2000 0 1840 1840) +Process: 3 registered... (2000 0 1840 1840) +Process: 3 I/O blocked... (2000 0 1841 1841) +Process: 3 registered... (2000 0 1841 1841) +Process: 3 I/O blocked... (2000 0 1842 1842) +Process: 3 registered... (2000 0 1842 1842) +Process: 3 I/O blocked... (2000 0 1843 1843) +Process: 3 registered... (2000 0 1843 1843) +Process: 3 I/O blocked... (2000 0 1844 1844) +Process: 3 registered... (2000 0 1844 1844) +Process: 3 I/O blocked... (2000 0 1845 1845) +Process: 3 registered... (2000 0 1845 1845) +Process: 3 I/O blocked... (2000 0 1846 1846) +Process: 3 registered... (2000 0 1846 1846) +Process: 3 I/O blocked... (2000 0 1847 1847) +Process: 3 registered... (2000 0 1847 1847) +Process: 3 I/O blocked... (2000 0 1848 1848) +Process: 3 registered... (2000 0 1848 1848) +Process: 3 I/O blocked... (2000 0 1849 1849) +Process: 3 registered... (2000 0 1849 1849) +Process: 3 I/O blocked... (2000 0 1850 1850) +Process: 3 registered... (2000 0 1850 1850) +Process: 3 I/O blocked... (2000 0 1851 1851) +Process: 3 registered... (2000 0 1851 1851) +Process: 3 I/O blocked... (2000 0 1852 1852) +Process: 3 registered... (2000 0 1852 1852) +Process: 3 I/O blocked... (2000 0 1853 1853) +Process: 3 registered... (2000 0 1853 1853) +Process: 3 I/O blocked... (2000 0 1854 1854) +Process: 3 registered... (2000 0 1854 1854) +Process: 3 I/O blocked... (2000 0 1855 1855) +Process: 3 registered... (2000 0 1855 1855) +Process: 3 I/O blocked... (2000 0 1856 1856) +Process: 3 registered... (2000 0 1856 1856) +Process: 3 I/O blocked... (2000 0 1857 1857) +Process: 3 registered... (2000 0 1857 1857) +Process: 3 I/O blocked... (2000 0 1858 1858) +Process: 3 registered... (2000 0 1858 1858) +Process: 3 I/O blocked... (2000 0 1859 1859) +Process: 3 registered... (2000 0 1859 1859) +Process: 3 I/O blocked... (2000 0 1860 1860) +Process: 3 registered... (2000 0 1860 1860) +Process: 3 I/O blocked... (2000 0 1861 1861) +Process: 3 registered... (2000 0 1861 1861) +Process: 3 I/O blocked... (2000 0 1862 1862) +Process: 3 registered... (2000 0 1862 1862) +Process: 3 I/O blocked... (2000 0 1863 1863) +Process: 3 registered... (2000 0 1863 1863) +Process: 3 I/O blocked... (2000 0 1864 1864) +Process: 3 registered... (2000 0 1864 1864) +Process: 3 I/O blocked... (2000 0 1865 1865) +Process: 3 registered... (2000 0 1865 1865) +Process: 3 I/O blocked... (2000 0 1866 1866) +Process: 3 registered... (2000 0 1866 1866) +Process: 3 I/O blocked... (2000 0 1867 1867) +Process: 3 registered... (2000 0 1867 1867) +Process: 3 I/O blocked... (2000 0 1868 1868) +Process: 3 registered... (2000 0 1868 1868) +Process: 3 I/O blocked... (2000 0 1869 1869) +Process: 3 registered... (2000 0 1869 1869) +Process: 3 I/O blocked... (2000 0 1870 1870) +Process: 3 registered... (2000 0 1870 1870) +Process: 3 I/O blocked... (2000 0 1871 1871) +Process: 3 registered... (2000 0 1871 1871) +Process: 3 I/O blocked... (2000 0 1872 1872) +Process: 3 registered... (2000 0 1872 1872) +Process: 3 I/O blocked... (2000 0 1873 1873) +Process: 3 registered... (2000 0 1873 1873) +Process: 3 I/O blocked... (2000 0 1874 1874) +Process: 3 registered... (2000 0 1874 1874) +Process: 3 I/O blocked... (2000 0 1875 1875) +Process: 3 registered... (2000 0 1875 1875) +Process: 3 I/O blocked... (2000 0 1876 1876) +Process: 3 registered... (2000 0 1876 1876) +Process: 3 I/O blocked... (2000 0 1877 1877) +Process: 3 registered... (2000 0 1877 1877) +Process: 3 I/O blocked... (2000 0 1878 1878) +Process: 3 registered... (2000 0 1878 1878) +Process: 3 I/O blocked... (2000 0 1879 1879) +Process: 3 registered... (2000 0 1879 1879) +Process: 3 I/O blocked... (2000 0 1880 1880) +Process: 3 registered... (2000 0 1880 1880) +Process: 3 I/O blocked... (2000 0 1881 1881) +Process: 3 registered... (2000 0 1881 1881) +Process: 3 I/O blocked... (2000 0 1882 1882) +Process: 3 registered... (2000 0 1882 1882) +Process: 3 I/O blocked... (2000 0 1883 1883) +Process: 3 registered... (2000 0 1883 1883) +Process: 3 I/O blocked... (2000 0 1884 1884) +Process: 3 registered... (2000 0 1884 1884) +Process: 3 I/O blocked... (2000 0 1885 1885) +Process: 3 registered... (2000 0 1885 1885) +Process: 3 I/O blocked... (2000 0 1886 1886) +Process: 3 registered... (2000 0 1886 1886) +Process: 3 I/O blocked... (2000 0 1887 1887) +Process: 3 registered... (2000 0 1887 1887) +Process: 3 I/O blocked... (2000 0 1888 1888) +Process: 3 registered... (2000 0 1888 1888) +Process: 3 I/O blocked... (2000 0 1889 1889) +Process: 3 registered... (2000 0 1889 1889) +Process: 3 I/O blocked... (2000 0 1890 1890) +Process: 3 registered... (2000 0 1890 1890) +Process: 3 I/O blocked... (2000 0 1891 1891) +Process: 3 registered... (2000 0 1891 1891) +Process: 3 I/O blocked... (2000 0 1892 1892) +Process: 3 registered... (2000 0 1892 1892) +Process: 3 I/O blocked... (2000 0 1893 1893) +Process: 3 registered... (2000 0 1893 1893) +Process: 3 I/O blocked... (2000 0 1894 1894) +Process: 3 registered... (2000 0 1894 1894) +Process: 3 I/O blocked... (2000 0 1895 1895) +Process: 3 registered... (2000 0 1895 1895) +Process: 3 I/O blocked... (2000 0 1896 1896) +Process: 3 registered... (2000 0 1896 1896) +Process: 3 I/O blocked... (2000 0 1897 1897) +Process: 3 registered... (2000 0 1897 1897) +Process: 3 I/O blocked... (2000 0 1898 1898) +Process: 3 registered... (2000 0 1898 1898) +Process: 3 I/O blocked... (2000 0 1899 1899) +Process: 3 registered... (2000 0 1899 1899) +Process: 3 I/O blocked... (2000 0 1900 1900) +Process: 3 registered... (2000 0 1900 1900) +Process: 3 I/O blocked... (2000 0 1901 1901) +Process: 3 registered... (2000 0 1901 1901) +Process: 3 I/O blocked... (2000 0 1902 1902) +Process: 3 registered... (2000 0 1902 1902) +Process: 3 I/O blocked... (2000 0 1903 1903) +Process: 3 registered... (2000 0 1903 1903) +Process: 3 I/O blocked... (2000 0 1904 1904) +Process: 3 registered... (2000 0 1904 1904) +Process: 3 I/O blocked... (2000 0 1905 1905) +Process: 3 registered... (2000 0 1905 1905) +Process: 3 I/O blocked... (2000 0 1906 1906) +Process: 3 registered... (2000 0 1906 1906) +Process: 3 I/O blocked... (2000 0 1907 1907) +Process: 3 registered... (2000 0 1907 1907) +Process: 3 I/O blocked... (2000 0 1908 1908) +Process: 3 registered... (2000 0 1908 1908) +Process: 3 I/O blocked... (2000 0 1909 1909) +Process: 3 registered... (2000 0 1909 1909) +Process: 3 I/O blocked... (2000 0 1910 1910) +Process: 3 registered... (2000 0 1910 1910) +Process: 3 I/O blocked... (2000 0 1911 1911) +Process: 3 registered... (2000 0 1911 1911) +Process: 3 I/O blocked... (2000 0 1912 1912) +Process: 3 registered... (2000 0 1912 1912) +Process: 3 I/O blocked... (2000 0 1913 1913) +Process: 3 registered... (2000 0 1913 1913) +Process: 3 I/O blocked... (2000 0 1914 1914) +Process: 3 registered... (2000 0 1914 1914) +Process: 3 I/O blocked... (2000 0 1915 1915) +Process: 3 registered... (2000 0 1915 1915) +Process: 3 I/O blocked... (2000 0 1916 1916) +Process: 3 registered... (2000 0 1916 1916) +Process: 3 I/O blocked... (2000 0 1917 1917) +Process: 3 registered... (2000 0 1917 1917) +Process: 3 I/O blocked... (2000 0 1918 1918) +Process: 3 registered... (2000 0 1918 1918) +Process: 3 I/O blocked... (2000 0 1919 1919) +Process: 3 registered... (2000 0 1919 1919) +Process: 3 I/O blocked... (2000 0 1920 1920) +Process: 3 registered... (2000 0 1920 1920) +Process: 3 I/O blocked... (2000 0 1921 1921) +Process: 3 registered... (2000 0 1921 1921) +Process: 3 I/O blocked... (2000 0 1922 1922) +Process: 3 registered... (2000 0 1922 1922) +Process: 3 I/O blocked... (2000 0 1923 1923) +Process: 3 registered... (2000 0 1923 1923) +Process: 3 I/O blocked... (2000 0 1924 1924) +Process: 3 registered... (2000 0 1924 1924) +Process: 3 I/O blocked... (2000 0 1925 1925) +Process: 3 registered... (2000 0 1925 1925) +Process: 3 I/O blocked... (2000 0 1926 1926) +Process: 3 registered... (2000 0 1926 1926) +Process: 3 I/O blocked... (2000 0 1927 1927) +Process: 3 registered... (2000 0 1927 1927) +Process: 3 I/O blocked... (2000 0 1928 1928) +Process: 3 registered... (2000 0 1928 1928) +Process: 3 I/O blocked... (2000 0 1929 1929) +Process: 3 registered... (2000 0 1929 1929) +Process: 3 I/O blocked... (2000 0 1930 1930) +Process: 3 registered... (2000 0 1930 1930) +Process: 3 I/O blocked... (2000 0 1931 1931) +Process: 3 registered... (2000 0 1931 1931) +Process: 3 I/O blocked... (2000 0 1932 1932) +Process: 3 registered... (2000 0 1932 1932) +Process: 3 I/O blocked... (2000 0 1933 1933) +Process: 3 registered... (2000 0 1933 1933) +Process: 3 I/O blocked... (2000 0 1934 1934) +Process: 3 registered... (2000 0 1934 1934) +Process: 3 I/O blocked... (2000 0 1935 1935) +Process: 3 registered... (2000 0 1935 1935) +Process: 3 I/O blocked... (2000 0 1936 1936) +Process: 3 registered... (2000 0 1936 1936) +Process: 3 I/O blocked... (2000 0 1937 1937) +Process: 3 registered... (2000 0 1937 1937) +Process: 3 I/O blocked... (2000 0 1938 1938) +Process: 3 registered... (2000 0 1938 1938) +Process: 3 I/O blocked... (2000 0 1939 1939) +Process: 3 registered... (2000 0 1939 1939) +Process: 3 I/O blocked... (2000 0 1940 1940) +Process: 3 registered... (2000 0 1940 1940) +Process: 3 I/O blocked... (2000 0 1941 1941) +Process: 3 registered... (2000 0 1941 1941) +Process: 3 I/O blocked... (2000 0 1942 1942) +Process: 3 registered... (2000 0 1942 1942) +Process: 3 I/O blocked... (2000 0 1943 1943) +Process: 3 registered... (2000 0 1943 1943) +Process: 3 I/O blocked... (2000 0 1944 1944) +Process: 3 registered... (2000 0 1944 1944) +Process: 3 I/O blocked... (2000 0 1945 1945) +Process: 3 registered... (2000 0 1945 1945) +Process: 3 I/O blocked... (2000 0 1946 1946) +Process: 3 registered... (2000 0 1946 1946) +Process: 3 I/O blocked... (2000 0 1947 1947) +Process: 3 registered... (2000 0 1947 1947) +Process: 3 I/O blocked... (2000 0 1948 1948) +Process: 3 registered... (2000 0 1948 1948) +Process: 3 I/O blocked... (2000 0 1949 1949) +Process: 3 registered... (2000 0 1949 1949) +Process: 3 I/O blocked... (2000 0 1950 1950) +Process: 3 registered... (2000 0 1950 1950) +Process: 3 I/O blocked... (2000 0 1951 1951) +Process: 3 registered... (2000 0 1951 1951) +Process: 3 I/O blocked... (2000 0 1952 1952) +Process: 3 registered... (2000 0 1952 1952) +Process: 3 I/O blocked... (2000 0 1953 1953) +Process: 3 registered... (2000 0 1953 1953) +Process: 3 I/O blocked... (2000 0 1954 1954) +Process: 3 registered... (2000 0 1954 1954) +Process: 3 I/O blocked... (2000 0 1955 1955) +Process: 3 registered... (2000 0 1955 1955) +Process: 3 I/O blocked... (2000 0 1956 1956) +Process: 3 registered... (2000 0 1956 1956) +Process: 3 I/O blocked... (2000 0 1957 1957) +Process: 3 registered... (2000 0 1957 1957) +Process: 3 I/O blocked... (2000 0 1958 1958) +Process: 3 registered... (2000 0 1958 1958) +Process: 3 I/O blocked... (2000 0 1959 1959) +Process: 3 registered... (2000 0 1959 1959) +Process: 3 I/O blocked... (2000 0 1960 1960) +Process: 3 registered... (2000 0 1960 1960) +Process: 3 I/O blocked... (2000 0 1961 1961) +Process: 3 registered... (2000 0 1961 1961) +Process: 3 I/O blocked... (2000 0 1962 1962) +Process: 3 registered... (2000 0 1962 1962) +Process: 3 I/O blocked... (2000 0 1963 1963) +Process: 3 registered... (2000 0 1963 1963) +Process: 3 I/O blocked... (2000 0 1964 1964) +Process: 3 registered... (2000 0 1964 1964) +Process: 3 I/O blocked... (2000 0 1965 1965) +Process: 3 registered... (2000 0 1965 1965) +Process: 3 I/O blocked... (2000 0 1966 1966) +Process: 3 registered... (2000 0 1966 1966) +Process: 3 I/O blocked... (2000 0 1967 1967) +Process: 3 registered... (2000 0 1967 1967) +Process: 3 I/O blocked... (2000 0 1968 1968) +Process: 3 registered... (2000 0 1968 1968) +Process: 3 I/O blocked... (2000 0 1969 1969) +Process: 3 registered... (2000 0 1969 1969) +Process: 3 I/O blocked... (2000 0 1970 1970) +Process: 3 registered... (2000 0 1970 1970) +Process: 3 I/O blocked... (2000 0 1971 1971) +Process: 3 registered... (2000 0 1971 1971) +Process: 3 I/O blocked... (2000 0 1972 1972) +Process: 3 registered... (2000 0 1972 1972) +Process: 3 I/O blocked... (2000 0 1973 1973) +Process: 3 registered... (2000 0 1973 1973) +Process: 3 I/O blocked... (2000 0 1974 1974) +Process: 3 registered... (2000 0 1974 1974) +Process: 3 I/O blocked... (2000 0 1975 1975) +Process: 3 registered... (2000 0 1975 1975) +Process: 3 I/O blocked... (2000 0 1976 1976) +Process: 3 registered... (2000 0 1976 1976) +Process: 3 I/O blocked... (2000 0 1977 1977) +Process: 3 registered... (2000 0 1977 1977) +Process: 3 I/O blocked... (2000 0 1978 1978) +Process: 3 registered... (2000 0 1978 1978) +Process: 3 I/O blocked... (2000 0 1979 1979) +Process: 3 registered... (2000 0 1979 1979) +Process: 3 I/O blocked... (2000 0 1980 1980) +Process: 3 registered... (2000 0 1980 1980) +Process: 3 I/O blocked... (2000 0 1981 1981) +Process: 3 registered... (2000 0 1981 1981) +Process: 3 I/O blocked... (2000 0 1982 1982) +Process: 3 registered... (2000 0 1982 1982) +Process: 3 I/O blocked... (2000 0 1983 1983) +Process: 3 registered... (2000 0 1983 1983) +Process: 3 I/O blocked... (2000 0 1984 1984) +Process: 3 registered... (2000 0 1984 1984) +Process: 3 I/O blocked... (2000 0 1985 1985) +Process: 3 registered... (2000 0 1985 1985) +Process: 3 I/O blocked... (2000 0 1986 1986) +Process: 3 registered... (2000 0 1986 1986) +Process: 3 I/O blocked... (2000 0 1987 1987) +Process: 3 registered... (2000 0 1987 1987) +Process: 3 I/O blocked... (2000 0 1988 1988) +Process: 3 registered... (2000 0 1988 1988) +Process: 3 I/O blocked... (2000 0 1989 1989) +Process: 3 registered... (2000 0 1989 1989) +Process: 3 I/O blocked... (2000 0 1990 1990) +Process: 3 registered... (2000 0 1990 1990) +Process: 3 I/O blocked... (2000 0 1991 1991) +Process: 3 registered... (2000 0 1991 1991) +Process: 3 I/O blocked... (2000 0 1992 1992) +Process: 3 registered... (2000 0 1992 1992) +Process: 3 I/O blocked... (2000 0 1993 1993) +Process: 3 registered... (2000 0 1993 1993) +Process: 3 I/O blocked... (2000 0 1994 1994) +Process: 3 registered... (2000 0 1994 1994) +Process: 3 I/O blocked... (2000 0 1995 1995) +Process: 3 registered... (2000 0 1995 1995) +Process: 3 I/O blocked... (2000 0 1996 1996) +Process: 3 registered... (2000 0 1996 1996) +Process: 3 I/O blocked... (2000 0 1997 1997) +Process: 3 registered... (2000 0 1997 1997) +Process: 3 I/O blocked... (2000 0 1998 1998) +Process: 3 registered... (2000 0 1998 1998) +Process: 3 I/O blocked... (2000 0 1999 1999) +Process: 3 registered... (2000 0 1999 1999) diff --git a/EOPSY/lab3/task3/processesten b/EOPSY/lab3/task3/processesten new file mode 100644 index 00000000..99045725 --- /dev/null +++ b/EOPSY/lab3/task3/processesten @@ -0,0 +1,149 @@ +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +Process: 2 registered... (2000 500 0 0) +Process: 2 I/O blocked... (2000 500 500 500) +Process: 3 registered... (2000 0 0 0) +Process: 3 I/O blocked... (2000 0 1 1) +Process: 2 registered... (2000 500 500 500) +Process: 2 I/O blocked... (2000 500 1000 1000) +Process: 3 registered... (2000 0 1 1) +Process: 3 I/O blocked... (2000 0 2 2) +Process: 2 registered... (2000 500 1000 1000) +Process: 2 I/O blocked... (2000 500 1500 1500) +Process: 3 registered... (2000 0 2 2) +Process: 3 I/O blocked... (2000 0 3 3) +Process: 2 registered... (2000 500 1500 1500) +Process: 2 completed... (2000 500 2000 2000) +Process: 3 registered... (2000 0 3 3) +Process: 3 I/O blocked... (2000 0 3 3) +Process: 4 registered... (2000 100 0 0) +Process: 4 I/O blocked... (2000 100 100 100) +Process: 3 registered... (2000 0 3 3) +Process: 3 I/O blocked... (2000 0 4 4) +Process: 4 registered... (2000 100 100 100) +Process: 4 I/O blocked... (2000 100 200 200) +Process: 3 registered... (2000 0 4 4) +Process: 3 I/O blocked... (2000 0 5 5) +Process: 4 registered... (2000 100 200 200) +Process: 4 I/O blocked... (2000 100 300 300) +Process: 3 registered... (2000 0 5 5) +Process: 3 I/O blocked... (2000 0 6 6) +Process: 4 registered... (2000 100 300 300) +Process: 4 I/O blocked... (2000 100 400 400) +Process: 3 registered... (2000 0 6 6) +Process: 3 I/O blocked... (2000 0 7 7) +Process: 4 registered... (2000 100 400 400) +Process: 4 I/O blocked... (2000 100 500 500) +Process: 3 registered... (2000 0 7 7) +Process: 3 I/O blocked... (2000 0 8 8) +Process: 4 registered... (2000 100 500 500) +Process: 4 I/O blocked... (2000 100 600 600) +Process: 3 registered... (2000 0 8 8) +Process: 3 I/O blocked... (2000 0 9 9) +Process: 4 registered... (2000 100 600 600) +Process: 4 I/O blocked... (2000 100 700 700) +Process: 3 registered... (2000 0 9 9) +Process: 3 I/O blocked... (2000 0 10 10) +Process: 4 registered... (2000 100 700 700) +Process: 4 I/O blocked... (2000 100 800 800) +Process: 3 registered... (2000 0 10 10) +Process: 3 I/O blocked... (2000 0 11 11) +Process: 4 registered... (2000 100 800 800) +Process: 4 I/O blocked... (2000 100 900 900) +Process: 3 registered... (2000 0 11 11) +Process: 3 I/O blocked... (2000 0 12 12) +Process: 4 registered... (2000 100 900 900) +Process: 4 I/O blocked... (2000 100 1000 1000) +Process: 3 registered... (2000 0 12 12) +Process: 3 I/O blocked... (2000 0 13 13) +Process: 4 registered... (2000 100 1000 1000) +Process: 4 I/O blocked... (2000 100 1100 1100) +Process: 3 registered... (2000 0 13 13) +Process: 3 I/O blocked... (2000 0 14 14) +Process: 4 registered... (2000 100 1100 1100) +Process: 4 I/O blocked... (2000 100 1200 1200) +Process: 3 registered... (2000 0 14 14) +Process: 3 I/O blocked... (2000 0 15 15) +Process: 4 registered... (2000 100 1200 1200) +Process: 4 I/O blocked... (2000 100 1300 1300) +Process: 3 registered... (2000 0 15 15) +Process: 3 I/O blocked... (2000 0 16 16) +Process: 4 registered... (2000 100 1300 1300) +Process: 4 I/O blocked... (2000 100 1400 1400) +Process: 3 registered... (2000 0 16 16) +Process: 3 I/O blocked... (2000 0 17 17) +Process: 4 registered... (2000 100 1400 1400) +Process: 4 I/O blocked... (2000 100 1500 1500) +Process: 3 registered... (2000 0 17 17) +Process: 3 I/O blocked... (2000 0 18 18) +Process: 4 registered... (2000 100 1500 1500) +Process: 4 I/O blocked... (2000 100 1600 1600) +Process: 3 registered... (2000 0 18 18) +Process: 3 I/O blocked... (2000 0 19 19) +Process: 4 registered... (2000 100 1600 1600) +Process: 4 I/O blocked... (2000 100 1700 1700) +Process: 3 registered... (2000 0 19 19) +Process: 3 I/O blocked... (2000 0 20 20) +Process: 4 registered... (2000 100 1700 1700) +Process: 4 I/O blocked... (2000 100 1800 1800) +Process: 3 registered... (2000 0 20 20) +Process: 3 I/O blocked... (2000 0 21 21) +Process: 4 registered... (2000 100 1800 1800) +Process: 4 I/O blocked... (2000 100 1900 1900) +Process: 3 registered... (2000 0 21 21) +Process: 3 I/O blocked... (2000 0 22 22) +Process: 4 registered... (2000 100 1900 1900) +Process: 4 completed... (2000 100 2000 2000) +Process: 3 registered... (2000 0 22 22) +Process: 3 I/O blocked... (2000 0 22 22) +Process: 5 registered... (2000 200 0 0) +Process: 5 I/O blocked... (2000 200 200 200) +Process: 3 registered... (2000 0 22 22) +Process: 3 I/O blocked... (2000 0 23 23) +Process: 5 registered... (2000 200 200 200) +Process: 5 I/O blocked... (2000 200 400 400) +Process: 3 registered... (2000 0 23 23) +Process: 3 I/O blocked... (2000 0 24 24) +Process: 5 registered... (2000 200 400 400) +Process: 5 I/O blocked... (2000 200 600 600) +Process: 3 registered... (2000 0 24 24) +Process: 3 I/O blocked... (2000 0 25 25) +Process: 5 registered... (2000 200 600 600) +Process: 5 I/O blocked... (2000 200 800 800) +Process: 3 registered... (2000 0 25 25) +Process: 3 I/O blocked... (2000 0 26 26) +Process: 5 registered... (2000 200 800 800) +Process: 5 I/O blocked... (2000 200 1000 1000) +Process: 3 registered... (2000 0 26 26) +Process: 3 I/O blocked... (2000 0 27 27) +Process: 5 registered... (2000 200 1000 1000) +Process: 5 I/O blocked... (2000 200 1200 1200) +Process: 3 registered... (2000 0 27 27) +Process: 3 I/O blocked... (2000 0 28 28) +Process: 5 registered... (2000 200 1200 1200) +Process: 5 I/O blocked... (2000 200 1400 1400) +Process: 3 registered... (2000 0 28 28) +Process: 3 I/O blocked... (2000 0 29 29) +Process: 5 registered... (2000 200 1400 1400) +Process: 5 I/O blocked... (2000 200 1600 1600) +Process: 3 registered... (2000 0 29 29) +Process: 3 I/O blocked... (2000 0 30 30) +Process: 5 registered... (2000 200 1600 1600) +Process: 5 I/O blocked... (2000 200 1800 1800) +Process: 3 registered... (2000 0 30 30) +Process: 3 I/O blocked... (2000 0 31 31) +Process: 5 registered... (2000 200 1800 1800) diff --git a/EOPSY/lab3/task3/processestwo b/EOPSY/lab3/task3/processestwo new file mode 100644 index 00000000..ba298264 --- /dev/null +++ b/EOPSY/lab3/task3/processestwo @@ -0,0 +1,16 @@ +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) diff --git a/EOPSY/lab3/task3/resultsfive b/EOPSY/lab3/task3/resultsfive new file mode 100644 index 00000000..e46d5659 --- /dev/null +++ b/EOPSY/lab3/task3/resultsfive @@ -0,0 +1,11 @@ +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 10000 +Mean: 2000 +Standard Deviation: 0 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 2000 (ms) 500 (ms) 2000 (ms) 3 times +1 2000 (ms) 500 (ms) 2000 (ms) 3 times +2 2000 (ms) 500 (ms) 2000 (ms) 3 times +3 2000 (ms) 0 (ms) 2000 (ms) 2001 times +4 2000 (ms) 100 (ms) 2000 (ms) 19 times diff --git a/EOPSY/lab3/task3/resultsten b/EOPSY/lab3/task3/resultsten new file mode 100644 index 00000000..6b061898 --- /dev/null +++ b/EOPSY/lab3/task3/resultsten @@ -0,0 +1,16 @@ +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 10000 +Mean: 2000 +Standard Deviation: 0 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 2000 (ms) 500 (ms) 2000 (ms) 3 times +1 2000 (ms) 500 (ms) 2000 (ms) 3 times +2 2000 (ms) 500 (ms) 2000 (ms) 3 times +3 2000 (ms) 0 (ms) 31 (ms) 33 times +4 2000 (ms) 100 (ms) 2000 (ms) 19 times +5 2000 (ms) 200 (ms) 1969 (ms) 9 times +6 2000 (ms) 300 (ms) 0 (ms) 0 times +7 2000 (ms) 400 (ms) 0 (ms) 0 times +8 2000 (ms) 500 (ms) 0 (ms) 0 times +9 2000 (ms) 600 (ms) 0 (ms) 0 times diff --git a/EOPSY/lab3/task3/resultstwo b/EOPSY/lab3/task3/resultstwo new file mode 100644 index 00000000..bc95877d --- /dev/null +++ b/EOPSY/lab3/task3/resultstwo @@ -0,0 +1,8 @@ +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 4000 +Mean: 2000 +Standard Deviation: 0 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 2000 (ms) 500 (ms) 2000 (ms) 3 times +1 2000 (ms) 500 (ms) 2000 (ms) 3 times diff --git a/EOPSY/lab3/task3/work/COPYING.TXT b/EOPSY/lab3/task3/work/COPYING.TXT new file mode 100644 index 00000000..60549be5 --- /dev/null +++ b/EOPSY/lab3/task3/work/COPYING.TXT @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/EOPSY/lab3/task3/work/Common.class b/EOPSY/lab3/task3/work/Common.class new file mode 100644 index 0000000000000000000000000000000000000000..7273770b3c102668fe0749d86b882ba8ac06e7d9 GIT binary patch literal 1906 zcmaJ>-&Ye?5dLm9*(J;JBN7AwMUF@kL?d9e3KeQ11te+#v0`hxglkx`*^Rq57XF6* z0j1hL`@%V%_5pM3IqGwt`q;<*2ll0XYHMdV0YXW;9OmAcJNKKJ?@s2YzhAxra0w+9 zF}$xLiOVXkU`)Yy7$4xOiXbMAkV{HM8rKy}sbv00MHthbm{Bk*Pbyz6T^xE#*PC!d zp7@pA=~FR)Ir;T(`&z~`-IOPz6_Y&KTHQ?iyzA72Tk`AQzwy2&^28qx{ZD>Vb@T$< zR`9Wcc?NmhuncjPL5e4q7=kH#l{2)=85X};Dy(p4QC~61BDo_5LwkH~U4N`6P2I{R z7ldP2xv|6yL(_uLv-yl(^t}}mz*r0GCcgo zlwBy;);SMeLmUYWi@2j;NyA;7W$4|HTghw6b_%+}Pc+=avWEM(!_a!o zwuLJky_n%*&0cj|WPI9y&on&1=L){ipksyHeAJRK%;daot=a_*S*&{TxrT?J3Yz!h zW^}QpAqNs87}apW6YqJ#@NDZ?BRVT(>>~R--C9}aS#iKrp^oS#3JVO;c;Yax43YiV zGnU{v?l3eIb;sqT9>m*p1t%cMF3~}I1<^Qj0n$hk>ReZ=eUYIOoq<7 zTwXcJ7&;1io~LXptBbpaSfiaQbW6Al1NEAqUjA)<{s+@wP>Nnsru84)L`@jUmK=v$ zV$mq@jA5Dv1*P_!CBEXbUYDvC-w{2Qty`&XO3w=0*;GJL{L`pZ!1w(L}FjV^KL-p0mjp4-q`=O5pOU$1k zGMM)pBsoa>aatLzp}`km-_wTS3`x()+lMiPv$T4y>j*%iwO1M++(DoWY5W=5GCv?R zv;+Ai6krDp-P`0IpxM?$gE8QPbrBqVO(DB?(tu`yK8{A5qmu{%@5mTXkfdZ31Y79v zJcg@rf1&GyjW2&h_+A<63pC!K1hnZ`^VU;@V=Z4lMWb(c_U^5>&L;eW#NNRy9YoPw zMr$I9NG>0ua|&IlV+0!QTPW*R`ir0kN6?QbaoJ9@ z;wX*%PGoQl%jlv}(hWf#UVR-1|AkfsVX0C16G310NSa1f(y*yknI=+# zimoVn$~cja=W|=%Ar#z}w)Zk=_8;OTA@@=+@^= 1) { + U = generator.nextDouble(); + } + double V = generator.nextDouble(); + while (V < 0 || V >= 1) { + V = generator.nextDouble(); + } + double X = Math.sqrt((8/Math.E)) * (V - 0.5)/U; + if (!(R2(X,U))) { return -1; } + if (!(R3(X,U))) { return -1; } + if (!(R4(X,U))) { return -1; } + return X; + } + + static public boolean R2 (double X, double U) { + if ((X * X) <= (5 - 4 * Math.exp(.25) * U)) { + return true; + } else { + return false; + } + } + + static public boolean R3 (double X, double U) { + if ((X * X) >= (4 * Math.exp(-1.35) / U + 1.4)) { + return false; + } else { + return true; + } + } + + static public boolean R4 (double X, double U) { + if ((X * X) < (-4 * Math.log(U))) { + return true; + } else { + return false; + } + } + +} + diff --git a/EOPSY/lab3/task3/work/Makefile b/EOPSY/lab3/task3/work/Makefile new file mode 100644 index 00000000..c934ac31 --- /dev/null +++ b/EOPSY/lab3/task3/work/Makefile @@ -0,0 +1,24 @@ + +default: info + + +help: + less README.tjk + +compile: + javac -nowarn *.java + +run: + java Scheduling scheduling.conf + +setup: + ./setUp + +info: + @echo "" + @echo "Use 'make' with one argument:" + @echo "" + @echo " make help" + @echo " make compile" + @echo " make run" + @echo "" diff --git a/EOPSY/lab3/task3/work/Process.class b/EOPSY/lab3/task3/work/Process.class new file mode 100644 index 0000000000000000000000000000000000000000..54bff5247569ee61210b3442e584fd8f360b17ec GIT binary patch literal 399 zcmXX>%}&BV7@UQcLal&5sK}q*pa(g6Fw9W-`V@pKp16<6 zHjVVHk-?j$Nu)QMi)HW{cxa&Kp$6B(j({hyD^Q2a8vkO2rpU*uAYP0g!ljN_s5~6a zaLxx+`DhzTZ1|_dsbHEFOuvF@Sui`IN!=c&DN3l2&-@Q4zmucncXO2eUJlD|SvhRK iW#_287dQ8beI|mL7V{*r&b$K_Z?pG+li~!r9{vK+NOv(;!`6~y2DQ_aGZRCb)Fn>vuHXA=fq(ROO9|#ldmTVWGugD{yegVC^If$A8(MqP2)C2HhJh za78DZ^cgxxjTUuu!mg6VcBZFrM7&GW7#a+!J^usDA2!hZ>jt`i*}!<;s@sHpas~Ms Rrl`32TxOV0oR literal 0 HcmV?d00001 diff --git a/EOPSY/lab3/task3/work/Results.java b/EOPSY/lab3/task3/work/Results.java new file mode 100644 index 00000000..f6198df5 --- /dev/null +++ b/EOPSY/lab3/task3/work/Results.java @@ -0,0 +1,11 @@ +public class Results { + public String schedulingType; + public String schedulingName; + public int compuTime; + + public Results (String schedulingType, String schedulingName, int compuTime) { + this.schedulingType = schedulingType; + this.schedulingName = schedulingName; + this.compuTime = compuTime; + } +} diff --git a/EOPSY/lab3/task3/work/Scheduling.class b/EOPSY/lab3/task3/work/Scheduling.class new file mode 100644 index 0000000000000000000000000000000000000000..9ed7e25bef299044647e324fd65d7682fdfad010 GIT binary patch literal 4770 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'"); + System.exit(-1); + } + File f = new File(args[0]); + if (!(f.exists())) { + System.out.println("Scheduling: error, file '" + f.getName() + "' does not exist."); + System.exit(-1); + } + if (!(f.canRead())) { + System.out.println("Scheduling: error, read of " + f.getName() + " failed."); + System.exit(-1); + } + System.out.println("Working..."); + Init(args[0]); + if (processVector.size() < processnum) { + i = 0; + while (processVector.size() < processnum) { + double X = Common.R1(); + while (X == -1.0) { + X = Common.R1(); + } + X = X * standardDev; + int cputime = (int) X + meanDev; + processVector.addElement(new sProcess(cputime,i*100,0,0,0)); + i++; + } + } + result = SchedulingAlgorithm.Run(runtime, processVector, result); + try { + //BufferedWriter out = new BufferedWriter(new FileWriter(resultsFile)); + PrintStream out = new PrintStream(new FileOutputStream(resultsFile)); + out.println("Scheduling Type: " + result.schedulingType); + out.println("Scheduling Name: " + result.schedulingName); + out.println("Simulation Run Time: " + result.compuTime); + out.println("Mean: " + meanDev); + out.println("Standard Deviation: " + standardDev); + out.println("Process #\tCPU Time\tIO Blocking\tCPU Completed\tCPU Blocked"); + for (i = 0; i < processVector.size(); i++) { + sProcess process = (sProcess) processVector.elementAt(i); + out.print(Integer.toString(i)); + if (i < 100) { out.print("\t\t"); } else { out.print("\t"); } + out.print(Integer.toString(process.cputime)); + if (process.cputime < 100) { out.print(" (ms)\t\t"); } else { out.print(" (ms)\t"); } + out.print(Integer.toString(process.ioblocking)); + if (process.ioblocking < 100) { out.print(" (ms)\t\t"); } else { out.print(" (ms)\t"); } + out.print(Integer.toString(process.cpudone)); + if (process.cpudone < 100) { out.print(" (ms)\t\t"); } else { out.print(" (ms)\t"); } + out.println(process.numblocked + " times"); + } + out.close(); + } catch (IOException e) { /* Handle exceptions */ } + System.out.println("Completed."); + } +} + diff --git a/EOPSY/lab3/task3/work/SchedulingAlgorithm.class b/EOPSY/lab3/task3/work/SchedulingAlgorithm.class new file mode 100644 index 0000000000000000000000000000000000000000..aa9a28c287c32bb4e92bddcf8324d9ba8259cad4 GIT binary patch literal 2242 zcmb7F-ES0C6#w1s$IMQrA8fm&i!Ls-$Zoss^0`14itR#Wv9!omu;K^P-D^AT?966n zwt~L$?1L|wkYGbpq9g_rS|TLq1Bp=+jfpQl@rRI5&z;?t#TFBGlXK^uk9&USoZp@K z?a93d01jb6!AnRe=s{9OpN#$xdXbVbAl5+%X$gB2gs@kEjD5myzk~xJwBVo+86ggZ z>8Px5I2r~+R)h|V?Qvm!EsQ3iYr&|5oP-k+PBH|K>Za}vGx!q8^9=r+RpJb7M(Y5UC_&M%W4cEyg*Pj?#3a(aMIHOg( zcnMLpNtfj9JUp-MR9hNTA|n#8l*Qnqfe85dN%jcFC{U_!=474M3G_e6c~qafo06_-TxIutQkFjDwx_$qjvO<#b6W3JVUFqK8UF+ z6;g+5b8d*pKI1i^mB}lT*ytu`6s_y2$&Ibd3R{R9yv$8^gfK@E`DDWhwNfaNRHXLn zA_F6Eif+vqR&l|DElefL}W_*w8|BOyBl(ZgrPd+fesW6%OUVV znjpVSb@ntIkWWv>y>d1jp_p{zM4`MSp(sd0W9of6Y29437I?Y_uvX5PCa&NW2|8sP zx2%O~g+a}mCbx5jR=X=-G!ChLMvb4RG_z!Ir?(cEZJ0#82@RTO0tH7lalhE$U!P@T zXX{7gG{Y$9F3(DsXV|r&zRj>PZ2x~h?7%j9gNk1hz5D3xL2^6o#L8$5^xXyffgTuM zAsO_PGQCmb6zaM9gjOYozkI{KjNg|D_%gx%6*OfeUq%l5hC->Ze;I*PIJgYyKIG~9 z2u(*rccI)x^N`XX39LZ<87)K2Q6&~Oi0d(u2 zyO!|T^FeL(Kt-FU@1Wa%X&K$oX5TWpB7sbB4OMb;RB9v``|>Hae_jY1rE3@IypFbA z7d<9bmr!+G^|PB#zV=#k6M-S6)~eKP;zTdLW4|DZTkN5?HhDC7fHaYznd~Y8^l6mQ zO1m~1Q#(3IcB6w>)Jf6Z$WZhMu}mYL%@V_0;?_rG{hUs^PBi+8i1aOX;ud+|!7e<& ztN0ze@dxeyMjsxbAFCK(Dh62!X?6&E*fH#7BiP4IV?Ue10XB<+Y@YTN9A=;32)l+X z`vynZ_c+FW#Buf$M%Y7)vR{#7f8qpX1AQc0R|%BLB=kt=W!_K1E(x+kCE+ph{#c;z zF~)iVeX+nQBq;y&1u3HRF(Am|0`10!v?_EjN|*zu!VlBFlk7)GH{{7= 0; i--) { + process = (sProcess) processVector.elementAt(i); + if (process.cpudone < process.cputime) { + currentProcess = i; + } + } + process = (sProcess) processVector.elementAt(currentProcess); + out.println("Process: " + currentProcess + " registered... (" + process.cputime + " " + process.ioblocking + " " + process.cpudone + " " + process.cpudone + ")"); + } + if (process.ioblocking == process.ionext) { + out.println("Process: " + currentProcess + " I/O blocked... (" + process.cputime + " " + process.ioblocking + " " + process.cpudone + " " + process.cpudone + ")"); + process.numblocked++; + process.ionext = 0; + previousProcess = currentProcess; + for (i = size - 1; i >= 0; i--) { + process = (sProcess) processVector.elementAt(i); + if (process.cpudone < process.cputime && previousProcess != i) { + currentProcess = i; + } + } + process = (sProcess) processVector.elementAt(currentProcess); + out.println("Process: " + currentProcess + " registered... (" + process.cputime + " " + process.ioblocking + " " + process.cpudone + " " + process.cpudone + ")"); + } + process.cpudone++; + if (process.ioblocking > 0) { + process.ionext++; + } + comptime++; + } + out.close(); + } catch (IOException e) { /* Handle exceptions */ } + result.compuTime = comptime; + return result; + } +} diff --git a/EOPSY/lab3/task3/work/Summary-Processes b/EOPSY/lab3/task3/work/Summary-Processes new file mode 100644 index 00000000..3f090156 --- /dev/null +++ b/EOPSY/lab3/task3/work/Summary-Processes @@ -0,0 +1,39 @@ +Process: 0 registered... (2000 500 0 0) +Process: 0 I/O blocked... (2000 500 500 500) +Process: 1 registered... (2000 500 0 0) +Process: 1 I/O blocked... (2000 500 500 500) +Process: 0 registered... (2000 500 500 500) +Process: 0 I/O blocked... (2000 500 1000 1000) +Process: 1 registered... (2000 500 500 500) +Process: 1 I/O blocked... (2000 500 1000 1000) +Process: 0 registered... (2000 500 1000 1000) +Process: 0 I/O blocked... (2000 500 1500 1500) +Process: 1 registered... (2000 500 1000 1000) +Process: 1 I/O blocked... (2000 500 1500 1500) +Process: 0 registered... (2000 500 1500 1500) +Process: 0 completed... (2000 500 2000 2000) +Process: 1 registered... (2000 500 1500 1500) +Process: 1 completed... (2000 500 2000 2000) +Process: 2 registered... (2000 500 0 0) +Process: 2 I/O blocked... (2000 500 500 500) +Process: 3 registered... (2000 500 0 0) +Process: 3 I/O blocked... (2000 500 500 500) +Process: 2 registered... (2000 500 500 500) +Process: 2 I/O blocked... (2000 500 1000 1000) +Process: 3 registered... (2000 500 500 500) +Process: 3 I/O blocked... (2000 500 1000 1000) +Process: 2 registered... (2000 500 1000 1000) +Process: 2 I/O blocked... (2000 500 1500 1500) +Process: 3 registered... (2000 500 1000 1000) +Process: 3 I/O blocked... (2000 500 1500 1500) +Process: 2 registered... (2000 500 1500 1500) +Process: 2 completed... (2000 500 2000 2000) +Process: 3 registered... (2000 500 1500 1500) +Process: 3 completed... (2000 500 2000 2000) +Process: 4 registered... (2000 500 0 0) +Process: 4 I/O blocked... (2000 500 500 500) +Process: 5 registered... (2000 500 0 0) +Process: 5 I/O blocked... (2000 500 500 500) +Process: 4 registered... (2000 500 500 500) +Process: 4 I/O blocked... (2000 500 1000 1000) +Process: 5 registered... (2000 500 500 500) diff --git a/EOPSY/lab3/task3/work/Summary-Results b/EOPSY/lab3/task3/work/Summary-Results new file mode 100644 index 00000000..6b0ad3e5 --- /dev/null +++ b/EOPSY/lab3/task3/work/Summary-Results @@ -0,0 +1,16 @@ +Scheduling Type: Batch (Nonpreemptive) +Scheduling Name: First-Come First-Served +Simulation Run Time: 10000 +Mean: 2000 +Standard Deviation: 0 +Process # CPU Time IO Blocking CPU Completed CPU Blocked +0 2000 (ms) 500 (ms) 2000 (ms) 3 times +1 2000 (ms) 500 (ms) 2000 (ms) 3 times +2 2000 (ms) 500 (ms) 2000 (ms) 3 times +3 2000 (ms) 500 (ms) 2000 (ms) 3 times +4 2000 (ms) 500 (ms) 1000 (ms) 2 times +5 2000 (ms) 500 (ms) 1000 (ms) 1 times +6 2000 (ms) 500 (ms) 0 (ms) 0 times +7 2000 (ms) 500 (ms) 0 (ms) 0 times +8 2000 (ms) 500 (ms) 0 (ms) 0 times +9 2000 (ms) 500 (ms) 0 (ms) 0 times diff --git a/EOPSY/lab3/task3/work/description.txt b/EOPSY/lab3/task3/work/description.txt new file mode 100644 index 00000000..1d5b4034 --- /dev/null +++ b/EOPSY/lab3/task3/work/description.txt @@ -0,0 +1,8 @@ +The scheduling simulator illustrates the behavior of scheduling +algorithms against a simulated mix of process loads. The user can +specify the number of processes, the mean and standard deviation +for compute time and I/O blocking time for each process, and the +duration of the simulation. At the end of the simulation a +statistical summary is presented. Students may also be asked to +write their own scheduling algorithms to be used with process +loads defined by the instructor. diff --git a/EOPSY/lab3/task3/work/install_unix.html b/EOPSY/lab3/task3/work/install_unix.html new file mode 100644 index 00000000..2ed3f10c --- /dev/null +++ b/EOPSY/lab3/task3/work/install_unix.html @@ -0,0 +1,512 @@ + + +MOSS | Scheduling Simlulator | Installation | + + +Unix + + + + + +

MOSS Scheduling Simulator + + +
Installation on Unix/Linux/Solaris/HP-UX Systems

+ + +

Purpose

+ +

+This installation guide only provides information about installing +the software and testing the configuration for + +Unix-like operating systems. To install on Windows +operating systems, please read the +Installation Guide for +Win95/98/Me/NT/2000 Systems. + + +For more detailed information about the simulator, please read the +User Guide. +

+

Requirements

+ +The following software components are required +to install and use the MOSS Scheduling +Simulator. +
    + + +
  • X-windows environment for running Java Application Window Toolkit (AWT) programs + +
  • Java Development Kit (JDK) 1.0 or greater +
  • Text program editor (e.g., notepad) +
+ +

Pre-Installation

+

+Before installation, you should verify: +

+
    +
  • that you have a working java runtime environment, +
  • that you have a working java development environment, and +
  • that the working directory is in the classpath for the runtime environment. +
+

+If you're using a standard command-line java compiler, the following +instructions will help determine if your environment is configured +correctly. +

+
    +
  1. Verify that you have java installed and configured in your environment. + + +
    +$ java -version
    +
    + +You should see a message like this with possibly a different version number. +
    +java version "1.1.8"
    +
    +If you get a message like: + + +
    +java: Command not found.
    +
    + +Then java may not be installed on your system, or may not be configured +for your use. +

    +If you think that Java may already be installed on your system +but may not be in your "path", you can find it by + + +

    +$ find /usr -name java -print
    +
    +On my system, for example, the following is returned. +
    +/usr/lib/netscape/477/communicator/java
    +/usr/lib/netscape/477/netscape/java
    +/usr/lib/jdk1.1/bin/java
    +/usr/lib/jdk1.1/bin/ia32/green_threads/java
    +/usr/share/java
    +/usr/bin/java
    +/usr/src/kernel-source-2.2.17/include/config/binfmt/java
    +
    +On my system, I also searched for "javac" and found +that it exists in /usr/bin/java. I'll use this jdk for my +installation. + +

    +If Java isn't available on your system, you should check with +your instructor or system administrator. If you administer your +own system, then you should be able to find a copy of Java +for your operating system. +

    +If you find that java is installed but not configured for +your use, then perhaps you need to add it to your path. Consult +your instructor or system administrator if you need help adding this +to your path. +

    +

    + +
  2. Verify that the java compiler is installed and configured in +your environment. + + +
    +$ javac
    +
    + +If you're using a standard java command-line compiler, you should +see a message similar to this. +
    +use: javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath path][-nowrite][-deprecation][-d dir][-J] file.java...
    +
    +If you get a message like: + + +
    +javac: Command not found.
    +
    + +then the java compiler may not be installed on your system, or +may not be configured for your use. Consult your instructor +or system administrator. +

    + +
  3. Verify that that the current directory is in your classpath. + + +
    +$ echo $CLASSPATH
    +
    +You should see a list of directories separated by colons (":") +or possibly just a blank line. If you don't see the directory +"." (a single period, which stands for the current directory), then +you should add it to the claspath. +

    +Determine which shell you're using: +

    +
    +$ echo $SHELL
    +
    + +

    +If you're using sh, ksh, or bash: +

    +
    +$ CLASSPATH=.:$CLASSPATH
    +$ export CLASSPATH
    +
    + +

    +If you're using csh, or tcsh: +

    +
    +% set CLASSPATH=.:$CLASSPATH
    +
    + +

    + +
+

+If you have a working java runtime environment, a working java +compiler, and the current directory is in your path, then you're +ready to proceed with the installation. +

+ + +

Installation

+ +Installation of the software can be accomplished with +these simple steps: +
    +
  1. + + +Create a directory in which you wish to install the +simulator (e.g., "moss/sched"). +
    +$ cd
    +$ mkdir moss
    +$ cd moss
    +$ mkdir sched
    +$ cd sched
    +
    + +

    + +
  2. + + +Download the compressed tar archive (sched.tgz) into +the directory. +The latest release for this file can always be found at +http://www.ontko.com/moss/sched/sched.tgz. + +

    + +
  3. + + +Expand the compressed tar archive. +
    +$ tar -xzf sched.tgz
    +
    +or +
    +$ gunzip sched.tgz
    +$ tar xf sched.tar
    +
    + +

    + +
+

Files

+

+The directory should now contain the following files: +

+ + + + + + + + + +
Files +Description +
+ + +sched.tgz +Compressed tar + +archive which contains all the other files. +
Common.java +
Process.java +
Results.java +
Scheduling.java +
SchedulingAlgorithm.java +
sProcess.java +
+Java source files (*.java) +
Common.class +
Process.class +
Results.class +
Scheduling.class +
SchedulingAlgorithm.class +
sProcess.class +
+Compiled Java class files (*.class) +
scheduling.conf +Sample configuration file +
install_unix.html +
install_windows.html +
user_guide.html +
+Documentation +
COPYING.TXTGnu General Public License: Terms and Conditions +for Copying, Distribution, and Modification +
+ +

Compilation

+ +

+The distribution includes compiled class files as +well as the source java files. You should not need +to recompile unless you decide to change the code. +If you wish to compile the code, +the following commands should work if you're using +a Java compiler that accepts the normal "javac" command +line. + + +

+To determine which shell you're using: +

+
+$ echo $SHELL
+
+ +

+If you're using sh, ksh, bash: +

+
+$ CLASSPATH=.
+$ export CLASSPATH
+$ javac -nowarn *.java
+
+ +

+If you're using csh, tcsh: +

+
+% set CLASSPATH=.
+% javac -nowarn *.java
+
+ + +The -nowarn flag supresses warning messges, of which +there may be several. For backward compatability we use only +those features of Java which have been present from the beginning, +some of which are deprecated and are usually reported by the +compiler with warning messages. + +

Test

+ +

+To test the program, enter the following commands. + + + +

+$ java Scheduling scheduling.conf
+
+ + +

+The program will simply run the simulation based on the +information provided in scheduling.conf and write its +output to the Summary-Results and +Summary-Processes files. You should see the following +output. +

+Working...
+Completed.
+
+
+ +

+The simulation configuration information is read from a file called +"scheduling.conf". +The "scheduling.conf" file looks something like this: +

+// # of Process	
+numprocess 3
+
+// mean deivation
+meandev 1100
+
+// standard deviation
+standdev 510
+
+// process    # I/O blocking
+process 100
+process 500
+process 30
+
+// duration of the simulation in milliseconds
+runtime 5000
+
+
+ +

+If things are working correctly, the "Summary-Results" file should look +something like this: + +

+Scheduling Type: Batch (Nonpreemptive)
+Scheduling Name: First-Come First-Served
+Simulation Run Time: 2750
+Mean: 1100
+Standard Deviation: 510
+Process #	CPU Time	IO Blocking	CPU Completed	CPU Blocked
+0		1372 (ms)	100 (ms)	1372 (ms)	13 times
+1		689 (ms)	500 (ms)	689 (ms)	1 times
+2		689 (ms)	30 (ms)		689 (ms)	22 times
+
+
+ +and the "Summary-Processes" file should look something like +this: + +
+Process: 0 registered... (1372 100 0 0)
+Process: 0 I/O blocked... (1372 100 100 100)
+Process: 1 registered... (689 500 0 0)
+Process: 1 I/O blocked... (689 500 500 500)
+Process: 0 registered... (1372 100 100 100)
+Process: 0 I/O blocked... (1372 100 200 200)
+Process: 1 registered... (689 500 500 500)
+Process: 1 completed... (689 500 689 689)
+Process: 0 registered... (1372 100 200 200)
+Process: 0 I/O blocked... (1372 100 300 300)
+Process: 2 registered... (689 30 0 0)
+Process: 2 I/O blocked... (689 30 30 30)
+Process: 0 registered... (1372 100 300 300)
+Process: 0 I/O blocked... (1372 100 400 400)
+Process: 2 registered... (689 30 30 30)
+Process: 2 I/O blocked... (689 30 60 60)
+Process: 0 registered... (1372 100 400 400)
+Process: 0 I/O blocked... (1372 100 500 500)
+Process: 2 registered... (689 30 60 60)
+Process: 2 I/O blocked... (689 30 90 90)
+Process: 0 registered... (1372 100 500 500)
+Process: 0 I/O blocked... (1372 100 600 600)
+Process: 2 registered... (689 30 90 90)
+Process: 2 I/O blocked... (689 30 120 120)
+Process: 0 registered... (1372 100 600 600)
+Process: 0 I/O blocked... (1372 100 700 700)
+Process: 2 registered... (689 30 120 120)
+Process: 2 I/O blocked... (689 30 150 150)
+Process: 0 registered... (1372 100 700 700)
+Process: 0 I/O blocked... (1372 100 800 800)
+Process: 2 registered... (689 30 150 150)
+Process: 2 I/O blocked... (689 30 180 180)
+Process: 0 registered... (1372 100 800 800)
+Process: 0 I/O blocked... (1372 100 900 900)
+Process: 2 registered... (689 30 180 180)
+Process: 2 I/O blocked... (689 30 210 210)
+Process: 0 registered... (1372 100 900 900)
+Process: 0 I/O blocked... (1372 100 1000 1000)
+Process: 2 registered... (689 30 210 210)
+Process: 2 I/O blocked... (689 30 240 240)
+Process: 0 registered... (1372 100 1000 1000)
+Process: 0 I/O blocked... (1372 100 1100 1100)
+Process: 2 registered... (689 30 240 240)
+Process: 2 I/O blocked... (689 30 270 270)
+Process: 0 registered... (1372 100 1100 1100)
+Process: 0 I/O blocked... (1372 100 1200 1200)
+Process: 2 registered... (689 30 270 270)
+Process: 2 I/O blocked... (689 30 300 300)
+Process: 0 registered... (1372 100 1200 1200)
+Process: 0 I/O blocked... (1372 100 1300 1300)
+Process: 2 registered... (689 30 300 300)
+Process: 2 I/O blocked... (689 30 330 330)
+Process: 0 registered... (1372 100 1300 1300)
+Process: 0 completed... (1372 100 1372 1372)
+Process: 2 registered... (689 30 330 330)
+Process: 2 I/O blocked... (689 30 360 360)
+Process: 2 registered... (689 30 360 360)
+Process: 2 I/O blocked... (689 30 390 390)
+Process: 2 registered... (689 30 390 390)
+Process: 2 I/O blocked... (689 30 420 420)
+Process: 2 registered... (689 30 420 420)
+Process: 2 I/O blocked... (689 30 450 450)
+Process: 2 registered... (689 30 450 450)
+Process: 2 I/O blocked... (689 30 480 480)
+Process: 2 registered... (689 30 480 480)
+Process: 2 I/O blocked... (689 30 510 510)
+Process: 2 registered... (689 30 510 510)
+Process: 2 I/O blocked... (689 30 540 540)
+Process: 2 registered... (689 30 540 540)
+Process: 2 I/O blocked... (689 30 570 570)
+Process: 2 registered... (689 30 570 570)
+Process: 2 I/O blocked... (689 30 600 600)
+Process: 2 registered... (689 30 600 600)
+Process: 2 I/O blocked... (689 30 630 630)
+Process: 2 registered... (689 30 630 630)
+Process: 2 I/O blocked... (689 30 660 660)
+Process: 2 registered... (689 30 660 660)
+Process: 2 completed... (689 30 689 689)
+
+
+ +

+The program and its input and output files are described +more fully in the MOSS Scheduling Simulator +User Guide. +

+© Copyright 2001, Prentice-Hall, Inc. +This program is free software; it is distributed under the +terms of the Gnu General Public License. +See COPYING.TXT, +included with this distribution. +

+Please send suggestions, corrections, and comments to +Ray Ontko (rayo@ontko.com). +

+Last updated: July 7, 2001 + + diff --git a/EOPSY/lab3/task3/work/install_windows.html b/EOPSY/lab3/task3/work/install_windows.html new file mode 100644 index 00000000..acf1418f --- /dev/null +++ b/EOPSY/lab3/task3/work/install_windows.html @@ -0,0 +1,467 @@ + + +MOSS | Scheduling Simlulator | Installation | + +Windows + + + + + + +

MOSS Scheduling Simulator + +
Installation on Windows 95/98/Me/NT/2000 Systems

+ + + +

Purpose

+ +

+This document provides instructions for the installation +of the MOSS Scheduling Simulator on + +Microsoft Windows + + +operating systems. This procedure should be the same or similar on + +Windows 95, 98, Me, NT, and 2000 + + +systems. +The MOSS software +is designed for use with +Andrew S. Tanenbaum, +Modern Operating Systems, 2nd Edition +(Prentice Hall, 2001). +The Scheduling Simulator was written by +Alex Reeder +(alexr@e-sa.org). +This installation guide was written by +Ray Ontko +(rayo@ontko.com). +

+This installation guide only provides information about installing +the software and testing the configuration for + + +Windows operating systems. To install on Unix-like +operating systems, please read the +Installation Guide for +Unix/Linux/Solaris/HP-UX Systems. + +For more detailed information about the simulator, please read the +User Guide. +

+

Requirements

+ +The following software components are required +to install and use the MOSS Scheduling +Simulator. +
    + +
  • Microsoft Windows 95, 98, Me, NT, or 2000 + + +
  • Java Development Kit (JDK) 1.0 or greater +
  • Text program editor (e.g., notepad) +
+ +

Pre-Installation

+

+Before installation, you should verify: +

+
    +
  • that you have a working java runtime environment, +
  • that you have a working java development environment, and +
  • that the working directory is in the classpath for the runtime environment. +
+

+If you're using a standard command-line java compiler, the following +instructions will help determine if your environment is configured +correctly. +

+
    +
  1. Verify that you have java installed and configured in your environment. + +
    +C:\WINDOWS> java -version
    +
    + + +You should see a message like this with possibly a different version number. +
    +java version "1.1.8"
    +
    +If you get a message like: + +
    +Bad command or file name
    +
    + + +Then java may not be installed on your system, or may not be configured +for your use. +

    +If you think that Java may already be installed on your system +but may not be in your "path", you can find it by + +choosing Start -> Find -> Files or Folders +and enter "java.exe" in the "Named:" field and click the Find Now button. +If found, make note of the directory folder in which it resides (e.g., +"C:\jdk1.1.8\bin"). +

    +While you're at it, also seach for javac.exe to see if the Java +compiler is installed and whether it's in the same directory as +the java.exe file. + + +

    +If Java isn't available on your system, you should check with +your instructor or system administrator. If you administer your +own system, then you should be able to find a copy of Java +for your operating system. +

    +If you find that java is installed but not configured for +your use, then perhaps you need to add it to your path. Consult +your instructor or system administrator if you need help adding this +to your path. +

    +

    + +
  2. Verify that the java compiler is installed and configured in +your environment. + +
    +C:\WINDOWS> javac
    +
    + + +If you're using a standard java command-line compiler, you should +see a message similar to this. +
    +use: javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath path][-nowrite][-deprecation][-d dir][-J] file.java...
    +
    +If you get a message like: + +
    +Bad command or file name
    +
    + + +then the java compiler may not be installed on your system, or +may not be configured for your use. Consult your instructor +or system administrator. +

    + +
  3. Verify that that the current directory is in your classpath. + +
    +C:\WINDOWS> echo "%CLASSPATH%"
    +
    +You should see a list of directories separated by semi-colons (";") +or possibly just "". If you don't see the directory "." (a single +period, which stands for the current directory), then you should +add it to the classpath. +
    +C:\WINDOWS> set CLASSPATH=.;%CLASSPATH%
    +
    + + +

    + +
+

+If you have a working java runtime environment, a working java +compiler, and the current directory is in your path, then you're +ready to proceed with the installation. +

+ + +

Installation

+ +Installation of the software can be accomplished with +these simple steps: +
    +
  1. + +Create a directory folder in which you wish to install +the simulator (e.g., "C:\moss\sched"). You can do +this using the Windows explorer, or from the MS-DOS +prompt. To create the directory from the MS-DOS +prompt: +
    +C:\WINDOWS> cd \ 
    +C:\> mkdir moss
    +C:\> cd moss
    +C:\moss> mkdir sched
    +C:\moss> cd sched
    +C:\moss\sched>
    +
    + + +

    + +
  2. + +Download the self-extracting ZIP archive (sched.exe) into +the directory folder. +The latest release for this file can always be found at +http://www.ontko.com/moss/sched/sched.exe. + + +

    + +
  3. + +Double-click on the file you downloaded (sched.exe), +or invoke it using Start -> Run..., or invoke it +from an MS-DOS command prompt: +
    +C:\moss\sched> sched.exe
    +
    + + +

    + +
+

Files

+

+The directory should now contain the following files: +

+ + + + + + + + + +
Files +Description +
+ +sched.exe +Self-extracting ZIP + + +archive which contains all the other files. +
Common.java +
Process.java +
Results.java +
Scheduling.java +
SchedulingAlgorithm.java +
sProcess.java +
+Java source files (*.java) +
Common.class +
Process.class +
Results.class +
Scheduling.class +
SchedulingAlgorithm.class +
sProcess.class +
+Compiled Java class files (*.class) +
scheduling.conf +Sample configuration file +
install_unix.html +
install_windows.html +
user_guide.html +
+Documentation +
COPYING.TXTGnu General Public License: Terms and Conditions +for Copying, Distribution, and Modification +
+ +

Compilation

+ +

+The distribution includes compiled class files as +well as the source java files. You should not need +to recompile unless you decide to change the code. +If you wish to compile the code, +the following commands should work if you're using +a Java compiler that accepts the normal "javac" command +line. + +

+C:\moss\sched> javac -nowarn *.java
+
+ + + +The -nowarn flag supresses warning messges, of which +there may be several. For backward compatability we use only +those features of Java which have been present from the beginning, +some of which are deprecated and are usually reported by the +compiler with warning messages. + +

Test

+ +

+To test the program, enter the following commands. + + +

+C:\moss\sched> java Scheduling scheduling.conf
+
+ + + +

+The program will simply run the simulation based on the +information provided in scheduling.conf and write its +output to the Summary-Results and +Summary-Processes files. You should see the following +output. +

+Working...
+Completed.
+
+
+ +

+The simulation configuration information is read from a file called +"scheduling.conf". +The "scheduling.conf" file looks something like this: +

+// # of Process	
+numprocess 3
+
+// mean deivation
+meandev 1100
+
+// standard deviation
+standdev 510
+
+// process    # I/O blocking
+process 100
+process 500
+process 30
+
+// duration of the simulation in milliseconds
+runtime 5000
+
+
+ +

+If things are working correctly, the "Summary-Results" file should look +something like this: + +

+Scheduling Type: Batch (Nonpreemptive)
+Scheduling Name: First-Come First-Served
+Simulation Run Time: 2750
+Mean: 1100
+Standard Deviation: 510
+Process #	CPU Time	IO Blocking	CPU Completed	CPU Blocked
+0		1372 (ms)	100 (ms)	1372 (ms)	13 times
+1		689 (ms)	500 (ms)	689 (ms)	1 times
+2		689 (ms)	30 (ms)		689 (ms)	22 times
+
+
+ +and the "Summary-Processes" file should look something like +this: + +
+Process: 0 registered... (1372 100 0 0)
+Process: 0 I/O blocked... (1372 100 100 100)
+Process: 1 registered... (689 500 0 0)
+Process: 1 I/O blocked... (689 500 500 500)
+Process: 0 registered... (1372 100 100 100)
+Process: 0 I/O blocked... (1372 100 200 200)
+Process: 1 registered... (689 500 500 500)
+Process: 1 completed... (689 500 689 689)
+Process: 0 registered... (1372 100 200 200)
+Process: 0 I/O blocked... (1372 100 300 300)
+Process: 2 registered... (689 30 0 0)
+Process: 2 I/O blocked... (689 30 30 30)
+Process: 0 registered... (1372 100 300 300)
+Process: 0 I/O blocked... (1372 100 400 400)
+Process: 2 registered... (689 30 30 30)
+Process: 2 I/O blocked... (689 30 60 60)
+Process: 0 registered... (1372 100 400 400)
+Process: 0 I/O blocked... (1372 100 500 500)
+Process: 2 registered... (689 30 60 60)
+Process: 2 I/O blocked... (689 30 90 90)
+Process: 0 registered... (1372 100 500 500)
+Process: 0 I/O blocked... (1372 100 600 600)
+Process: 2 registered... (689 30 90 90)
+Process: 2 I/O blocked... (689 30 120 120)
+Process: 0 registered... (1372 100 600 600)
+Process: 0 I/O blocked... (1372 100 700 700)
+Process: 2 registered... (689 30 120 120)
+Process: 2 I/O blocked... (689 30 150 150)
+Process: 0 registered... (1372 100 700 700)
+Process: 0 I/O blocked... (1372 100 800 800)
+Process: 2 registered... (689 30 150 150)
+Process: 2 I/O blocked... (689 30 180 180)
+Process: 0 registered... (1372 100 800 800)
+Process: 0 I/O blocked... (1372 100 900 900)
+Process: 2 registered... (689 30 180 180)
+Process: 2 I/O blocked... (689 30 210 210)
+Process: 0 registered... (1372 100 900 900)
+Process: 0 I/O blocked... (1372 100 1000 1000)
+Process: 2 registered... (689 30 210 210)
+Process: 2 I/O blocked... (689 30 240 240)
+Process: 0 registered... (1372 100 1000 1000)
+Process: 0 I/O blocked... (1372 100 1100 1100)
+Process: 2 registered... (689 30 240 240)
+Process: 2 I/O blocked... (689 30 270 270)
+Process: 0 registered... (1372 100 1100 1100)
+Process: 0 I/O blocked... (1372 100 1200 1200)
+Process: 2 registered... (689 30 270 270)
+Process: 2 I/O blocked... (689 30 300 300)
+Process: 0 registered... (1372 100 1200 1200)
+Process: 0 I/O blocked... (1372 100 1300 1300)
+Process: 2 registered... (689 30 300 300)
+Process: 2 I/O blocked... (689 30 330 330)
+Process: 0 registered... (1372 100 1300 1300)
+Process: 0 completed... (1372 100 1372 1372)
+Process: 2 registered... (689 30 330 330)
+Process: 2 I/O blocked... (689 30 360 360)
+Process: 2 registered... (689 30 360 360)
+Process: 2 I/O blocked... (689 30 390 390)
+Process: 2 registered... (689 30 390 390)
+Process: 2 I/O blocked... (689 30 420 420)
+Process: 2 registered... (689 30 420 420)
+Process: 2 I/O blocked... (689 30 450 450)
+Process: 2 registered... (689 30 450 450)
+Process: 2 I/O blocked... (689 30 480 480)
+Process: 2 registered... (689 30 480 480)
+Process: 2 I/O blocked... (689 30 510 510)
+Process: 2 registered... (689 30 510 510)
+Process: 2 I/O blocked... (689 30 540 540)
+Process: 2 registered... (689 30 540 540)
+Process: 2 I/O blocked... (689 30 570 570)
+Process: 2 registered... (689 30 570 570)
+Process: 2 I/O blocked... (689 30 600 600)
+Process: 2 registered... (689 30 600 600)
+Process: 2 I/O blocked... (689 30 630 630)
+Process: 2 registered... (689 30 630 630)
+Process: 2 I/O blocked... (689 30 660 660)
+Process: 2 registered... (689 30 660 660)
+Process: 2 completed... (689 30 689 689)
+
+
+ +

+The program and its input and output files are described +more fully in the MOSS Scheduling Simulator +User Guide. +

+© Copyright 2001, Prentice-Hall, Inc. +This program is free software; it is distributed under the +terms of the Gnu General Public License. +See COPYING.TXT, +included with this distribution. +

+Please send suggestions, corrections, and comments to +Ray Ontko (rayo@ontko.com). +

+Last updated: July 7, 2001 + + diff --git a/EOPSY/lab3/task3/work/sProcess.class b/EOPSY/lab3/task3/work/sProcess.class new file mode 100644 index 0000000000000000000000000000000000000000..e4652ed64f0608499ce8b22aa366a77d093feb1e GIT binary patch literal 401 zcmXv}O;5r=6r6=Zp_UInP>~Py20h5pi}7M&LSmFe!@ZOZS%j{E*7&zPG$tPW0sbiC zyc+i~vv1$LnYZ6RpI-nj(f3e6s|pu~0!ISJ0&Rg47abQ}1vh$06SLL|YOLTHJ6qZ4 z*~E*#*4)Nyl?~}FVLwjSxj@hPdSzmhTq{%tV>!dAf^%c%9BAB`Sl?5tH&5Yg#TW0< zrkhCL8Yybq$;L){yS-S3uc40ydOoV~eC!DL0yTj;Jlg-O6`G$oW%60@0TpyI6oPJsV$jRr1T7~+ kDQJ~4l;88oJz}4UV5Y-7Nvtz(pPRS2_$e#J3UodA1>&JT%K!iX literal 0 HcmV?d00001 diff --git a/EOPSY/lab3/task3/work/sProcess.java b/EOPSY/lab3/task3/work/sProcess.java new file mode 100644 index 00000000..c675ee75 --- /dev/null +++ b/EOPSY/lab3/task3/work/sProcess.java @@ -0,0 +1,15 @@ +public class sProcess { + public int cputime; + public int ioblocking; + public int cpudone; + public int ionext; + public int numblocked; + + public sProcess (int cputime, int ioblocking, int cpudone, int ionext, int numblocked) { + this.cputime = cputime; + this.ioblocking = ioblocking; + this.cpudone = cpudone; + this.ionext = ionext; + this.numblocked = numblocked; + } +} diff --git a/EOPSY/lab3/task3/work/scheduling.conf b/EOPSY/lab3/task3/work/scheduling.conf new file mode 100644 index 00000000..d8f75724 --- /dev/null +++ b/EOPSY/lab3/task3/work/scheduling.conf @@ -0,0 +1,23 @@ +// # of Process +numprocess 10 + +// mean deivation +meandev 2000 + +// standard deviation +standdev 0 + +// process # I/O blocking +process 500 +process 500 +process 500 +process 500 +process 500 +process 500 +process 500 +process 500 +process 500 +process 500 + +// duration of the simulation in milliseconds +runtime 10000 diff --git a/EOPSY/lab3/task3/work/setUp b/EOPSY/lab3/task3/work/setUp new file mode 100755 index 00000000..712df807 --- /dev/null +++ b/EOPSY/lab3/task3/work/setUp @@ -0,0 +1,9 @@ +echo "Creating ../work subdirectory" +mkdir ../work +cd ../work +cp ../ftp/* . +gzip -d sched.tgz +tar -xvf sched.tar +rm sched.tar +echo "" +echo "Now, go to the directory ../work and call 'make'" diff --git a/EOPSY/lab3/task3/work/stdout.txt b/EOPSY/lab3/task3/work/stdout.txt new file mode 100644 index 00000000..c98a1922 --- /dev/null +++ b/EOPSY/lab3/task3/work/stdout.txt @@ -0,0 +1,2 @@ +Working... +Completed. diff --git a/EOPSY/lab3/task3/work/user_guide.html b/EOPSY/lab3/task3/work/user_guide.html new file mode 100644 index 00000000..7574ff39 --- /dev/null +++ b/EOPSY/lab3/task3/work/user_guide.html @@ -0,0 +1,574 @@ + + +Moss | Scheduling Simulator | User Guide + + +

+MOSS Scheduling Simulator +
User Guide

+ +

Purpose

+ +

+This document is a user guide for the MOSS +Scheduling Simulator. It explains how to use the simulator +and describes the various input and output files used +by the simulator. +The MOSS software +is designed for use with +Andrew S. Tanenbaum, +Modern Operating Systems, 2nd Edition +(Prentice Hall, 2001). +The Scheduling Simulator was written by +Alex Reeder +(alexr@e-sa.org). +This user guide was written by +Ray Ontko +(rayo@ontko.com). + +

+This user guide assumes that you have already installed and tested +the simulator. If you are looking for installation information, +please read the +Installation Guide for +Unix/Linux/Solaris/HP-UX Systems or the +Installation Guide for +Win95/98/Me/NT/2000 Systems. +

+ +

Introduction

+

+The scheduling simulator illustrates the behavior of scheduling +algorithms against a simulated mix of process loads. The user can +specify the number of processes, the mean and standard deviation +for compute time and I/O blocking time for each process, and the +duration of the simulation. At the end of the simulation a +statistical summary is presented. Students may also be asked to +write their own scheduling algorithms to be used with process +loads defined by the instructor. + + +

Running the Simulator

+ +

+The program reads +a configuration file (scheduling.conf) +and writes two output files (Summary-Results +and Summary-Processes). +

+To run the program, enter the following command line. + +

+$ java Scheduling scheduling.conf
+
+ +

+The program will display "Working..." while the simulation +is working, and "Completed." when the simulation is complete. +

+
+Working...
+Completed.
+
+
+

+The simulator reads parameters from the configuration file +("scheduling.conf"). +It creates a +specified number of processes, each of which blocks for +input or output after a number of milliseconds that can be specified +for each process. Each process is allowed to run for a +randomly generated amount of time, with the amount of time +constrained by a specified average (mean) in milliseconds, +and standard deviations from that average. The simulation +may also be bounded in the total length of its run. +

+After reading the configuration file, the +scheduling algorithm then "runs" the processes, causing +each to block for input or output after the specified interval +until all processes have completed their randomly generated +amount of runtime, or until the maximum amount of runtime for +the simulation is exceeded. +

+As the simulation proceeds, a log file ("Summary-Processes") +is generated which shows the activity of the scheduling algorithm +as it considers each process in the process queue. +

+After the simulation halts, a summary report ("Summary-Results") +is generated which shows statistics for each process and for the +simulation as a whole. +

+ +

The Configuration File

+ +

+The configuration file (scheduling.conf) +is used to specify various parameters for the +simulation, including: +

+
    +
  • the number of processes, +
  • the mean runtime for a process, +
  • the standard deviation in runtime for a process, +
  • for each process, how long the process runs before it blocks for input or +output, and +
  • how long the simulation should run. +
+ +

Configuration File Options

+ +

There are a number of options which can +be specified in the configuration file. These are +summarized in the table below. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeywordValuesDescription
numprocessnThe number of processes to create for +the simulation.
meandevnThe average length of time in milliseconds +that a process should execute before terminating.
standdevnThe number of standard deviations from the +average length of time a process should execute before terminating. +
processnThe amount of time in milliseconds that +the process should execute before blocking for input or output. +There should be a separate process directive for +each process specified by the numprocess directive.
runtimenThe maximum amount of time the simulation should run +in milliseconds.
+ +

Sample Configuration File

+

+The "scheduling.conf" configuration file looks like this: + +

+// # of Process	
+numprocess 3
+
+// mean deivation
+meandev 1100
+
+// standard deviation
+standdev 510
+
+// process    # I/O blocking
+process 100
+process 500
+process 30
+
+// duration of the simulation in milliseconds
+runtime 5000
+
+
+ +

The Summary-Results File

+ +

+The Summary-Results file contains a summary report describing +the simulation and includes one line of summary information +for each process. The fields and columns in the report +are described in the following table. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
Scheduling Type:The type of the scheduling algorithm used. +The value displayed is "hard coded" in the SchedulingAlgorithm.java +file.
Scheduling Name:The name of the scheduling algorithm used. +The value displayed is "hard coded" in the SchedulingAlgorithm.java +file.
Simulation Run Time:The number of milliseconds that the simulation +ran. This may be less than or equal to the total amount of +time specified by the "runtime" configuration parameter.
Mean:The average amount of runtime for the processes +as specified by the "meandev" configuration parameter.
Standard Deviation:The standard deviation from the average +amount of runtime for the processes as specified by the +"standdev" configuration parameter.
Process #The process number assigned to the process +by the simulator. The process number is between 0 and n-1, +where n is the number specified by the "numprocess" configuration +parameter.
CPU TimeThe randomly generated total runtime for the +process in milliseconds. This is determined by the +"meandev" and "standdev" parameters in the configuration +file.
IO BlockingThe amount of time the process runs before it +blocks for input or output. This is specified for each process +by a "process" directive in the configuration file.
CPU CompletedThe amount of runtime in milliseconds completed for +the process. Note that this may be less than the CPU Time +for the process if the simulator runs out of time as specified +by the "runtime" configuration parameter.
CPU BlockedThe number of times the process blocked for +input or output during the simulation.
+ +

Sample Summary-Results File

+ +

+The output "Summary-Results" file looks something like this: +

+
+Scheduling Type: Batch (Nonpreemptive)
+Scheduling Name: First-Come First-Served
+Simulation Run Time: 2750
+Mean: 1100
+Standard Deviation: 510
+Process #	CPU Time	IO Blocking	CPU Completed	CPU Blocked
+0		1372 (ms)	100 (ms)	1372 (ms)	13 times
+1		689 (ms)	500 (ms)	689 (ms)	1 times
+2		689 (ms)	30 (ms)		689 (ms)	22 times
+
+
+ +

The Summary-Processes File

+ +

+The Summary-Processes file contains a log of the actions +taken by the scheduling algorithm as it considers each +process in the scheduling queue. +

+

+Each line in the log file is of the following form: +

+Process: process-number process-status... (cpu-time block-time accumulated-time accumulated-time)
+
+

+The fields in the line are described in the table below. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
process-numberThe process number assigned to the process by the simulator. +This is a number between 0 and n-1, where n is the +value specified for the "numprocess" configuration parameter.
process-statusThe status of the process at this point +in time. If "registered" then the process is under consideration +by the scheduling algorithm. If "I/O blocked", then the +scheduling algorithm has noticed that the process is blocked +for input or output. +If "completed", then the scheduling algorithm has noticed +that the process has met or exceeded its allocated execution +time.
cpu-timeThe total amount of run time allowed for this +process. This number is randomly generated for the process +based on the +"meandev" and "standdev" values specified in the configuration +file.
block-timeThe amount of time in milliseconds to execute +before blocking process. This number is specified for the process +by the "process" directive in the configuration file.
accumulated-timeThe total amount of time process has executed in +milliseconds. (This number appears twice in the log file; one +should be removed). +
+ +

Sample Summary-Processes File

+ +

+The output "Summary-Processes" file looks something like this: +

+
+Process: 0 registered... (1372 100 0 0)
+Process: 0 I/O blocked... (1372 100 100 100)
+Process: 1 registered... (689 500 0 0)
+Process: 1 I/O blocked... (689 500 500 500)
+Process: 0 registered... (1372 100 100 100)
+Process: 0 I/O blocked... (1372 100 200 200)
+Process: 1 registered... (689 500 500 500)
+Process: 1 completed... (689 500 689 689)
+Process: 0 registered... (1372 100 200 200)
+Process: 0 I/O blocked... (1372 100 300 300)
+Process: 2 registered... (689 30 0 0)
+Process: 2 I/O blocked... (689 30 30 30)
+Process: 0 registered... (1372 100 300 300)
+Process: 0 I/O blocked... (1372 100 400 400)
+Process: 2 registered... (689 30 30 30)
+Process: 2 I/O blocked... (689 30 60 60)
+Process: 0 registered... (1372 100 400 400)
+Process: 0 I/O blocked... (1372 100 500 500)
+Process: 2 registered... (689 30 60 60)
+Process: 2 I/O blocked... (689 30 90 90)
+Process: 0 registered... (1372 100 500 500)
+Process: 0 I/O blocked... (1372 100 600 600)
+Process: 2 registered... (689 30 90 90)
+Process: 2 I/O blocked... (689 30 120 120)
+Process: 0 registered... (1372 100 600 600)
+Process: 0 I/O blocked... (1372 100 700 700)
+Process: 2 registered... (689 30 120 120)
+Process: 2 I/O blocked... (689 30 150 150)
+Process: 0 registered... (1372 100 700 700)
+Process: 0 I/O blocked... (1372 100 800 800)
+Process: 2 registered... (689 30 150 150)
+Process: 2 I/O blocked... (689 30 180 180)
+Process: 0 registered... (1372 100 800 800)
+Process: 0 I/O blocked... (1372 100 900 900)
+Process: 2 registered... (689 30 180 180)
+Process: 2 I/O blocked... (689 30 210 210)
+Process: 0 registered... (1372 100 900 900)
+Process: 0 I/O blocked... (1372 100 1000 1000)
+Process: 2 registered... (689 30 210 210)
+Process: 2 I/O blocked... (689 30 240 240)
+Process: 0 registered... (1372 100 1000 1000)
+Process: 0 I/O blocked... (1372 100 1100 1100)
+Process: 2 registered... (689 30 240 240)
+Process: 2 I/O blocked... (689 30 270 270)
+Process: 0 registered... (1372 100 1100 1100)
+Process: 0 I/O blocked... (1372 100 1200 1200)
+Process: 2 registered... (689 30 270 270)
+Process: 2 I/O blocked... (689 30 300 300)
+Process: 0 registered... (1372 100 1200 1200)
+Process: 0 I/O blocked... (1372 100 1300 1300)
+Process: 2 registered... (689 30 300 300)
+Process: 2 I/O blocked... (689 30 330 330)
+Process: 0 registered... (1372 100 1300 1300)
+Process: 0 completed... (1372 100 1372 1372)
+Process: 2 registered... (689 30 330 330)
+Process: 2 I/O blocked... (689 30 360 360)
+Process: 2 registered... (689 30 360 360)
+Process: 2 I/O blocked... (689 30 390 390)
+Process: 2 registered... (689 30 390 390)
+Process: 2 I/O blocked... (689 30 420 420)
+Process: 2 registered... (689 30 420 420)
+Process: 2 I/O blocked... (689 30 450 450)
+Process: 2 registered... (689 30 450 450)
+Process: 2 I/O blocked... (689 30 480 480)
+Process: 2 registered... (689 30 480 480)
+Process: 2 I/O blocked... (689 30 510 510)
+Process: 2 registered... (689 30 510 510)
+Process: 2 I/O blocked... (689 30 540 540)
+Process: 2 registered... (689 30 540 540)
+Process: 2 I/O blocked... (689 30 570 570)
+Process: 2 registered... (689 30 570 570)
+Process: 2 I/O blocked... (689 30 600 600)
+Process: 2 registered... (689 30 600 600)
+Process: 2 I/O blocked... (689 30 630 630)
+Process: 2 registered... (689 30 630 630)
+Process: 2 I/O blocked... (689 30 660 660)
+Process: 2 registered... (689 30 660 660)
+Process: 2 completed... (689 30 689 689)
+
+
+ +

Suggested Exercises

+ +
    +
  1. Create a configuration file in which all processes run +an average of 2000 milliseconds with a standard deviation of +zero, and which are blocked for input or output every 500 milliseconds. +Run the simulation for 10000 milliseconds with 2 processes. +Examine the two output files. Try again for 5 processes. Try again for +10 processes. Explain what's happening. +

    +
  2. Implement a round-robin scheduling algorithm. (Hint: +see the Run() method in SchedulingAlgorithm.java). +

    +
+ +

To Do

+ +
    +
  1. Consider changing the configuration parameter "meandev" +to "run_time_average". The word "dev" +doesn't belong here. It would be nice if this were +the average amount of time a process runs before +blocking for input or output instead of the total runtime. +

    + +
  2. Consider changing the configuration parameter "standdev" +to "run_time_stddev". +It would be nice if this were the +number of standard deviations from the average time a +process runs before blocking for input or output instead +of the total runtime. +

    + +
  3. Consider renaming the "Run()" method in SchedulingAlgorithm +to "run()". By convention in java, method names begin with +a lowercase letter. Also, add some internal documentation +to SchedulingAlgorithm to facilitate understanding by students +and instructors, and add external documentation regarding +the implementation of new scheduling algorithms to this user guide. +

    + +
  4. Consider adding a configuration parameter for "block_time_average" +which would be the average amount of time in milliseconds that a process +remains blocked for input or output before resuming execution. +This would help eliminate the need for the "process" directive. +

    + +
  5. Consider adding a configuration parameter for "block_time_stddev" +which would be the number of standard deviations from the average +time a process remains blocked for input out output before +resuming execution. This would help eliminate the need for the +"process" directive. +

    + +
  6. Consider adding a configuration parameter for "quantum" which +specifies the number of milliseconds that a process is allowed to +execute before being re-considered by the scheduling algorithm. +

    + +
  7. Consider modifying the format of the Summary-Processes log file. +The total cpu time for the process is repeated in the last column +and should be eliminated. It would be nice if the total elapsed +milliseconds (system clock) were present at the beginning of the line +so that we can see when things happened exactly during the simulation. +If we switch to the meanings of the various parameters as suggested +above, we may want to rethink the overall format of the lines as +well. +

    + +
  8. Consider adding a configuration parameter for "summary_file" so that +the name for the Summary-Results file can be specified +in the configuration file. +

    + +
  9. Consider adding a configuration parameter for "log_file" so +that the name for the Summary-Processes file can be +specified in the configuration file. +

    + +
  10. Consider adding a graphical user +interface that allowed the user to view the simulation +as it proceeded. This might show a summary of the +number of blocked processes and executable processes, +the percentage of idle time, and even the current status +of each process. This might be enabled by a configuration +parameter "show_graphics true". A "step" button might +allow the simulation to proceed 1000 milliseconds at a +time, or a "run" button might allow it to update every +1000 milliseconds until the simulation completes. A +"reset" button might restart the simulation to its original +values, and there might be menu options to allow the user +to override the parameter values given in the configuration file. +

    + +
+ +

Copyright

+ +© Copyright 2001, Prentice-Hall, Inc. +

+This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +

+This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +

+You should have received a copy of the GNU General Public License +along with this program (see COPYING.TXT); +if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +

+ +Please send suggestions, corrections, and comments to +Ray Ontko +(rayo@ontko.com). +

+Last updated: May 23, 2001 + +

+This document provides instructions for the installation +of the MOSS Scheduling Simulator on + + +Unix + +operating systems. This procedure should be the same or similar on + + +Unix, Linux, Solaris, HP-UX and other Unix-compatible + +systems. +The MOSS software +is designed for use with +Andrew S. Tanenbaum, +Modern Operating Systems, 2nd Edition +(Prentice Hall, 2001). +The Scheduling Simulator was written by +Alex Reeder +(alexr@e-sa.org). +This installation guide was written by +Ray Ontko +(rayo@ontko.com). +