From 1e5079dde2b0a76680fc9c04f0ad2dd808a259f1 Mon Sep 17 00:00:00 2001 From: Kat Fries Date: Wed, 20 Feb 2019 15:15:23 -0500 Subject: [PATCH 1/8] First commit: class and video notes only --- NOTES.md | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 NOTES.md diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 000000000..b43354c87 --- /dev/null +++ b/NOTES.md @@ -0,0 +1,172 @@ +# Processes + +## Requirements to Execute a Program +- CPU +- Memory + + +high address Command-line Args & Environment Variable + + stack + | + | + heap malloc data + + uninitialized data (bss) initialized to zero by exec + + initialized data \ + } read from program file by exec + text / + +low address + + +Process are isolated by default (unaware of each other by default) + +# Initializing a Process + +- Allocation of working memory. +- Entry is added to the operating system's processing list. +- OS's scheduling algorithm schedules the newly-initialized process. + +## Scheduling +Process List +PID Command +1 a +2 b +3 c --> +4 d Context CPU +5 e Switching +6 f <-- +7 g +8 h + +PID (Process Identifier Number): 2 byte number + +## Privileged vs. Non-Privileged +Privileged operations +- Creating new processes +- destroying existing processes +- Allocating memory +- Accessing hardware functionality +- scheduling algorithm + +Non-Privileged operations +- everything I write. :) + + +# System Calls +- A request to the OS to perform a privileged operation on its behalf. +- Uses requests and response (similar to API calls) + +System calls with requests and responses is: +- Less Performant but Safer + +MS-DOS allowed Processes to perform a privileged operations, which is why games are more prevelant on Windows than Mac. + +## Commonly-Used System Calls +- fork() create copy of existing process +- exec() execute a spedified file +- chdir() change working directory +- pipe() create a prip for interprocess communication. + +fork() + - creates a child process, which is a copy from the parent process + - returns twice: + - one result in the parent + - another result in the child + +```c +# include +// putchar: writes a character to the standard output (stdout); +// it is equivalent to calling putc iwth stdout as second argument. +void print_str(char *s) { + int i; + char *p = s; // saving a copy of s + // putchar(** take a character argument) + //iterate over s and use putchar for every character on the array of characters. + for(i = 0; s[i] != '\0; i++) { + putchar(s[i]); + } + + // equivalent method + for(i = 0; *(s+i) != '\0; i++) { + putchar(*s(i+i)); + } + + // another method: it manipulates the values themselves + for(; *s != '\0; s++) { + putchar(*s); + } + + // after doing the last method (the s pointer is pointing to '\0' so calling the first method will no longer work since s is already at '\0'). So we need to add: + s = p; + + while (*s != '\0') { + putchar(*(s++)) + /* combines 2 lines of into one; it is equivalent to: + putchar(*s); + s++; + */ + } + + +} +int main(void) { + pid_t pid; + pid = fork(); // doesn't take paramters + if (pid == 0) { + printf("I am the child\n"); + } else { + printf("Parent is about to wait\n"); + wait(NULL) // if this is commentted result will be different. + printf("I am the parent\n"); + } + + + return 0; +} +``` + +```c +# include +// putchar: writes a character to the standard output (stdout); +// it is equivalent to calling putc with stdout as second argument. + + +/* +size_t write(int fd, void* buf, size_t cnt); +fd: fild descripter +buf buffer to write data to +cnt: length of buffer + +size_t is typedef howevers it's going to return how many bytese were actually written + +return Number of bytes written on success +return 0 on reaching end of file +return -1 on error +*/ + + +void putchar_ls(char c) { + // c is a vlue we need to have a pointer + //so we use & to point to the address of c + write(1, &c, 1); + // sz = write(1, &c, 1); + // printf("\n%d\n", sz); +} + +void print_str(char *s) { + while(*s != '\0') { + putchar_ls(*(s++)) + } +} + + +} +int main(void) { + + printf("HelloWorld\n"); + return 0; +} + From fc9031d22f1587d8869e6d7262c87110a4abf2ab Mon Sep 17 00:00:00 2001 From: Kat Fries Date: Wed, 20 Feb 2019 16:35:44 -0500 Subject: [PATCH 2/8] finished fork with sys wait to have consistent order --- NOTES.md | 44 ++++++++++++++++++++++++++---------------- SchedulingDiagram.png | Bin 0 -> 190997 bytes ex1/ex1 | Bin 0 -> 8552 bytes ex1/ex1.c | 24 ++++++++++++++++++----- 4 files changed, 46 insertions(+), 22 deletions(-) create mode 100644 SchedulingDiagram.png create mode 100755 ex1/ex1 diff --git a/NOTES.md b/NOTES.md index b43354c87..74fe6cb5d 100644 --- a/NOTES.md +++ b/NOTES.md @@ -1,29 +1,39 @@ # Processes ## Requirements to Execute a Program -- CPU +- CPU number of cores - Memory - -high address Command-line Args & Environment Variable - - stack - | - | - heap malloc data - - uninitialized data (bss) initialized to zero by exec - - initialized data \ - } read from program file by exec - text / - -low address +### Example of an Address Space (P1 RAM between P2 RAM and P3 RAM) + +low address | +_______________________________________________________________________| +high address Command-line Args & Environment Variable | + | + stack Static Memory | + | + int main | + func1 | + func2 | | + | + heap Dynamically-allocated memory malloc data | + | + | + uninitialized data (bss) initialized to zero by exec | + | + initialized data \ | + } read from program file by exec | + text / | + | +low address | +_______________________________________________________________________| +high address | + | Process are isolated by default (unaware of each other by default) -# Initializing a Process +## Initializing a Process - Allocation of working memory. - Entry is added to the operating system's processing list. diff --git a/SchedulingDiagram.png b/SchedulingDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6dba931c51aa9e19f030bf3c39db2586f5d66f GIT binary patch literal 190997 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

-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

hCHd@(EpZ++G=F(JnLKcw5kX1rAF{; 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 AKmY&$ literal 0 HcmV?d00001 diff --git a/ex1/ex1 b/ex1/ex1 new file mode 100755 index 0000000000000000000000000000000000000000..c00d46519b4a920ecf8ff8eeb776087bbf0e61e6 GIT binary patch literal 8552 zcmeHN&udgy6h3288|sftx+tk8@{C5B7Lz6vaU&$+s}mJ}G%1J>E;E@IXXwl%oq0nt zpb&_G3?hgW+_)AgUF1(FDrBj+a^WJ2C=*Dbi_nH5oqpeY_a<*9ZTF@3zkw6cd%zBlL73#B>V%Y#@9LOE>u=6q=o!h9d=9tN8MZ93mx-4Nze880{E717q5Z%*gy*Zqmf`?l3$l@srNSJ*N;i=LjR=mHS$QDs^sTd?XUV z{x$5Y+26>%;+fmdtyCeWN|k(SI;Up*;y>myY506_ybdv4S`!%ovWfhn0_@gmHl-Jrb(@7b619FaDdHdr$UKyiRSgH6Dm zh9&omF99=G=TVWXu=}92QQ`cl=2?iwjKAfC_chp9ye6EI?1v7NOT~d)HZ_p0>+4gu7hivW*#^N{<~eSaH;4%D!}T%7HMS0| zVcM~sd*l9Nm6Gq}`_J}c9@!K+K~6w-tw=d=}1VQcMPkk>Ed_vJK@iu80}9H zIY6_?tPdX&Q>fFosC-6wbKYdx_fP{*GELuPCRw=Y$;o^&TaY3CSkWRcyK!0V#_ty0 zLG>`G0k+3NpTBc_0&Rz5>iI`BW*w1n)*WH#2Ew{y6c06F)*7R6Qzzwr3v}&%INIi* Z0=;`JO0Pu)YYBNVjD%e5ViEZ%e*tE80dN2S literal 0 HcmV?d00001 diff --git a/ex1/ex1.c b/ex1/ex1.c index c4b111641..deb7fbb3a 100644 --- a/ex1/ex1.c +++ b/ex1/ex1.c @@ -1,14 +1,28 @@ // Write a program that calls `fork()`. Before calling `fork()`, have the main process access a variable // (e.g., x) and set its value to something (e.g., 100). What value is the variable in the child process? // What happens to the variable when both the child and parent change the value of x? +// init is 1 #include #include -#include +#include // required for fork() +#include // required for wait() + // when sys.wait wasn't added it could run in different orders +int main(void) { -int main(void) -{ - // Your code here + int x = 100; + pid_t pid; // _t means type delcaration pid under the hood it is an int. + pid = fork(); // doesn't take paramters - return 0; + if (pid == 0) { + x = 7; + printf("%d\n", x); + } else { + printf("%d\n", x); + wait(NULL); // if this is commentted result will be different. + printf("%d\n", x); + } + + + return 0; } From ddf125696143c15e4fea996782d0f6efa1a6b75b Mon Sep 17 00:00:00 2001 From: Kat Fries Date: Wed, 20 Feb 2019 16:48:26 -0500 Subject: [PATCH 3/8] re: ex1 changed variable within parent and removed wait --- ex1/ex1 | Bin 8552 -> 8480 bytes ex1/ex1.c | 27 +++++++++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/ex1/ex1 b/ex1/ex1 index c00d46519b4a920ecf8ff8eeb776087bbf0e61e6..b5fbdb50b9cf282aba5a7bf0a55d56af9ec3c607 100755 GIT binary patch delta 692 zcmaFiw7_Y?1tA801_nk328Mbd1_S52)yt$%;&?8JQ-ZWin?A4 z0MblAECIw7Kt3ywegLE$fHXG{2LLfL0I3CG=E)aXq*+fWFfg!93>2Qs!J;9s>C}Oc z;(vy|d)9MB3*57Eo$SD(!NkBnIg7_Do!^v4E<7j8gSr|XB8`Vjd{#+-AY0lsXrqQHIri3uDmf=U8G zlUWqZU{T8$4-8MH_}q;6)QZ&P(vsBpjMT)G)FKAO+{Da0232rCGBn5mjRXN010>AP z2nr@hN)ZF|K?H;^0}*EgQedD2B!L__Uu*J71%5|};S3DWRN?^RD=@@kaZxqNQJaglu}I#BSFLux~fo~X=mz0P1Kms1T0l* zAwwx7d4d}ku7V$32>kxNttbQ%-R2MgRi#oYpZjBbs)5_fB~f$lnY6Wm>=Vb2>u zq#r#aLN67>e!)u>aZE7jv^X{q#j1n~a0c0f=tYz;-^X+q;41Qd1mn&SF=3EsL+bao zRRCY*+5zg5qJbyHfJE58JlQ9;UuB)yLE)R1v)!CHv6<1dC2)Z_9q19hAYK+ww@|hVNjBe^-_B zbH*Ftz!zBx9t%uSNgZ9vs=+u}NTza7#-$(-@PbIvCNT=eTs~(I(@5$@76#|cWag#; zL+NBH1H)`j5$XyKO$E1C*o(X0EDNq?$329QQT%JjBRp^N20cMvsYl0$(ZwRRzzNnc zow?Ht=y?%cP6fpOdvsgvJIfD8oWqg%yV=`7?qyS%+&s9K(~Ea>@*tO=C9|mvyAO}Q Dp}45w diff --git a/ex1/ex1.c b/ex1/ex1.c index deb7fbb3a..06edddd8a 100644 --- a/ex1/ex1.c +++ b/ex1/ex1.c @@ -1,12 +1,16 @@ // Write a program that calls `fork()`. Before calling `fork()`, have the main process access a variable // (e.g., x) and set its value to something (e.g., 100). What value is the variable in the child process? // What happens to the variable when both the child and parent change the value of x? -// init is 1 + + + + +// init is PID 1 #include #include #include // required for fork() -#include // required for wait() +// #include // required for wait() // when sys.wait wasn't added it could run in different orders int main(void) { @@ -16,13 +20,24 @@ int main(void) { if (pid == 0) { x = 7; - printf("%d\n", x); + printf("%d\n", x); // x = 7 } else { - printf("%d\n", x); - wait(NULL); // if this is commentted result will be different. - printf("%d\n", x); + printf("%d\n", x); // x = 100 + x = 10; + // wait(NULL); // if this is commentted result will be different. + printf("%d\n", x); // x = 10 } +/* +Order run: +100 +10 +7 +But without wait it could be: +7 +100 +10 +*/ return 0; } From 2690d6d74f5f25f9616e819eee3ff384b1de54a9 Mon Sep 17 00:00:00 2001 From: Kat Fries Date: Wed, 20 Feb 2019 17:20:45 -0500 Subject: [PATCH 4/8] ex2 done. observations at the bottom of the ex2.c file --- NOTES.md | 4 ++-- ex2/ex2 | Bin 0 -> 8616 bytes ex2/ex2.c | 21 ++++++++++++++++++++- ex2/text.txt | 6 ++++++ 4 files changed, 28 insertions(+), 3 deletions(-) create mode 100755 ex2/ex2 diff --git a/NOTES.md b/NOTES.md index 74fe6cb5d..d487ca9b9 100644 --- a/NOTES.md +++ b/NOTES.md @@ -147,10 +147,10 @@ int main(void) { /* size_t write(int fd, void* buf, size_t cnt); fd: fild descripter -buf buffer to write data to +buf: buffer to write data to cnt: length of buffer -size_t is typedef howevers it's going to return how many bytese were actually written +size_t is typedef howevers it's going to return how many bytes were actually written return Number of bytes written on success return 0 on reaching end of file diff --git a/ex2/ex2 b/ex2/ex2 new file mode 100755 index 0000000000000000000000000000000000000000..6e54df93f942c8ff23b2e99707b72448542bfa79 GIT binary patch literal 8616 zcmeHNL1-LR82-17HpH~q6qTq|rlqm1N;VZ+L?|S&gIg^&wy74Oee7mu-Jz4&Wp+ZF zLm?1)SR~S;7r~{{Q{+ z=6i2oXWsts_n-H7iR5;QEbkDJ5$M{0$aQhxi97)9xyeIDnW0qdU5)7_(qFH!2RDPz2PRI8+u4)>S>6P!*Nhj- z&2CqJz5Ax#GbSU&>3~5~?_txC)KfJtXm}C&`s?ij!JOZW$tNc7UD-0f`DPsX;d>^b zzuqNN?;R5-&Pq>h1e96~ulQj_`C+xLaqoJ3Zt8K(Da8FXl1S2WUE5HlPEOBFXChd? zo^?&vH?ywTbKTlXg@I}=EtKnlYQ)ih)=SH9e{g&%9(MZf6PWUezWJnvadrOzJZF>i9FakoLD(_aR2(OH-fFPS zBlnDd49xu5{UR4&AE6J;3UjIHUd+Z)-@*9d6l5&6xj0b93X9FC5cuUnWhtltQ=Woy z9-p55Ywfe2PJHuGVQg&g+us)sq7T%G>>kqkT#DHT0l&)}$LBCByw1x|#yIDJ7w_OP z&23&A*FU$^jJ<`4nF-9pFCz)^ER@&#&`J0>Vler!Vi~XuSOzQumI2FvWxz7<;4yH% z*t%O>*_bS@p7<5BE3O{<9p+p2A5OK+Hzq`G(X`xqYe`SbZMQF>tL1L2T-%V5>rd*m zV_(v|e~oFb4&PaSY)j;M9r=xU?cMN?e%Equw{8|!zMj1JRcCxSC(;?;quac0_v-dh zw5L~}zKapl=Q`s*!``T&k@Y`1olcFvX4h}i;}7HYAL$*Ucaz?6dSAffyXr)Y_tlcj zc-4C3IcP3Be$$yR1%X!?l2>bfP;stA_1JU#(BS~5>IdGC%$6cAjJFM;JflT zZ)yJ4ehHS^F~7U%^ZjNRBlCJRfO&P%o@rh%?|;XQoig@yW9N*`jqX+WmIm6K@9`@q#4L5oX_r13pM3k_2w624`<{hUS|J7$q!|m zA1-#vz4Ti~>acqxr%xF5SBu9rPQG!Z-#}pLYT Date: Wed, 20 Feb 2019 17:25:21 -0500 Subject: [PATCH 5/8] ex3 done used wait to ensure child ran first --- ex3/ex3 | Bin 0 -> 8520 bytes ex3/ex3.c | 11 +++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100755 ex3/ex3 diff --git a/ex3/ex3 b/ex3/ex3 new file mode 100755 index 0000000000000000000000000000000000000000..8f2524f225970197beca196d4a4de562cc6fb158 GIT binary patch literal 8520 zcmeHN-AhzK6hE6*V%Dw(VWo1FHmV1;FX%aP_K}?tZX)*N=y2Lwv9h z40?{9dJ6GR2#S0Rdg`Hvpbr!jdgwt!+J0y5T=(v^kLO?xoSE}GbLPy<@6Lt0Gy869 z&Pz6z84-ti-%aufPWWXXi3XMaB=~PO%$HI5T2(w_=6y$Y&2J>$pUbw{R-$cm#vTP`IS%D{)V;8pwi?baJ@1(O z{NU}z(h2xL9nryRsb@UQJ_y!Qkn0QVOCIMEl-uN-&watPL#44Xe*a9)F_W#ATQLtS zfk4PfD33R7xa&BrF!Q5DGoTsJ3}^;41DXNNfM!55@Gk~#$LGJsXV;CD*fxi*UPUn< z+nl|>N#VI80P%&6NmR?UdQmq0SZhRm_SO8#Du3&uc}V)dBjT{M)*r{VGy|Fe&46Y=GoTsx&lsp}iS+Z7YdiU}PhN(L1n!4%d3`fWihJw_ Date: Wed, 20 Feb 2019 18:31:10 -0500 Subject: [PATCH 6/8] ex4 done. I was only able to get files to print out with execvp --- ex4/ex4 | Bin 0 -> 8652 bytes ex4/ex4.c | 40 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100755 ex4/ex4 diff --git a/ex4/ex4 b/ex4/ex4 new file mode 100755 index 0000000000000000000000000000000000000000..624e339c2005c330053268fb3eabbae40bd78c6b GIT binary patch literal 8652 zcmeHNPiS0482`3SHQ3ZmE)vngYcNthWY^L|1%+Md>IPdI+lWPwVgF{AY~H5tz10R3 z7DB`r3QJFVvLFavqz46W3JUfhD5aDfdgwvR1{8V>3a-E3ym_0qFGY`D=7V|P_xon% zo0;FthWV49|NP_chec8cMY;z>B#pFiNMu7CSR#)j6_J!$$iGr}t8o4ty`z#Eg%3oG zvyFmEEfy{=juz4NCr5o^F#0Cwj!rD0R8YGd&KWE^2U)u^>rYaV>bco$8)Q>HvIc^}HY{#E?IYr0FO zKr&v>#G5hs#BmvkjSQta?z>I5s+w-St?}r5d}ZQs&MCyn7-3HM<-C5V=k;`cF(1pp z{E@e49+R5$iZwT!8>QTq^4C_%?Uq^%JoNLy@rKI;2J1&c{^Rqk)KWXPO!mc_H2oVl z0f>|FqB&&|rCOzb>)*7A=a_iJ@pv3BQzS}N+OEIX!{m5#Cf;z}0msJ|#fkLZ@AS<4 zYp)hg&qu#8CovDel%MqEgncrm_G2A&v$Px$ax)GctyMtD0q3B*&@9Kb!9IQi%<|P^ zA`R%nNDD}DVOgd)ukn1^r%<1DlY*bII7kynnU3#eTFr8%y4I=!Q=UL#KeAu`wR`XC z$*bRf{`Ky}rHz@V-~)9cM;_7X*$C4IIgX*Q9{*0nh3#3mv!x1J5!;*2X$TgFKF*CXz)J$XmIQ7Zt?jW=?(60pZl)3{zLZd@B7@`rw{iA zvo~Q3W^d{5ZT;QG_so@}UqIzA3}!!p?r~2nJNE{IL4)1cxkHPa#hsh9PSCmmD^qT| znU*heQpYJx7D`^t4IIC;<~ul3w%XXm>T}hT(3H65K9&2}lh8~&t5RsQyA!B6scX}_ zXK0l8G|V~BGx|NFKQKBf9-TiwPWYpIt1SbT0n318z%pPNunbrRECZGS%YbFTGGH0_ z{~4H?nO@AF7n#Z_K3$h8%c{~?R!g0dSC!Yj$zG0+Z2FO0;cB9aN9}GO_Y_)EJ@KX! zHS48jOW=3luU)QH-dQC&4peV@%e1qwSMj7B)PW?W@V0+Itu%D$PEfT2Uz@?AA7lEd!We(ps&L{AE0-sCZHxroc^F5aT po51%>^R}DgJxemr!Rzt<@hLsN5!N+#Bc5;`A|gWyBl7l5%s&f*KYRcH literal 0 HcmV?d00001 diff --git a/ex4/ex4.c b/ex4/ex4.c index 0221ca96e..d251549f5 100644 --- a/ex4/ex4.c +++ b/ex4/ex4.c @@ -10,7 +10,45 @@ int main(void) { - // Your code here + pid_t pid; + pid = fork(); + char *argv[3] = {"/bin/ls", ".", NULL}; // execvp( "find", argv ); + if (pid == 0) { + execvp( "find", argv ); + // ./ex4 + // ./ex4.c + + } else { + printf("Parent says hello\n"); + } return 0; } + +/* +https://ece.uwaterloo.ca/~dwharder/icsrts/Tutorials/fork_exec/ +"The exec Family of Functions +There is a family of exec() functions, all of which have slightly different characteristics: + + int execl ( const char *path, const char *arg, ... ); + int execlp( const char *file, const char *arg, ... ); + int execle( const char *path, const char *arg, ..., char *const envp[] ); + int execv ( const char *path, char *const argv[] ); + int execvp( const char *file, char *const argv[] ); + int execve( const char *file, char *const argv[], char *const envp[] ); +Each system call is the word exec followed by either l or v and then possibly followed by either e or p. + +The first three have are of the form execl and accept a variable number of arguments. In order to use this feature, you must load the header file. Please see the example stdarg.c. + +The latter three are of the form execv in which case the arguments are passed using an array of pointers to strings where the last entry is NULL. For example, you might have: + char *argv[] = {"Hello ", "world!", NULL}; + +If the name ends in either l or v, the program name must be given in full. + +If the name is appended by a p, it will search for the file using the current environment variable PATH, which usually includes /bin/, /usr/bin/, etc. + +Finally, if the name is appended by a e, one can include an array of strings indicating environment variables, each of the form "ENVVAR=value" and the array being null terminated. For example, + char *envp[] = {"USER=dwharder", "HOME=/home/dwharder", NULL}; +" + +*/ From 7ffbe87225ff0d5aa94aa3a381137ccb8e27e959 Mon Sep 17 00:00:00 2001 From: Kat Fries Date: Thu, 21 Feb 2019 12:15:30 -0500 Subject: [PATCH 7/8] ex5 done --- NOTES.md | 56 ++++++++++++++++++++++++++++++++++++++++++++---- ex1/ex1 | Bin 8480 -> 8616 bytes ex1/ex1.c | 15 +++++++------ ex5/ShellDemo.c | 15 +++++++++++++ ex5/ex5 | Bin 0 -> 9064 bytes ex5/ex5.c | 30 +++++++++++++++++++++++--- 6 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 ex5/ShellDemo.c create mode 100755 ex5/ex5 diff --git a/NOTES.md b/NOTES.md index d487ca9b9..bec592fae 100644 --- a/NOTES.md +++ b/NOTES.md @@ -31,7 +31,7 @@ high address | | -Process are isolated by default (unaware of each other by default) +Processes are isolated by default (unaware of each other by default) ## Initializing a Process @@ -74,11 +74,36 @@ System calls with requests and responses is: MS-DOS allowed Processes to perform a privileged operations, which is why games are more prevelant on Windows than Mac. + Request + --------> ----------> +Processes OS (Gatekeeper) Hardware + <-------- <--------- + Response + +- Most languages rely on C to do the actual requests and responses. + +Example of Request System Call: +- malloc() +- fork() + + + + P1 P2 +x (executed) x (value carried over) +y (executed) y (value carried over) +z (executed) z (value carried over) +fork() => creates a forked copy fork () (carried over) + +Parent code Child Code + + +if P2 also executes the fork it is a problem referred to as a fork bomb. + ## Commonly-Used System Calls - fork() create copy of existing process -- exec() execute a spedified file +- exec() execute a specified file - chdir() change working directory -- pipe() create a prip for interprocess communication. +- pipe() creates a way for interprocess communication. fork() - creates a child process, which is a copy from the parent process @@ -86,6 +111,29 @@ fork() - one result in the parent - another result in the child +pipe() + - uni-directional: one write end & one read end; + - initalize pipe first then fork + + P1 P2 +| | | | +| |_____| | + w -> _____ -> r +| | | | +| | | | +| |_____| | + r <- _____ <- w | +| | | | +| | | | + + + + + + + + + ```c # include // putchar: writes a character to the standard output (stdout); @@ -146,7 +194,7 @@ int main(void) { /* size_t write(int fd, void* buf, size_t cnt); -fd: fild descripter +fd: file descripter: a pointer to a file buf: buffer to write data to cnt: length of buffer diff --git a/ex1/ex1 b/ex1/ex1 index b5fbdb50b9cf282aba5a7bf0a55d56af9ec3c607..db6b7b69676b16684fda4f316a8e702587185ece 100755 GIT binary patch delta 1046 zcmZ`&Ur1A76#u^Ms#DzGpoD3D6E-IixK$7iZEBMd_D907hcMl}wp+Hzb&@@ZkQiP> zQoo0K^ic@Hu!3GnDO89ceK3Lw35h!@+QS}vYMpcMRV?tp`F_9OIp00^oV&BRmigA{ z51yQz5K0Ky1V_u+XTCLgRvbq3s1YP94j!gWo^3PSVurUJ{2py`2b{)j)eHytIz7Xe zsI4?^Mi#iw@|YI!_m&eh$f?y!OL&zvLg)EaYs81Ql8lggKnr*U_#9{(;3Xd+UHrMV znilhQ!CS;Ym(O$@;x-}ZQldjoTkoHG`0Uf~i>%?r7LN)+OU}-33Ku+&%mQ^##05Ub z7T1M9>8$g}=rTw(mLD6*6X#Sli1<`v2_+=7G_gFfraghkYmji~r}h9)zc^kCY&Eu1 z0-%k<0T2BGnC#q9R~Cpi3|x(A*$&K0M*hdXd>8Q0hPoNr7=J2dv2Cpls2a;@ zVL+()5i_0n$@50p8a=y}1%UqIV{h5DHwFJ$Xs_UJ)6ckmp3~2EINPVHssNfV7yNd> z=_Edy{az>(lI6%gk0QlyoZUbcK(>bLB(hh)T6363a-N zlD^FnNx5HS!2wxhezC5B4KsNVn3)~uQKVGn;PjP$^DNzWa6x@HE1@s6{fK*lyNf-e zuR8cwXL#ni;Ln>&`o~0@xt$&pD-jocu6ItsUE}KH0`oOW!*Yg96Q#l(?Z&Z@GvGI* z3=D}X2x>r)Q<*+g^`P$b$VQSku;a&aUT6YsmtccVikoNrIS%U@o944D5DFS$_<;<= z-3PI!PyeTz`Ag>Y6+yHZ9G4I*iZ8K(3*dT=e_<@5Ph-rnJHc-6dtHln`^E0T%usK4 MubdJk1qz`31(ACKWdHyG delta 528 zcmZ4CyufL~1tA801_nk328Mbd1_SwQhMuEwU%+ic3lVzE$85Jf+GFvMu z0982v2?HR_1jG_RTmj^>0_g`p+F|lmW_d>D$ro9qSx*4@Y!d^8Cv&i92y8laAf))8 zq3@pcT+ssetXwBMuxKzb@K4TS@e?WlD&znfpb5kRKwP1)*-^lZYw`zP@%mICztifM7-1W z4N#8|kkjel_VPH_-;y2=)0}a7tn+*ld^G|-jBEcf4BoH*2ML|(CEx#z6VFE*ugrGxw zK~ZL2Ng9whIY~j6yFm_U0tht7O`fG72MUW_3Tlj6lLZx}If23spx|Ym?5n8212zPz JeewiFaR3DKcvAoX diff --git a/ex1/ex1.c b/ex1/ex1.c index 06edddd8a..33cdd8b3e 100644 --- a/ex1/ex1.c +++ b/ex1/ex1.c @@ -10,22 +10,25 @@ #include #include #include // required for fork() -// #include // required for wait() +// #include // required for wait() // when sys.wait wasn't added it could run in different orders int main(void) { int x = 100; pid_t pid; // _t means type delcaration pid under the hood it is an int. pid = fork(); // doesn't take paramters - - if (pid == 0) { + if (pid < 0) { + printf("Can't fork; error occured\n"); + exit(EXIT_FAILURE); + } else if (pid == 0) { x = 7; - printf("%d\n", x); // x = 7 + printf("From child (pid %d): x is %d\n", (int) getpid(), x); // x = 7 } else { - printf("%d\n", x); // x = 100 + printf("From parent (pid %d): x is %d\n", (int) getpid(), x); // x = 100 x = 10; // wait(NULL); // if this is commentted result will be different. - printf("%d\n", x); // x = 10 + int wc = waitpid(pid, NULL, 0); + printf("From parent (pid %d) of child (pid %d): x is %d\n", (int) getpid(), pid, x); // x = 10 } /* Order run: diff --git a/ex5/ShellDemo.c b/ex5/ShellDemo.c new file mode 100644 index 000000000..9fe24d440 --- /dev/null +++ b/ex5/ShellDemo.c @@ -0,0 +1,15 @@ +#include +#include +#include +#include +#include +#include + + +#define MAX_COMMANDLINE_LEN 8192 // constant variable in global scope +#define MAX_COMMANDLINE_LEN 128 // constant variable in global scope + +int main(void) { + printf("Hello World\n"); + return 0; +} \ No newline at end of file diff --git a/ex5/ex5 b/ex5/ex5 new file mode 100755 index 0000000000000000000000000000000000000000..312e97fbd563a7bf8c2e0ec5b3728fc1b983dd55 GIT binary patch literal 9064 zcmeHNU1%It6uz6ZwI;1eMT%0Z(`ZU6wE3ykSQ<@A*KV=Z)wWoLdfj9v*|qz}?5=Im zKr~dcY!`!w6kindK}wM*MS_$XYiVOC7>W-?isYf{E>!U`^r7+l?%dhTPW%JGr#W!% zIp4YGoVj!EncdlY_q&_F-nvbQK)nznbwY?HwD3|PjtK*j5ci;k(4-9a?F_yceC`=) zYbj6*{}eIKRTxUSFL+>It%>q)uGI;RF*kwfs74DZbLNp8C7ZnQW>?^5FjUf$B3|Mc zlP?h?ZYX6om+#M3Ro-~1JM4Jdw1tBmhvhonGOe)V$(WhQm=<*2c&Btc=N5>W_bM%# z-#|8J#ZyDtz#GrNg7H?5>v3W?)x^etl=;-*cq%I6sll|uwd-+8$K#rlh`llF5xeKQ zj$r~)?&#as=NiHKsU>jM)x){2sJZIeNSR8=?9pU@Iw3PT>o4OuVOSsZcZm6KZ~(ZJ zLun_+RD0*w41dngiAU^>htjE%l!?gS&Ck&B!rFt_9gp{mrLK~c(MT>*g^T8w(eduq zCdBS|3!b*L@SN`6_4HH09lM-o%kab9Yjlvaoqd=7L_HiTFXwjA841wau7 z9tWQV4}-HdILGdFLfi>Hi2xJejc6Qqlk*&}bSpjb0r)%j>>gt73^cAudp>KmC*u9> z(W8kdFlh}M{XT0MeLjEd(Z;d6+TUNczWwBb&^4opm8cH1ha5~Ds15f^KYmWQiLe`u zW4y;DUDxq35?Hu4uD|zaHfJU`ZQq1>#QR|cT93x-bs!(i-v*7DAD{dT_!;ms;Ag;#KU26cA<7>?bul=N9u^;u4o}xNm9_%t`GiXO z+2Zik@|#e>vj|VBaE%ji9#mfM7K78HQ-MNox^iZIe!c>wP#yAijt)p|anD@nvFWB` zeEaE~3XPu69Q>xtx6P);@%h$Mu$piERP__8|6KK_RsV(RCsqHY>d&bDEP5e!m)3F} z`u5JZ2EoT;R91e*L}GkRt6ZbR7rx3BN*$D@DLp~yETuh^PE&e;(n(4~ls=@ypMjP4 zC@~3@}==|N*47RO~A%~s=ZB%U+UubNhaXw5dL_w;))F_N33B-H!s!{BWE zjY^`-#IJy7v+|~PK~U%)x-*Eyv;Agd zVu$2VK4L}1vsUxCt&d_?BO}IpdE%x{%w<0gk#WL3GK)*bggZA#*b6vh=CCP36ava%Q-yMva@FntkYz@c)yt5%Rid3@ zgjPI9FKk{&{CA*ECS$m|IgrnpIGc}f=JzE<3wKULT_m0o8?!^At6t3F9JRhv^mK{s zo5jw0@wu9SC$m!V>;GUhmKeAe3dmo1TCETBBx?Kq89JfW|BXHq(o5mv= zZvuv%LyCIQyD>Ko-S{OB<~gW){1p%8)|PwxH4lEng9{$~wg;c^;14{QXT973L<-co zJkNu9rpmKlY!RvdnJ{~+&_KOBzvo%>zx6Y4V!n7yWs++tli8t8)px0WGi+V8ttzrc iV^_OU*@bRbs$HYi>U8STu1KdA?JBI+pRT+`&&eNfTqfiI literal 0 HcmV?d00001 diff --git a/ex5/ex5.c b/ex5/ex5.c index cbf3b8e61..90a2823e0 100644 --- a/ex5/ex5.c +++ b/ex5/ex5.c @@ -16,7 +16,31 @@ char* msg3 = "hello world #3"; int main(void) { - // Your code here - - return 0; + char inbuf[MSGSIZE]; + int p[2]; + + if(pipe(p) < 0) { + fprintf(stderr, "Pipe error occured\n"); + exit(EXIT_FAILURE); + } + + pid_t pid; + pid = fork(); + if (pid < 0) { + printf("Fork error occured\n"); + exit(EXIT_FAILURE); + } else if (pid == 0) { + write(p[1], msg1, MSGSIZE); + write(p[1], msg2, MSGSIZE); + write(p[1], msg3, MSGSIZE); + } else { + // wait(NULL); // if this is commentted result will be different. + int wc = waitpid(pid, NULL, 0); + printf("From parent (pid %d): Child (pid %d) wrote: \n", (int) getpid(), pid); // x = 10 + for (int i = 0; i < 3; i++) { + read(p[0], inbuf, MSGSIZE); + printf("%s\n", inbuf); + } + } + return 0; } From fbc0f77cb82b599bc8047a255f8c0b726eb44546 Mon Sep 17 00:00:00 2001 From: Kat Fries Date: Thu, 21 Feb 2019 14:14:58 -0500 Subject: [PATCH 8/8] ex6 done using monotonic and cputime --- ShellDemo.c | 25 +++++++++++ ShellDemoSean | Bin 0 -> 9116 bytes ShellDemoSean.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++ ex1/ex1.c | 2 +- ex5/ShellDemo.c | 15 ------- ex6/ex6 | Bin 0 -> 8684 bytes ex6/ex6.c | 24 ++++++++++- 7 files changed, 160 insertions(+), 18 deletions(-) create mode 100644 ShellDemo.c create mode 100755 ShellDemoSean create mode 100644 ShellDemoSean.c delete mode 100644 ex5/ShellDemo.c create mode 100755 ex6/ex6 diff --git a/ShellDemo.c b/ShellDemo.c new file mode 100644 index 000000000..4f5010649 --- /dev/null +++ b/ShellDemo.c @@ -0,0 +1,25 @@ +#include +#include +#include +#include +#include +#include + + +#define MAX_COMMANDLINE_LEN 8192 // constant variable in global scope +#define MAX_COMMANDLINE_ARGS 128 // constant variable in global scope + +/* PROTOTYPE */ +void parse_commandline(char *commandline, char *exec_commands[], int max_count); +// pointers + + + + + +int main(void) { + char commandline[MAX_COMMANDLINE_LEN]; + // char **exec_commands + char *exec_commands[MAX_COMMANDLINE_ARGS] + return 0; +} \ No newline at end of file diff --git a/ShellDemoSean b/ShellDemoSean new file mode 100755 index 0000000000000000000000000000000000000000..5ef2cb28462f1d9eef5608799ba62fa78906d830 GIT binary patch literal 9116 zcmeHNUu;uV7(ZnLw(+N%4}w8MK}M!gwkgv=7;a>Z7u*!xhzka`ZY!V|Aec-`_nfRwuO!j0JG}Pbk+99R0vy%5Qi2CA?zq(u@Fh&pd{`?QBYKMcgxexz0Mb& zV{0+lis2m*{alBls&+cNI*V1LePwZ*&@p0TII>VfRb$@%7$uF&{-%~;GU)o6lK~Nz zYNA$`ibI7^Rim+ZcQoH*_V@lu&EF1P!@!0?neK0i-k|wYecnLW8$p}d-?Z-UHC>-r z4^?Yf5T835i}*vmdH==vdl?JH`F802#D!Gk8y%_|4;}D_JgPs`(_h9(YOZUeT-Vl?&X$56tRLet*3rzluGn+3P)$`s0W~@h?CuMw;aCLt&i?Y-1On|1 zV*atzc~aHhzJhJCz+a^v-)h~0*z9jb-W%f!xc(`=8r@%)ZbMw?kMl)Sp5~vcww=#D z<80k&JQEI6-hfHNx-jUaxFP$Wt|ZB zfPV)Elir{fNijHa|AT z?-+>2yunR7HX#mwHR^1=K)q+{mCA}a${2CNKN8L%?&f62feCH0e%xLK!U z7Qc?)ZY6baPD#aQmDHZBlHM~r!QV!qq}h5o`z?@?a!%Ke4UQ{`gVSQL{f7MrUwf3a zb2icFu@8@<>8SI@8Jj)H*YKGwsOra36H2CGE&Zq4r{Oo-2K|<_Xi1H?B*tydR9TyQ zY*%Xe7um2r#LUTDE(foOqJ36zmn##ceC^;sStW6)Zr{Zo``T6^Wc-J3hVh=Gq!)+e z5R7qdBKg%^E+=Njg9RilaQ6n zdsC8)O087#Gb&uUoy#Rg*^hCO=fL%;9!JDl2PV(g0VO@E**83ifwOPJb7D^D+BF;} zuds#+Aw$6pW6jed`w{u(mudP7otQ!^SSooIqt0xQ85+ILpvraA%!3>^)9?c@^3emg zO1cqtOQhWy+TFwiW`04H{SC^gzP;Y(ckeHXI`RM?m0s*gY~SN*1}2W5R!*2iT1maKVuc8}g54h1qfvYl1~v$9zdt729ubea zdc9j6ZjZy`kAz%7Z-sFCAUb+n{(#pbdio;!4cXi8bsI8VV;%c>%1V*U8-6AyY-gNOZD%>l{#Oo^YuD^MCVWFyjkbFbl$1+y9{e} zTN$u2U}eC{fRzC&16BsC3|JYkGGJxE%7B#tD+B*Q2CCNAyhJxu%_^_1UGDv=+qYls zjk_Wq@qDCmNNe|aBayH$fImc;w|VmRTD=#^jO58e&L9>d-C^ zItUs8c)0N@{E0}jL^vLStU&JR^~RzEy9sa}Lb;1_7&qdv9>P}u=aCNx*X8b@^cU7p ztWO&D108VrV`0AshQg-eKLsUf&?f_k$Go_+cX1Y*!>&lwtGfGwL08BV@Q1vjG3fG# zL=(?fO2pJER6{()BTcOu<8h3`$6-+Jujr@URJ=HsP}-JYvE;f8yOW?^w%GaJwt- zoOy4{17{vp;Ydi{#a4lXnsKlz|M$VW{eNTcz-|4)byejestZ@QXyeOmTGXOF3bILi n3N(?=fWDE9Eewv$t8ZIv!{)cDu}O{XNzRR#-;xWSCL#U?1zzQ+ literal 0 HcmV?d00001 diff --git a/ShellDemoSean.c b/ShellDemoSean.c new file mode 100644 index 000000000..731b18b9f --- /dev/null +++ b/ShellDemoSean.c @@ -0,0 +1,112 @@ +#include +#include +#include +#include +#include + +#define MAX_TOKENS 100 + +char **parse_commandline(char *str, int *argc, char **args) +{ + char *token; + *argc = 0; + + // Break the given str down into tokens using a delimiter + // More specifically, we'll split on tabs, newlines, and carriage returns + token = strtok(str, " \t\n\r"); + + // Add this token to the args array + while (token != NULL && *argc < MAX_TOKENS) { + // Index into args array using the value in argc + // Then increment *argc + args[(*argc)++] = token; + + // Fetch the next token + token = strtok(NULL, " \t\n\r"); + } + + // Lastly, add a NULL as the last element in args + args[*argc] = NULL; + + return args; +} + +int main(void) +{ + // Holds the entire command line input all at once + char commandline[1024]; + // Holds individual parsed tokens + char *args[MAX_TOKENS]; + // Number of args stored in the args array + int argc; + + // In a continuous loop + while (1) { + // Receive input from stdin + // shell should print a prompt for the user + printf("lambda-shell$"); + + // Read input from stdin + fgets(commandline, sizeof(commandline), stdin); + + // Parse that input into tokens + // Parse the commandline buffer into individual args + parse_commandline(commandline, &argc, args); + + // Check for some specific commands + // Like an exit command or other such commands + if (argc == 0) { + continue; + } + + // Check for an "exit" command + if (argc == 1 && strcmp(args[0], "exit") == 0) { + break; + } + + // Check for "cd" command + if (strcmp(args[0], "cd") == 0) { + if (argc != 2) { + printf("usage: cd dirname\n"); + continue; + } + + // Change to the specified directory + if (chdir(args[1]) < 0) { + fprintf(stderr, "chdir failed"); + continue; + } + + // If we successfully changed directories, continue our shell loop + continue; + } + + // To allow us to execute arbitrary programs, + // use fork and exec in concert + // Fork this process + // In the child context, exec with the specified program name + + pid_t child_pid = fork(); + + if (child_pid < 0) { + fprintf(stderr, "fork failed"); + continue; + } + + // In the child context + if (child_pid == 0) { + // Exec the child program, transforming it in the specified command + execvp(args[0], args); + + // If we get here, that means the exec call failed + fprintf(stderr, "exec failed"); + exit(1); + } else { + // In the parent context + // Wait for the child to complete + waitpid(child_pid, NULL, 0); + } + } + + return 0; +} \ No newline at end of file diff --git a/ex1/ex1.c b/ex1/ex1.c index 33cdd8b3e..4937b3a1e 100644 --- a/ex1/ex1.c +++ b/ex1/ex1.c @@ -11,7 +11,7 @@ #include #include // required for fork() // #include // required for wait() - // when sys.wait wasn't added it could run in different orders + // when sys/wait wasn't added it could run in different orders int main(void) { int x = 100; diff --git a/ex5/ShellDemo.c b/ex5/ShellDemo.c deleted file mode 100644 index 9fe24d440..000000000 --- a/ex5/ShellDemo.c +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include -#include -#include -#include - - -#define MAX_COMMANDLINE_LEN 8192 // constant variable in global scope -#define MAX_COMMANDLINE_LEN 128 // constant variable in global scope - -int main(void) { - printf("Hello World\n"); - return 0; -} \ No newline at end of file diff --git a/ex6/ex6 b/ex6/ex6 new file mode 100755 index 0000000000000000000000000000000000000000..77db75a42897ef2bef9c276058137768fe836e5c GIT binary patch literal 8684 zcmeHMPiP!v6#q7fHP*&%MN7mglj7D!w26O^_$QFm9h_n|jZGGc2S2jAlVor*yX?%; zMhtARfsA8dkK!rbJcP0bkqRR5)S5$^^wfig7F0%vP_I&4e{bfSbavK?#~!{1Z{MHq zy*F=u-we!t@A_YV{QWRvscy#VU5v4VVD=DWD@-AcJq6aloKKCvtA3!KIZfVnO0}E+ zYEhk=2;_W5Jv-AL66B}beN5QsjoJyAA~<*S^A2etCF?c&a5GpsBbp++CkiIn!|HL9 zbK9vE>^)bqUKaqNQqPKr$c_?vMZJB(5!T}ix>?by@FnXhqTWdnPd4GcM;-kYZKrBj z^CBQwuORA8igmK%)K(h{oY$;#hE?K*HCGPo_WfvzdbH<6WG8EcE8#Eg>j(hiJUc!! z9$Ufw1zQm9YeLe#;+YGWvN*R)ZZ9ns$|kQk)%(_q%Fy#c`4JKR^qfS*`FuI{m~_-j zBcJ-~6$xY~>rsypac<83SAYGY-f@vYcDx?dimpW=_ui|CQh`-McofKfPo-`r?U`C(wscKoIB{ zn67tO3Go{gHsK>lA|Mfv2uK7Z0uljgY0k`f6*rTkaLj zz2>S{H8;2EA4|dM^}U2|Acy;^tNWjZ)tl7c$|tQ>%U^~Et$DR|Tyfq1 z7^b&ehuzTJl?p|i4s-r*M_(a4`&r&|S4?E1BVP$>Zn!H8RF0r)W$5l(8S1{3c_R2d z9Q^j03r~{vGid{)-5_m&3EFviGwnpi(Utb=y|nnabZk7%j0QV4}FBZ(jN)ehrei8~@vg z0v+-IzJ=3ZL3>K%NXlX4Q_!12W`&#-@~n`_JZVb=BmxoviGV~vA|Mfv2uK7Z0ulj< zfJ8td@ZceE=xBeQx;iw*X>?sG*PIG_znX50(XcKUj`ITM#TaJSeVk?llxnbQKQfAD zx%d&E*Bv_BU~npM>gNrI^yARy3{$ttWDUcrV2z~Zc7u?!t>bh9SS4T&O!+y_&^#4tFoI2_pFSx9tN0=akI@jTY!_Uj4z z?S!38*b@nRI$_hy7lX%O7EPy1vAOS9cnh8D3Z~PY_sxU*j_pbU?hxn*;s{&;YscoH G74{D>8KwsS literal 0 HcmV?d00001 diff --git a/ex6/ex6.c b/ex6/ex6.c index 17532d65f..5b3196d38 100644 --- a/ex6/ex6.c +++ b/ex6/ex6.c @@ -20,7 +20,27 @@ and `clock_gettime()` should work just fine. int main() { - // Your code here + uint64_t diff; + struct timespec start, end; + int i; + + /* measure monotonic time */ + clock_gettime(CLOCK_MONOTONIC, &start); /* mark start time */ + write(fileno(stdout), NULL, 0); + clock_gettime(CLOCK_MONOTONIC, &end); /* mark the end time */ + + diff = BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec; + printf("elapsed time = %llu nanoseconds\n", (long long unsigned int) diff); - return 0; + + /* now re-do this and measure CPU time */ + /* the time spent sleeping will not count (but there is a bit of overhead */ + clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start); /* mark start time */ + write(fileno(stdout), NULL, 0); + clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end); /* mark the end time */ + + diff = BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec; + printf("elapsed process CPU time = %llu nanoseconds\n", (long long unsigned int) diff); + + exit(0); }