๐ Major Study (Bachelor)164 ์๊ณ ๋ฆฌ์ฆ 6์ฃผ์ฐจ ๊ฐ์ Huffman Codes: Text Encoding Encoding๊ณผ Decoding. ์ ์์์ Analog์ ํธ๋ฅผ Digital๋ก ๋ฐ๊ฟ๋ Encoding์ด๋ผ๊ณ ํ๋ค. ์ ์ฐ์์๋ ํ๋ก๊ทธ๋๋ฐ, ๋ถํธํ๋ฅผ Encoding์ด๋ผ๊ณ ํ๋ค. Data๋ฅผ 0๊ณผ 1์ ์ ํธ๋ก ๋ฐ๊พธ๋ ๊ฒ์ ์๋ฏธํจ. ๋ฐ๋์ ๊ณผ์ ์ Decoding์ด๋ผ๊ณ ๋ถ๋ฆ. ๊ณต๋ฐฑ๋ ์บ๋ฆญํฐ๋ก ์ฒ๋ฆฌ๊ฐ ๋๋ค. 17byte๋ณด๋ค ์ ๊ฒ ์ด๋ป๊ฒ ํํํ๋๊ฐ Huffman code 12๊ฐ์ ์ผ๋ฆญํฐ๋ฅผ 4๋นํธ๋ก ํํํ ์ ์๋ค. 4๋นํธ๋ก ์ถฉ๋ถํ๋ค. ์ด์ ์ ์ฌ์ฉํ๋ 17byte์ ๋นํด Compactํ๊ฒ ํํํ ์ ์๊ฒ ๋๋ค. 2๊ฐ์ ๋ฐฉ๋ฒ ๋ ๋ค fixed layer๋ผ๊ณ ํํํ๋ค. Huffman Codes ์ด๋ค ์ผ๋ฆญํฐ๋ 3bit ์ด๋ค ์ผ๋ฆญํฐ๋ 4bit๋ก ์ฌ์ฉํด์ bit์๋ฅผ saveํ .. 2022. 4. 4. [OS / ์ด์์ฒด์ ] TCB, Multicore Programming, Concurrency vs Parallelism, Amdahl's Law, Kernel Thread, Scheduler Activation Motivation ๋ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ถ์ ๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ์ฑ์ด ์ข์์ง๋ค. ํ๋์ ํ๋ก์ธ์ค ์์์ ์ฐ๋ ๋๋ฅผ ๋ ๊ฐ ์ฌ์ฉํ๋ค๊ฐ ํ๋์ ์ฐ๋ ๋๊ฐ ์ฃฝ์ผ๋ฉด ํด๋น ํ๋ก์ธ์ค๊ฐ ์ฃฝ์ด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์์ ์ฑ ์ธก๋ฉด์์ ์ข์ง ์๋ค. ํ์ง๋ง ์ฐ๋ ๋๋ ๋ ๊ฒฝ์ ์ ์ด๊ณ ์ ๋ณด๋ฅผ ๊ณต์ ํ ๋ ํธ๋ฆฌํ๋ค. ํ๋ก์ธ์ค๋ ์๋ ๋ ๋ฆฝ์ ์ธ Entity์ด๋ฏ๋ก ์ฝ์ง ์๋ค. ์ฐ๋ ๋๋ผ๋ฆฌ ํต์ ์ ํ ๋ Shared Memory๊ฐ ํ์ํ์ง ์๋ค. ๊ทธ์ ์ ์ญ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฅํ๋ค. Overview ํ๋ก์ธ์ค๋ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ์๋ฏธํ๊ณ ๋ ๋ฆฝ์ ์ธ ์์์ด๋ค. ๋ฐ๋ฉด ์ฐ๋ ๋๋ ํ๋ก์ธ์ค ์์ ํ๋ก๊ทธ๋จ์ด์ฌ์ ์์์ ๊ณต์ ํด์ ์ฌ์ฉํ๋ค. Thread ID์ PC, register set, stack๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค. PC๋ ์ฐ๋ ๋ ๋ง๋ค ํ๋์ฉ ๊ฐ์ง๊ณ .. 2022. 4. 4. ์๊ณ ๋ฆฌ์ฆ 5์ฃผ์ฐจ ์์์ผ ๊ฐ์ Greedy Algorithm Dynamic Programming is Blind ๋ญ๊ฐ ์ ๋ณด์ด์ง ์๋ ์ํ์์ ํธ๋ ๋ฌธ์ ์ ๋๋์ด๋ผ๋ ๊ฒ. matrix chain์ด๋ LCS๊ฐ์ ๊ฒฝ์ฐ์ Time Complexity๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ธํ๋ผ๊ณ ํํ์ ํด์ผ ํ๋ค. (์ ์ ํ์) LCS์ ๊ฒฝ์ฐ M๊ณผ N์ด order๊ฐ ๋น์ทํ๋ค๊ณ ํ๋ฉด ์ธํ M^2๊น์ง ๊ฐ๋ฅํ ์ ๋ ์๋ค. ๋น๊ต์ ์ฐจ์๊ฐ ๋๊ฒ ๋์จ๋ค. ์ ๊ทธ๋ฐ๊ฐ? Optimal solution์ ๊ณ์ฐํ ๋ ์ ํ์ด ๊ต์ฅํ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์กด์ฌํ๋ค. ๊ทธ ์ ํ์ด ์ด๋๊ฒ ์ณ์ ์ ํ์ธ์ง ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ ๋ คํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. Example: MCM ๋งจ์ฒ์ (1,6)์ ์๋ ๊ฒ ์ค ์ต์ ์ ๊ฐ์ ์ํด์ ์ด 5๋ฒ์ ๊ณฑ์ ์ ๊ณ์ฐํ๊ฒ ๋๋ค. ๊ทธ ์ค ์ต์ ์ ๊ฐ์ธ ๋ ธ๋์์ด ์ฑํ์ด ๋๋ค. .. 2022. 4. 4. [OS / ์ด์์ฒด์ ] Socket, Java Socket, Remote Procedure Call, Remote Method Invocation Reading Assignment message queue๋ฅผ ๋ง๋ค๊ณ ๊ทธ Queueใ ์์ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด๋ค. msgget()์ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ค๋ผ๋ ๊ฒ์ด ์๋๋ผ queue๋ฅผ ๊ฐ์ ธ์ค๋ผ๋ ๊ฒ์ด๋ค. msgsnd() ๋ฉ์์ง๋ฅผ queue์ ๋ฃ์ด๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๊ฒ. msgctl์ ๋ ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก IPC_RMID๋ ๋ฉ์์ง Queue ์์ฒด๋ฅผ ์ญ์ ํ๊ฒ ๋๋ค. Communications in Client-Server Systems Socket์ ๊ฐ์ฅ Primitiveํ ์ปค๋ฎค๋์ผ์ด์ ๋ฐฉ์์ด๋ค. RPC๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์์ ์ ๊ณตํ๋ ํจ์๋ฅผ ํธ์ถํ ์ ์๋ค. ๊ทธ ํจ์์ ๋ณธ์ฒด๋ ์๋ฒ์ ์๋ ๊ฒ์ด๋ค. ๋คํธ์ํฌ๋ฅผ ํตํ ํจ์ ํธ์ถ ๋ฐฉ์์ด๋ค. Pipe๋ ํด๋ผ์ฐ๋๋ผ๊ธฐ ๋ณด๋ค ๋ก์ปฌํ ํธ์ถ์ ํด๋นํ๋ค. Pipes. RMI, RPC์ .. 2022. 3. 31. [OS / ์ด์ ์ฒด์ ] Process Termination, IPC, Shared Memory Segment, Producer Consumer Problem, Message Passing Systems, System 5 ์์ธ์ฒ๋ฆฌ์ ๋ํ ์ฝ๋๋ ์ถ๊ฐํ ๊ฒ. More about wait Process Creation in win32 CreateProcess()๋ fork์ exec๋ฅผ ํฉ์ณ๋์ ํจ์๋ผ๊ณ ํ ์ ์๋ค. WaitForSingleObject()๋ wait function๊ณผ ๋น์ทํ ์ญํ ์ ํ๋ค. ZeroMemeory()๋ ๋ค์์ ์ค๋ช Process Termination exit() ์ ํ๊ณ ์ข ๋ฃ๋ฅผ ํ๊ฒ ๋ ๋ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ ๊ฒ์ free ํ๊ณ ์ข ๋ฃํ๊ฒ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด free ์ํด๋ ๋๋ ๊ฒ์ธ๊ฐ? ์๋๋ค. ๋ฌด์กฐ๊ฑด free๋ก deallocate๋ฅผ ํด์ค์ผ ํ๋ค. ํ์ค์ ์ผ๋ก ๋๋ถ๋ถ์ ๊ฒฝ์ฐ loop๊ฐ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ๋น์ทํ ๋์์ ๋๋ฆฌ๊ฒ ๋๋๋ฐ Memory leak๊ฐ ์๊ธฐ๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ์กฐ๊ธ์ฉ ๋ฒ๋ ค์ง๊ฒ ๋๋ค. ์ฒ์ ๋์ํ ๋.. 2022. 3. 28. ์๊ณ ๋ฆฌ์ฆ 4์ฃผ์ฐจ ๋ชฉ์์ผ ์คํ๋ถ, ํ ์ค๋ถ๊ณผ ์ฌ๋ผ์ด๋(PDF๋ก ๊ฐ์ง๊ณ ์๋ ์ฌ๋์ ์๋๋ค). Master Theorem ์ ์ด๋ ์ ๋ ์ฃผ๋ ค๊ณ ํ๋ค. P3๋ ํ๋ ฌ์ ๊ณฑํ๋ ๋ฐฉ๋ฒ์ ๋ํ๋ด๊ณ ์๋ค. Divide and Conquer๋ ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฐ๋ค. ๋๊ฐ์ Subproblem์ ๊ณ์ ํด์ ํ์ด์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค. ์ธํN์ผ๋ก ํํํ๋ ค๋ฉด ์ ํ์ด N ๋ฒ ๋ง ์คํ๋์ด์ผ ํ๋๋ฐ Worst case์ Best case์ ํด๋นํ๋ ๊ฒ์ฒ๋ผ ๋ค์ํ๊ฒ ๋๋ฉด ๋น ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค. Loop ์ด ์์ผ๋ฉด Loop ๋ง ๋ด๋ ๋๋ค. Memorization ๋ฐฉ์๋ Recursion์ ํ์ง๋ง ์ ์ฅํ์ง ์์ ๋ถ๋ถ์ ๋ํด์๋ง callํ๋ฏ๋ก ๋์ผํ๋ค. 2022. 3. 24. [OS / ์ด์ ์ฒด์ ] Scheduling Queue, PCB in Linux, Scheduling Queue, Queue Diagram, Context Switch, Process Creation, Process Creation in UNIX Scheduling Queue Process๊ฐ ๋น์ฅ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์๋ฐ ํ ์ ์์ ๋ Queue์์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค. Shared Resource ๋ณ๋ก Waiting Queue๊ฐ ๋ค ๊ฐ๋ณ๋ก ์กด์ฌํ๋ค. ์์ ์ ์ฐจ๋ก๊ฐ ๋๋ฉด Scheduler๊ฐ ์ ํ์ ํ๋ฉด ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค. PCB in Linux ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๋ค์ด ๋์๊ฐ๋ฉด์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค. ํ๋์ ํ๋ก์ธ์ค์ ํด๋นํ๋ ์ต๋์ ์๊ฐ์ time slice๋ผ๊ณ ํ๋ค. parent ์๋ Parent process๊ฐ ๋ค์ด๊ฐ๋ค. Parent process์ task_struct๋ ์์คํ ์ ์ฌ๋ฌ ๊ฐ ์๋๋ฐ child๋ก ์ฐ๊ฒฐ๋์ด์์์ ๋ณผ ์ ์๋ค. Children์ ์๊ธฐ๋ณด๋ค ๋ฎ์ Process ๊ฐ๋ฆฌํจ๋ค. ํฌ์ธํฐ ํ๋๊ฐ ์๋๋ผ ๋ฆฌ์คํธ์ ํํ๋ก ๋ค์ด๊ฐ์๋ค... 2022. 3. 24. ์๊ณ ๋ฆฌ์ฆ 4์ฃผ์ฐจ ์์์ผ ๊ฐ์ 2022. 3. 24. [OS / ์ด์์ฒด์ ] Process State, Ready / Running State, Process Control Block, Process Scheduling Interrupt Hanlder๋ฅผ ํธ์ถํ๋ ์๊ฐ kernel mode๋ก ์ ํ๋๋ ๊ฒ์ด๋ค. size์ ํ์ ์ long ์ผ๋ก ๋ฐ๊ฟ ๊ฒ Processses ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ๋งํ๋ค. ์คํ์ ํ์ํ ๋ชจ๋ ๋ฆฌ์์ค๋ ํฌํจ๋๋ค. ์ฝ๋๋ค์ Instruction๋ค์ Sequence๋ฅผ ์๋ฏธํ๋ค. ์ฝ๋๊ฐ ์คํ๋๋ฉด ์ค๊ฐ์ ํ์ํ ๋ฐ์ดํฐ๋ค์ด ์กด์ฌํ๋ ๋ฐ ๊ทธ๊ฒ๋ค๋ ํ๋ก์ธ์ค์ ํฌํจ๋๋ค. ํ๋ก๊ทธ๋จ์ ์คํํ๋ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ๊ณ ๋ ๋์ง์คํฐ๋ฅผ ๊ณ์ํด์ ์ฌ์ฉํ๋ค. Instruction Resgister๋ก Instruction์ ๊ฐ์ ธ์ค๊ฒ ๋๋ค. ํ์ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋์ง์คํฐ๋ก ๊ฐ์ ธ์์ ์ฒ๋ฆฌ๋ฅผ ํ๊ฒ ๋๋ค. ํ๋์จ์ด์ ์ ์ฅ์์ ๋ณด๋ฉด ๋ฆฌ์์ค์ ํด๋นํ์ง๋ง ๋์ง์คํฐ์ ๊ฐ๋ค์ ํ๋ก์ธ์ค์ ํด๋นํ๋ค. Process State ์ฒ์ Pro.. 2022. 3. 21. ์๊ณ ๋ฆฌ์ฆ 4์ฃผ์ฐจ ์์์ผ ๊ฐ์ Optimal Substructure ๊ฐ๊ฐ์ ์ ์ ์ฐ์ผ๋ฉด ์ธ๋ก์ ์ขํ๋ถํฐ ๊ฐ๋ก์ ์ขํ๋ก ๊ฐ๋ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๊ฒ ๋๋ค. Diagonol ํ ๊ฒ์ ์๊ธฐ ์์ ์ ๋ํด ๋์ํ๋ฏ๋ก 0์ผ๋ก ์ฑ์์ ธ์๋ค. (1,3) ๋ถํฐ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค. ๊ดํธ๋ฅผ ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ก ๋๋ ์ ์๋ค. ๋ง์ง๋ง Solution์ (1,6)์ ์์นํ๊ฒ ๋๋ค. (3,6)์ ๊ฒฝ์ฐ, A3๋ถํฐ A6๊น์ง ๊ณฑํ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์. Sub Problem์ ๋ํ Solution์ด ์กด์ฌํด์ผ ํ๊ณ ๊ทธ๊ฒ๋ค์ด Optimal ํด์ผ ํ๋ค. Optimal Solution์ ๊ตฌํ ๋ ์ด ์ ์ Sub Problem์ Solution์ Optimal ํ๋ค๋ ๊ฐ์ ์ ๊ฐ์ง๊ณ ๊ณ์ฐ์ ํ๋ฏ๋ก ๋ค์ ๊ณ์ฐํ์ง ์์๋ ๋๋ Bottom up ๋ฐฉ์์ด๋ค. Opti.. 2022. 3. 20. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 17 ๋ค์