20.11.16 (์›”)

Updated:

์˜ค๋Š˜ ํ•  ์ผ (๊ณ„ํš)

  • ์ด๋ฒˆ์ฃผ ํ•  ์ผ ๊ฐฑ์‹ 
  • ๋ฌธ์ œํ•ด๊ฒฐ๊ธฐ๋ฒ• ๋ฆฌํŒฉํ† ๋ง ๋ฐ ๋ฐœํ‘œ ์ •๋ฆฌ
  • ๋‚˜ํ˜ผ์ž๋งŒ๋“œ๋Š”์˜์ƒ, Unix ํ”„๋กœ๊ทธ๋ž˜๋ฐ 12์ฃผ์ฐจ ๋“ฃ๊ธฐ
  • ์ฐฝ์—…์˜์ด๋ก ๊ณผ์‹ค์ œ ํŠน๊ฐ• ์งˆ๋ฌธ ๋งŒ๋“ค๊ธฐ

์˜ค๋Š˜ ํ•œ ์ผ

  • ๋ฌธ์ œํ•ด๊ฒฐ๊ธฐ๋ฒ• ๋ฆฌํŒฉํ† ๋ง

    1. ๋ฉ”์†Œ๋“œํ™” ๋˜์–ด์žˆ์ง€ ์•Š์•˜๋˜ ๋ฒ„ํŠผ, ๋ผ๋ฒจ๋“ค ๋ฉ”์†Œ๋“œ ํ™”.
    2. default ํŒจํ‚ค์ง€์—์„œ ๋ฆฌํŒฉํ† ๋ง ํ›„ ์ ์ ˆํ•œ ํŒจํ‚ค์ง€๋กœ ๋‚˜๋ˆˆ ๋’ค ์ƒ๊ธด ์˜ค๋ฅ˜ ์ˆ˜์ •.


  • Unix ํ”„๋กœ๊ทธ๋ž˜๋ฐ 12์ฃผ์ฐจ

    1. dup2(fd[0], 0) ์€ ํŒŒ์ดํ”„์˜ ์ฝ๊ธฐ๋ฅผ ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ๋ณต์‚ฌ ํ•œ๋‹ค.

      dup2(fd[1], 1) ์€ ํŒŒ์ดํ”„์˜ ์“ฐ๊ธฐ๋ฅผ ํ‘œ์ค€ ์“ฐ๊ธฐ๋กœ ๋ณต์‚ฌ ํ•œ๋‹ค.

    2. Foreground Process ๋Š” ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ด์ „ ๋ช…๋ น์ด ๋๋‚  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค.

      ํ•˜์ง€๋งŒ Background Process ๋ฅผ ์‚ฌ์šฉ ํ•˜๋ฉด ์ด์ „ ๋ช…๋ น์ด ๋๋‚˜๊ธฐ ์ „์— ๋‹ค์Œ ๋ช…๋ น์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค.

      $ cat < FIFO &

      $ ls -la > FIFO ๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ๋จผ์ € FIFO ํŒŒ์ดํ”„์— Data ๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜๋‹ค๊ฐ€ Data ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์ถœ๋ ฅํ•œ๋‹ค.

    3. Mandatory Locking ์€ ์–ด๋Š ์ง€์ ์— ๋ฝ์„ ๊ฑธ์—ˆ์„ ๋•Œ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ทธ ๋ถ€๋ถ„์—์„œ ๋ฝ์ด ๊ฑธ๋ฆฐ๋‹ค.

      ๊ทธ ์ง€์ ์—์„œ์˜ ๋ฝ๊ณผ ๊ด€๋ จ ์—†๋Š” ํ”„๋กœ์„ธ์Šค๋„ ๋ฝ์ด ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์€ ๋–จ์–ด์ง„๋‹ค.

    4. Advisory Locking ์€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฝ ์ƒํƒœ๋ฅผ ์ธ์ง€ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ๋ผ๋ฆฌ๋งŒ ๋‚ด๊ฐ€ ๋“ค์–ด ๊ฐˆ ์ˆ˜ ์žˆ๋Š”์ง€

      ์—†๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

๋‚ด์ผ ํ•  ์ผ

  • ๋ฌธ์ œํ•ด๊ฒฐ๊ธฐ๋ฒ• ๋ฆฌํŒฉํ† ๋ง ๋ฐ ๋ฐœํ‘œ ์ •๋ฆฌ
  • Technical Writing 12์ฃผ์ฐจ ๋“ฃ๊ธฐ

์ด๋ฒˆ์ฃผ ํ•  ์ผ

  • BaekJoon ๋งค์ผ ํ•œ ๋ฌธ์ œ ํ’€๊ธฐ
  • ์ˆ˜๊ฐ•๊ณผ๋ชฉ 12์ฃผ์ฐจ ๋“ฃ๊ธฐ
  • ๋ฌธ์ œํ•ด๊ฒฐ๊ธฐ๋ฒ• ๋ฆฌํŒฉํ† ๋ง
  • ์ฐฝ์—…์˜์ด๋ก ๊ณผ์‹ค์ œ ํŠน๊ฐ• ์งˆ๋ฌธ ๋งŒ๋“ค๊ธฐ



Categories:

Updated:

Leave a comment