<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>주주로그</title>
    <link>https://slvjuju.tistory.com/</link>
    <description>안녕하세요</description>
    <language>ko</language>
    <pubDate>Tue, 14 Jul 2026 03:22:55 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>slvjuju</managingEditor>
    <image>
      <title>주주로그</title>
      <url>https://tistory1.daumcdn.net/tistory/8566638/attach/2db6c2e610114d5d8566d0bc29e094d4</url>
      <link>https://slvjuju.tistory.com</link>
    </image>
    <item>
      <title>2025 인문100년 장학금 전공확립 3학년 합격 후기 (소득 10분위도 가능)</title>
      <link>https://slvjuju.tistory.com/4</link>
      <description>&lt;p data-end=&quot;117&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요. 곧 인문100년 장학금 모집 기간이 다가와, 작년에 해당 장학금에 합격했던 경험을 정리해보려고 합니다. 지원을 고민하고 계신 분들께 조금이나마 도움이 되었으면 하는 마음으로 작성하게 되었습니다.&lt;/p&gt;
&lt;p data-end=&quot;117&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;300&quot; data-start=&quot;119&quot; data-ke-size=&quot;size16&quot;&gt;저는 소득 10분위에 해당하지만, 인문100년 장학금은 일반 국가장학금과 달리 소득 분위의 영향이 크지 않다고 들어 지원하게 되었습니다. 실제로 이 장학금은 성적과 학업계획, 전공에 대한 성장 가능성을 중심으로 평가하는 장학금이기 때문에, 소득 분위 때문에 망설이고 계신 분들이 있다면 한 번 도전해보셔도 좋을 것 같습니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;300&quot; data-start=&quot;119&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;300&quot; data-start=&quot;119&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.kosaf.go.kr/ko/scholar.do?pg=scholarship05_07_01&amp;amp;naviParam=JH,04,04,10&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.kosaf.go.kr/ko/scholar.do?pg=scholarship05_07_01&amp;amp;naviParam=JH,04,04,10&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1772362506041&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;인문100년 장학금 | 한국장학재단&quot; data-og-description=&quot;x 서비스 이용자 등록/로그인이 필요한 서비스 입니다. 한국장학재단 각종 서비스를 이용하기 위해서는 로그인 후 이용이 가능합니다. 로그인을 원하지 않는 경우 '돌아가기' 버튼을 눌러주세요&quot; data-og-host=&quot;www.kosaf.go.kr&quot; data-og-source-url=&quot;https://www.kosaf.go.kr/ko/scholar.do?pg=scholarship05_07_01&amp;amp;naviParam=JH,04,04,10&quot; data-og-url=&quot;https://www.kosaf.go.kr/ko/scholar.do?naviParam=JH%2C04%2C04%2C10&amp;amp;pg=scholarship05_07_01&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.kosaf.go.kr/ko/scholar.do?pg=scholarship05_07_01&amp;amp;naviParam=JH,04,04,10&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.kosaf.go.kr/ko/scholar.do?pg=scholarship05_07_01&amp;amp;naviParam=JH,04,04,10&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;인문100년 장학금 | 한국장학재단&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;x 서비스 이용자 등록/로그인이 필요한 서비스 입니다. 한국장학재단 각종 서비스를 이용하기 위해서는 로그인 후 이용이 가능합니다. 로그인을 원하지 않는 경우 '돌아가기' 버튼을 눌러주세요&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.kosaf.go.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인문 100년 장학금은 한국 장학재단에서 신청할 수 있고, 국가우수장학금으로 분류됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작년에는 &lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;2025. 3. 26.(수) 09:00 ~ 4. 16.(수) 18:00 에 신청을 받았는데, &lt;/span&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;아마 올해도 3월 말쯤 공지가 뜨지 않을까 예상이 됩니다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기본 정보&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;b&gt;인문100년 장학금이란?&lt;/b&gt;&lt;br /&gt;인문100년&amp;nbsp;장학금은&amp;nbsp;인문&amp;middot;사회계열&amp;nbsp;우수&amp;nbsp;인재를&amp;nbsp;국가&amp;nbsp;차원에서&amp;nbsp;장기적으로&amp;nbsp;지원하기&amp;nbsp;위해&amp;nbsp;마련된&amp;nbsp;국가장학사업입니다.&amp;nbsp;한국장학재단에서&amp;nbsp;운영하며,&amp;nbsp;학업&amp;nbsp;성취도와&amp;nbsp;발전&amp;nbsp;가능성이&amp;nbsp;높은&amp;nbsp;학생이&amp;nbsp;학업과&amp;nbsp;연구에&amp;nbsp;전념할&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;등록금과&amp;nbsp;생활비를&amp;nbsp;지원하는&amp;nbsp;제도입니다.&amp;nbsp;단기&amp;nbsp;지원이&amp;nbsp;아니라&amp;nbsp;졸업&amp;nbsp;시까지&amp;nbsp;지속&amp;nbsp;지원이&amp;nbsp;가능하다는&amp;nbsp;점에서&amp;nbsp;대표적인&amp;nbsp;국가우수장학금으로&amp;nbsp;평가받고&amp;nbsp;있는&amp;nbsp;장학금입니다. &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;b&gt;지원 대상&lt;/b&gt;&lt;br /&gt;지원&amp;nbsp;대상은&amp;nbsp;인문&amp;middot;사회계열&amp;nbsp;학과에&amp;nbsp;재학&amp;nbsp;중인&amp;nbsp;학부생입니다.&amp;nbsp;일정&amp;nbsp;학점&amp;nbsp;기준과&amp;nbsp;성적&amp;nbsp;요건을&amp;nbsp;충족해야&amp;nbsp;하며,&amp;nbsp;학업&amp;nbsp;계획과&amp;nbsp;진로&amp;nbsp;계획이&amp;nbsp;명확한&amp;nbsp;학생을&amp;nbsp;중심으로&amp;nbsp;선발합니다.&amp;nbsp;보통&amp;nbsp;학교&amp;nbsp;내부&amp;nbsp;선발&amp;nbsp;절차를&amp;nbsp;거친&amp;nbsp;뒤&amp;nbsp;한국장학재단&amp;nbsp;최종&amp;nbsp;심사를&amp;nbsp;통해&amp;nbsp;확정되는&amp;nbsp;구조입니다.&amp;nbsp;단순히&amp;nbsp;성적만&amp;nbsp;보는&amp;nbsp;것이&amp;nbsp;아니라&amp;nbsp;전공에&amp;nbsp;대한&amp;nbsp;이해도와&amp;nbsp;향후&amp;nbsp;발전&amp;nbsp;가능성도&amp;nbsp;함께&amp;nbsp;평가되는&amp;nbsp;장학금입니다. &lt;/span&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;br /&gt;&lt;b&gt;선발 유형&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;916&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUlsqf/dJMcadA3eM5/BdKTT2aOV7sW6cIRmkprN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUlsqf/dJMcadA3eM5/BdKTT2aOV7sW6cIRmkprN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUlsqf/dJMcadA3eM5/BdKTT2aOV7sW6cIRmkprN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUlsqf%2FdJMcadA3eM5%2FBdKTT2aOV7sW6cIRmkprN1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;529&quot; height=&quot;916&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;916&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;br /&gt;인문100년 장학금은 전공탐색유형과 전공확립유형으로 나뉩니다. 전공탐색유형은 주로 1~2학년을 대상으로 하며 전공에 대한 잠재력과 성장 가능성을 중심으로 평가합니다. 전공확립유형은 3~4학년을 대상으로 하며 구체적인 진로 계획과 전공 전문성을 중점적으로 평가합니다.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;br /&gt;&lt;b&gt;지원 내용&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;823&quot; data-origin-height=&quot;204&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Z9bYl/dJMcachU6Cn/j6s4AQnKaQhcQcb8t9mnk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Z9bYl/dJMcachU6Cn/j6s4AQnKaQhcQcb8t9mnk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Z9bYl/dJMcachU6Cn/j6s4AQnKaQhcQcb8t9mnk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ9bYl%2FdJMcachU6Cn%2Fj6s4AQnKaQhcQcb8t9mnk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;617&quot; height=&quot;204&quot; data-origin-width=&quot;823&quot; data-origin-height=&quot;204&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;1224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjAYtb/dJMcahcrv64/X4w0Ai8oSOtZ10I5oJuSUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjAYtb/dJMcahcrv64/X4w0Ai8oSOtZ10I5oJuSUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjAYtb/dJMcahcrv64/X4w0Ai8oSOtZ10I5oJuSUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjAYtb%2FdJMcahcrv64%2FX4w0Ai8oSOtZ10I5oJuSUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;515&quot; height=&quot;1224&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;1224&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;br /&gt;장학금은 등록금 전액 지원이 기본이며, 유형에 따라 학기당 생활비가 추가로 지원됩니다. 계속 지원 요건을 충족할 경우 졸업 시까지 장기적으로 지원받을 수 있습니다. 국가장학금 중에서도 지원 규모와 안정성이 높은 장학금에 해당합니다.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;br /&gt;&lt;b&gt;유지 조건&lt;/b&gt;&lt;br /&gt;합격 이후에도 일정 학점 이상을 유지해야 하며, 중도 포기 시 제한이 있을 수 있습니다. 휴학이나 전과 등의 상황에서도 지원 조건에 변동이 생길 수 있으므로 반드시 세부 지침을 확인해야 합니다. 단순한 일회성 장학금이 아니라 지속적인 학업 성취를 전제로 하는 장학금입니다. 2026년 초에 진도보고서를 제출하라는 연락이 와서 제출하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;평가 기준&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;521&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lWIfO/dJMcai3ruSb/EGuq6LsqOXIdLda5kIv88K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lWIfO/dJMcai3ruSb/EGuq6LsqOXIdLda5kIv88K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lWIfO/dJMcai3ruSb/EGuq6LsqOXIdLda5kIv88K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlWIfO%2FdJMcai3ruSb%2FEGuq6LsqOXIdLda5kIv88K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;589&quot; height=&quot;521&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;521&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 전국 공모전 수상을 한 번 했었고 이를 제외하고는 따로 없었지만, 수상 기록이 하나라도 있는게 중요하다고 들었습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;그리고 제가 알기로는 대학교별로 TO가 있어서 접수는 각자 한국장학재단에서 하면 되지만 서류평가나 면접평가 기준은 대학교별로 달라요. 평가 기준은 학교 포털에 장학금 공지사항에 따로 있을 수 있습니다. &lt;/span&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #505050; text-align: left;&quot;&gt;아래는 저희 학교 포털에서 안내되었던 사항을 캡쳐한 것입니다. 참고해주세요!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;766&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkBMuB/dJMcachU6Mv/3QPzLCQhjOBPHVApw1lFo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkBMuB/dJMcachU6Mv/3QPzLCQhjOBPHVApw1lFo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkBMuB/dJMcachU6Mv/3QPzLCQhjOBPHVApw1lFo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkBMuB%2FdJMcachU6Mv%2F3QPzLCQhjOBPHVApw1lFo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;680&quot; height=&quot;766&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;766&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1594&quot; data-origin-height=&quot;1192&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lhhXp/dJMcadgOLlF/83t0kVqp6cGpwEOykKxuzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lhhXp/dJMcadgOLlF/83t0kVqp6cGpwEOykKxuzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lhhXp/dJMcadgOLlF/83t0kVqp6cGpwEOykKxuzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlhhXp%2FdJMcadgOLlF%2F83t0kVqp6cGpwEOykKxuzk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;556&quot; height=&quot;1192&quot; data-origin-width=&quot;1594&quot; data-origin-height=&quot;1192&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/sICVb/dJMcac9ZKli/L8jR5hnSYE6nH1ga5H7Whk/2025%EB%85%84%EB%8F%84%20%EC%9D%B8%EB%AC%B8100%EB%85%84%EC%9E%A5%ED%95%99%EA%B8%88%20%EC%97%85%EB%AC%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%A4%80%28%EC%95%88%29.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;2025년도 인문100년장학금 업무처리기준(안).pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;2.42MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위는 총체적인 안내 파일입니다. 작년(2025년)거라서 2026년 공지 뜨기 전까지는 위 파일 참고해주시면 되겠습니다 :)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;자기소개서&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아마 가장 궁금하실 부분은 자기소개서가 아닐까 생각이 듭니다. 일단 장학금 신청 기간이 시험기간과 겹쳐있어서(ㅠㅠ) 지금부터 미리미리 작성하는 것이 좋을 것 같아, 양식을 첨부해드리겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/Lli1Q/dJMcagLoMLM/KE2RIRNPtkkxZi1cDKHKeK/%EC%9D%B8%EB%AC%B8100%EB%85%84%EC%9E%A5%ED%95%99%EA%B8%88%20%EC%8B%A0%EA%B7%9C%ED%95%99%EC%83%9D%20%ED%95%99%EC%97%85%EA%B3%84%ED%9A%8D%EC%84%9C%20%EC%96%91%EC%8B%9D.docx?attach=1&amp;amp;knm=tfile.docx&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;인문100년장학금 신규학생 학업계획서 양식.docx&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.17MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;188&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;인문100년 장학금은 지원동기, 학업 및 진로 계획과 기여 방법, 사회공헌 활동 실적 및 계획의 세 가지 파트로 구성되어 있습니다.&lt;/p&gt;
&lt;p data-end=&quot;188&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;188&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;저는 각 파트 안에 별도의 소제목을 두기보다는, 하나의 흐름처럼 자연스럽게 이어지도록 작성했습니다. 세 항목이 분리된 질문이지만, 결국 한 사람의 가치관과 방향성을 묻는 문항이라고 생각했기 때문입니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;368&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;368&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;또한 전체 분량은 세 파트를 모두 합쳐 약 3페이지가 되도록 구성했습니다. 각 항목을 균형 있게 배분하되, 내용이 겹치지 않도록 정리했고, 같은 이야기를 반복하기보다는 앞에서 제시한 경험이 다음 파트에서 확장되도록 구조를 잡았습니다. 단순히 질문에 각각 답하는 방식이 아니라, 하나의 서사로 읽히도록 작성하려고 노력했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;지원 당시 스펙&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학점: 4.24/4.5&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대외활동: 과학생회 국장 / 동아리 운영진 / 동아리 해커톤 수상 / 교직이수 / 괴테 B1 자격증 등등...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수상 여부: 한국 독어독문학회 블릭움블릭 동상(3등)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 지원동기 (0.5장 이내)&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div data-message-model-slug=&quot;gpt-5-2&quot; data-message-id=&quot;5530e6b9-05bb-470b-9df4-ce48a9720026&quot; data-message-author-role=&quot;assistant&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-end=&quot;164&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;저는 지원동기를 작성할 때 단순히 스펙을 나열하기보다는 하나의 흐름이 보이도록 구성했습니다. 먼저 인문학에 관심을 갖게 된 계기를 제시하고, 그 관심이 어떻게 외국어와 문학, 문화 전반으로 확장되었는지를 설명했습니다. 이후 그 경험들이 자연스럽게 전공 선택으로 이어졌다는 점을 연결했습니다.&lt;/p&gt;
&lt;p data-end=&quot;338&quot; data-start=&quot;166&quot; data-ke-size=&quot;size16&quot;&gt;대학교에 진학한 뒤에는 전공이 어떻게 확장되었는지를 보여주었습니다. 인문학에서 출발해 디지털 인문학과 자연어 처리 분야로 관심이 넓어졌고, 이중전공과 교직 이수를 통해 학문적 방향성을 구체화하고 있다는 점을 강조했습니다. 단순한 관심이 아니라, 실제 선택과 행동으로 이어졌다는 흐름을 보여주고자 했습니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;527&quot; data-start=&quot;340&quot; data-ke-size=&quot;size16&quot;&gt;마지막으로는 제 성향과 현재 상황을 간단히 언급하며 장학금의 필요성을 연결했습니다. 목표를 정하면 끝까지 실행해온 태도와 학업에 집중하고 있는 현실을 설명한 뒤, 인문학과 컴퓨터 과학, 교육을 아우르는 전문가로 성장하고 싶다는 장기적인 목표로 마무리했습니다. 전체적으로는 관심의 시작에서 미래 비전까지 이어지는 구조로 작성하였습니다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 학업,진로 계획과 기여 방법 (1.5장 이내)&lt;/h4&gt;
&lt;p data-end=&quot;229&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;전공과 기술의 접점에서 이루어진 구체적인 성과를 제시하며 시작했습니다. 번역 대회 수상과 영상 콘텐츠 공모전 수상 경험을 통해 단순한 관심이 아니라 실제 결과로 이어진 경험이 있다는 점을 보여주고자 했습니다. 이를 통해 인문학과 기술을 연결해왔다는 방향성을 먼저 제시했습니다.&lt;/p&gt;
&lt;p data-end=&quot;454&quot; data-start=&quot;231&quot; data-ke-size=&quot;size16&quot;&gt;이후에는 전공 및 이중전공 수강 과목을 정리하며 학문적 기반을 어떻게 다지고 있는지 설명했습니다. 기초 이론 과목부터 인공지능, 데이터베이스, 운영체제 등 심화 과목까지 단계적으로 학습하고 있다는 점을 보여주었고, 동시에 독문학 수업을 통해 인문학적 해석 능력도 함께 키우고 있다는 점을 연결했습니다. 즉, 인문학과 컴퓨터과학이 병렬이 아니라 상호 보완적으로 발전하고 있다는 구조로 작성했습니다.&lt;/p&gt;
&lt;p data-end=&quot;666&quot; data-start=&quot;456&quot; data-ke-size=&quot;size16&quot;&gt;그다음에는 학술 활동과 프로젝트 경험을 제시했습니다. 학회, 동아리, 스터디, 공모전 준비 등 교과 외 활동을 통해 관심이 실제 구현과 실전 역량으로 이어지고 있다는 점을 강조했습니다. 이어서 향후 계획을 구체적으로 제시했습니다. 랩실 참여, 이후 수강 예정 과목, 교환학생 계획, 자격증 목표 등을 시간 순서대로 정리하여 학부 기간 동안의 로드맵이 보이도록 구성했습니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;854&quot; data-start=&quot;668&quot; data-ke-size=&quot;size16&quot;&gt;마지막으로는 장기적인 진로 목표를 제시했습니다. 자연어 처리와 인공지능 연구를 심화하여 대학원 진학과 연구자의 길을 목표로 하고 있으며, 궁극적으로는 인문학과 기술을 아우르는 연구자가 되고 싶다는 비전을 제시했습니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;854&quot; data-start=&quot;668&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;854&quot; data-start=&quot;668&quot; data-ke-size=&quot;size16&quot;&gt;전체적으로는 성과 제시 &amp;rarr; 학문적 기반 &amp;rarr; 실전 활동 &amp;rarr; 구체적 로드맵 &amp;rarr; 장기적 비전의 흐름으로 작성하였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 사회공헌 활동 실적 및 계획 (1장 이내)&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div data-message-model-slug=&quot;gpt-5-2&quot; data-message-id=&quot;979c0164-2f2a-42a5-8bbf-5991cd9a5f6b&quot; data-message-author-role=&quot;assistant&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-end=&quot;185&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;먼저 어린 시절의 꿈을 이야기하며 글을 시작했습니다. 꿈은 계속 바뀌었지만, 어려운 사람을 돕고 싶다는 마음만큼은 변하지 않았다는 점을 강조하여 가치관의 일관성을 보여주고자 했습니다.&lt;/p&gt;
&lt;p data-end=&quot;350&quot; data-start=&quot;187&quot; data-ke-size=&quot;size16&quot;&gt;이후에는 대학 입학 후의 구체적인 실천 경험을 제시했습니다. 학생회 활동과 동아리 임원 경험을 통해 공동체를 위해 책임을 맡고 운영을 주도했던 사례를 중심으로 작성했습니다. 단순 참여가 아니라 기획과 총괄, 운영 등 실질적인 역할을 수행했다는 점을 드러내며 리더십과 책임감을 강조했습니다.&lt;/p&gt;
&lt;p data-end=&quot;520&quot; data-start=&quot;352&quot; data-ke-size=&quot;size16&quot;&gt;그다음에는 사람에 대한 관심이 어떻게 확장되었는지를 서술했습니다. 인터뷰 활동과 독서, 글쓰기를 통해 타인의 이야기를 이해하고 기록하는 경험을 소개하며, 사회를 바라보는 시야가 넓어졌다는 점을 연결했습니다. 이를 통해 봉사와 공헌이 단순 활동이 아니라 가치관과 연결되어 있음을 보여주고자 했습니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;702&quot; data-start=&quot;522&quot; data-ke-size=&quot;size16&quot;&gt;마지막으로는 기부와 교육 봉사 계획을 제시하며 실천 의지를 구체화했습니다. 과거의 경험에서 끝나는 것이 아니라, 앞으로 어떤 방식으로 사회에 기여할 것인지 방향성을 제시했습니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;702&quot; data-start=&quot;522&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;702&quot; data-start=&quot;522&quot; data-ke-size=&quot;size16&quot;&gt;전체적으로는 가치관의 형성 &amp;rarr; 대학에서의 실천 &amp;rarr; 사람에 대한 이해 확장 &amp;rarr; 지속적인 사회공헌 계획 &amp;rarr; 장기적 목표의 흐름으로 구성했습니다. 봉사활동을 한 적은 없었지만 과학생회 활동만으로도 충분히 내용을 채울 수 있었던 것 같습니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;702&quot; data-start=&quot;522&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;702&quot; data-start=&quot;522&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;합격 및 장학금 지급 절차&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/edh1xs/dJMcabpNy3s/I8XWLUK0KK6yiVMHzdNeWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/edh1xs/dJMcabpNy3s/I8XWLUK0KK6yiVMHzdNeWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/edh1xs/dJMcabpNy3s/I8XWLUK0KK6yiVMHzdNeWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fedh1xs%2FdJMcabpNy3s%2FI8XWLUK0KK6yiVMHzdNeWk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;576&quot; height=&quot;265&quot; data-origin-width=&quot;899&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;장학금 지급 절차는 위와 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한국장학재단 홈페이지에서 4월 16일까지 접수하고 학교 포털로 신청을 하고 추가서류를 첨부하고 나면 대략 한 달간은 쭉 기다려야 합니다....ㅜㅜ&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5월 19일&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;1420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPM1DM/dJMcahcrv9c/H4KhNd0pfpkkQU8sAWfhFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPM1DM/dJMcahcrv9c/H4KhNd0pfpkkQU8sAWfhFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPM1DM/dJMcahcrv9c/H4KhNd0pfpkkQU8sAWfhFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPM1DM%2FdJMcahcrv9c%2FH4KhNd0pfpkkQU8sAWfhFk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;347&quot; height=&quot;1420&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;1420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1682&quot; data-origin-height=&quot;894&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dpTODf/dJMcacvtjrX/AKIGI1HluZ97fqVyjRh85k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dpTODf/dJMcacvtjrX/AKIGI1HluZ97fqVyjRh85k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dpTODf/dJMcacvtjrX/AKIGI1HluZ97fqVyjRh85k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdpTODf%2FdJMcacvtjrX%2FAKIGI1HluZ97fqVyjRh85k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;544&quot; height=&quot;289&quot; data-origin-width=&quot;1682&quot; data-origin-height=&quot;894&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문자와 메일을 받으셨다면 대학교 내 TO에 들으신 겁니다. 전 사실 이 문자를 받았는데도 쫄렸지만 대학교 티오에 들면 웬만하면 무조건 합격이다 라는 카더라가 있습니다. (맞는 것 같아요...)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6월 11일&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;1507&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8Q1lE/dJMcahcrwvA/ox84EKkrjWvXArzaUKkW1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8Q1lE/dJMcahcrwvA/ox84EKkrjWvXArzaUKkW1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8Q1lE/dJMcahcrwvA/ox84EKkrjWvXArzaUKkW1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8Q1lE%2FdJMcahcrwvA%2Fox84EKkrjWvXArzaUKkW1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;365&quot; height=&quot;1507&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;1507&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전 이렇게 합격 문자가 왔습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;7월 4일&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;391&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjQzCp/dJMcafFIbLe/kIWSA6xhsdfQEhUkQfVg30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjQzCp/dJMcafFIbLe/kIWSA6xhsdfQEhUkQfVg30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjQzCp/dJMcafFIbLe/kIWSA6xhsdfQEhUkQfVg30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjQzCp%2FdJMcafFIbLe%2FkIWSA6xhsdfQEhUkQfVg30%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;777&quot; height=&quot;214&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;391&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기억이 잘 안나는데 아마 3학년 1학기에 먼저 지불했던 등록금을 7월 4일에 환불받았던 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;9월 8일&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;1576&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d6bjWe/dJMcaivCY4q/59XWr89RRcO6EG51fos1w1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d6bjWe/dJMcaivCY4q/59XWr89RRcO6EG51fos1w1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d6bjWe/dJMcaivCY4q/59XWr89RRcO6EG51fos1w1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd6bjWe%2FdJMcaivCY4q%2F59XWr89RRcO6EG51fos1w1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;380&quot; height=&quot;1576&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;1576&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;111&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;7월 30일에 진행된 수여식에는 개인 일정으로 참석하지 못해, 저는 2학기에 학교를 통해 장학증서를 수령했습니다. 직접 행사에 참여하지는 못했지만, 이후 학교에서 따로 증서를 받을 수 있었습니다.&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;263&quot; data-start=&quot;113&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;263&quot; data-start=&quot;113&quot; data-ke-size=&quot;size16&quot;&gt;수여식 관련 안내 문자는 7월경에 전달되었던 것으로 기억합니다. 참석 신청은 구글폼을 통해 선착순으로 접수하는 방식이었고, 일정이 가능한 경우 미리 신청해야 하는 구조였습니다. 수여식 참석을 고려하시는 분들은 안내 문자가 오면 빠르게 확인하시는 것이 좋을 것 같습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/C7g4P/dJMcagkiD0y/X3JjkL3iGxw8cAM5KohTI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/C7g4P/dJMcagkiD0y/X3JjkL3iGxw8cAM5KohTI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/C7g4P/dJMcagkiD0y/X3JjkL3iGxw8cAM5KohTI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FC7g4P%2FdJMcagkiD0y%2FX3JjkL3iGxw8cAM5KohTI1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;409&quot; height=&quot;4000&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 인문100년 장학금 전공확립(3학년) 2유형 합격 후기였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가로 궁금하신 점 있으시면 언제든지 댓글 달아주세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;/p&gt;</description>
      <category>게시판</category>
      <category>scholorship</category>
      <category>국가우수장학금</category>
      <category>인문100년장학금</category>
      <category>장학금</category>
      <author>slvjuju</author>
      <guid isPermaLink="true">https://slvjuju.tistory.com/4</guid>
      <comments>https://slvjuju.tistory.com/4#entry4comment</comments>
      <pubDate>Sun, 1 Mar 2026 22:35:32 +0900</pubDate>
    </item>
    <item>
      <title>[운영체제] 2. Operating-System Structures</title>
      <link>https://slvjuju.tistory.com/3</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;참고 교재:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: center;&quot;&gt;Operating System Concepts (10th Ed) -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; text-align: center;&quot;&gt;A.Silberschatz, P.Galvin, and G.Gagne&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Operating System Services&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;사용자 인터페이스 (User Interface)&lt;/b&gt; - 거의 모든 운영 체제는 사용자 인터페이스(UI)를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;graphical user interface (GUI)&lt;/b&gt; : 아이콘-창 활용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Touch-screen interface&lt;/b&gt; : 사용자가 화면을 손가락으로 밀거나 버튼을 누를 수 있도록 하는 방식&lt;/li&gt;
&lt;li&gt;&lt;b&gt;command-line interface (CLI)&lt;/b&gt; : 텍스트 명령을 사용하는 방식 (리눅스 터미널, 명령 프롬프트 등)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Program Execution&lt;/b&gt; : 시스템은 프로그램을 메모리에 로드하고 실행하며, 정상적으로 또는 오류로 인해 비정상적으로 실행을 종료할 수 있어야 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴파일러 &amp;rarr; 토큰화하여 언어를 바꿔줌&lt;/li&gt;
&lt;li&gt;커밋&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;입출력 작업 (I/O Operations)&lt;/b&gt; : 실행 중인 프로그램은 입출력(I/O)이 필요할 수 있으며, 여기에는 파일 또는 I/O 장치와의 상호작용이 포함될 수 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;File-system Manipulation&lt;/b&gt; : 파일 시스템은 특히 중요한 요소! 프로그램은 파일과 디렉터리를 읽고 쓰며, 생성하고 삭제할 수 있어야 함. 특정 파일 검색, 파일 정보 나열, 권한 관리 기능 필요&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Communications&lt;/b&gt; : 실행 중인 프로세스 간 통신은 같은 컴퓨터 내에서 발생할 수도 있고, 서로 다른 컴퓨터 시스템 간에 발생할 수도 있음 &amp;rarr; 구현은 shared memory, message passing 으로!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;shared memory&lt;/b&gt; : 두 개 이상의 프로세스가 특정 메모리 영역을 읽고 쓰면서 데이터를 교환 (인터프로세스)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;message passing&lt;/b&gt; : 운영 체제가 정해진 형식의 정보를 패킷 형태로 프로세스 간에 전달 (분산 시스템 &amp;rarr; 클라이언트-서버모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Error detection&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;오류 &amp;rarr; CPU 및 메모리 하드웨어, 입출력(I/O) 장치, 사용자 프로그램 등 다양한 곳에서 발생할 수 있음&lt;/li&gt;
&lt;li&gt;운영 체제는 오류 유형에 따라 적절한 조치를 취하여 올바르고 일관된 컴퓨팅 환경을 지속적으로 보장해야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Resource Allocation&lt;/b&gt; : 여러 사용자가 동시에 작업하거나 여러 개의 작업이 동시에 실행될 경우, 운영 체제는 각 작업에 적절한 자원을 할당해야 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일부 자원(예: &lt;b&gt;CPU 시간, 주기억장치(RAM), 파일 저장소&lt;/b&gt;)에는 특별한 할당 코드가 필요&lt;/li&gt;
&lt;li&gt;다른 자원(예: &lt;b&gt;I/O 장치&lt;/b&gt;)은 보다 일반적인 요청 및 해제 코드를 사용하여 관리될 수 있음&lt;/li&gt;
&lt;li&gt;process management - 스케일러&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Logging&lt;/b&gt; : 운영 체제는 각 프로그램이 얼마나 많은 자원을 사용했는지, 어떤 유형의 자원을 사용했는지를 기록하여 추적&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Protection and Security&lt;/b&gt; : 다중 사용자 환경 또는 네트워크 기반 컴퓨터 시스템에서는 정보 소유자가 해당 정보를 어떻게 사용할지 제어
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Protection : 시스템 리소스에 대한 모든 접근을 제어&lt;/li&gt;
&lt;li&gt;Security : 시스템을 외부 위협(해커 등)으로부터 보호 (사용자 인증(User Authentication), I/O 장치의 무단 접근 방어)&lt;/li&gt;
&lt;li&gt;전체 시스템에 걸쳐 다양한 보호 조치가 마련되어야 함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;사슬은 가장 약한 고리만큼 강하다&quot; &amp;rarr;&lt;/b&gt; 보안의 취약점이 하나라도 존재하면 전체 시스템이 위험해질 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1126&quot; data-origin-height=&quot;554&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bedhZj/dJMcadA2R73/RRqLcvcrgFSMMbOwBipJi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bedhZj/dJMcadA2R73/RRqLcvcrgFSMMbOwBipJi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bedhZj/dJMcadA2R73/RRqLcvcrgFSMMbOwBipJi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbedhZj%2FdJMcadA2R73%2FRRqLcvcrgFSMMbOwBipJi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;644&quot; height=&quot;317&quot; data-origin-width=&quot;1126&quot; data-origin-height=&quot;554&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;User and Operation System Interface&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. CLI (Command-line interface)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 직접 명령을 입력&lt;/li&gt;
&lt;li&gt;CLI는 운영 체제의 &lt;b&gt;커널(Kernel)에 포함될 수도 있고, 별도의 프로그램으로 취급될 수도 있습니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;일부 운영 체제에서는 여러 개의 명령 Interpreter 제공 &amp;rarr; Shell
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Bourne-Again shell(Bash), C shell(Csh), Korn shell(Ksh)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;사용자가 지정한 명령을 가져와서 실행
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;파일 생성(create), 삭제(delete), 목록 출력(list), 내용 출력(print), 복사(copy), 실행(execute) 등&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CLI 명령어는 일반적으로 두 가지 방식으로 구현
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;명령 인터프리터 자체에 해당 명령을 실행하는 코드가 포함되는 방식&lt;/li&gt;
&lt;li&gt;대부분의 명령을 System Programs을 통해 실행하는 방식&lt;/li&gt;
&lt;li&gt;&lt;b&gt;사용자는 새로운 명령을 추가할 수 있으며, 특정 형식의 파일을 만들어 새로운 기능을 구현할 수 있음&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;967&quot; data-origin-height=&quot;669&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brJR5M/dJMcahwLxYq/Ks6IwjuBypmPcQATW4oFLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brJR5M/dJMcahwLxYq/Ks6IwjuBypmPcQATW4oFLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brJR5M/dJMcahwLxYq/Ks6IwjuBypmPcQATW4oFLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrJR5M%2FdJMcahwLxYq%2FKs6IwjuBypmPcQATW4oFLk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;430&quot; height=&quot;297&quot; data-origin-width=&quot;967&quot; data-origin-height=&quot;669&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. GUI (User-friendly graphical user interface)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;마우스를 기반으로 한 창(Window)과 메뉴(Menu) 시스템&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Icon : 프로그램, 파일, 디렉터리(폴더), 시스템 기능을 나타냄&lt;/li&gt;
&lt;li&gt;&lt;b&gt;마우스 버튼 클릭&lt;/b&gt;을 통해 프로그램 실행, 파일 또는 디렉터리 선택, 명령어가 포함된 메뉴를 불러올 수 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;1970년대 초반 Xerox PARC 연구소에서 개발됨&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;1980년대 Apple Macintosh 컴퓨터의 등장과 함께 보편화됨&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Mac OS X에서 등장한 &amp;ldquo;Aqua&amp;rdquo; 인터페이스&lt;/b&gt;의 채택&lt;/li&gt;
&lt;li&gt;마이크로소프트(Microsoft)는 GUI 인터페이스를 &lt;b&gt;MS-DOS 운영 체제에 추가하여 최초의 Windows 버전을 출시&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. Touch-Screen Interfaces&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;스마트폰 및 휴대용 태블릿 컴퓨터는 &lt;b&gt;터치스크린 인터페이스 사용&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;사용자는 화면을 터치하여 Gesture를 수행하여 상호작용 (pressing, swiping)&lt;/li&gt;
&lt;li&gt;대부분의 스마트폰은 &lt;b&gt;화면에 가상 키보드(온스크린 키보드)를 제공&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하여 입력 기능을 수행&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;System Calls (실습)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영 체제가 제공하는 &lt;b&gt;서비스를 사용할 수 있도록 Interface를 제공&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;C, C++로 작성된 함수&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Application 개발자는 &lt;b&gt;System Call을 직접 호출하는 것이 아니라 API(Application Programming Interface)를 사용하여 프로그램 설계&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;API : 응용 프로그램 개발자가 사용할 수 있는 함수 목록 정의&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 함수에 전달할 매개변수(parameters)와 예상되는 반환 값을 명확히 지정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;가장 일반적인 API&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Win32 API&lt;/b&gt; &amp;rarr; Windows 운영 체제에서 사용됨&lt;/li&gt;
&lt;li&gt;&lt;b&gt;POSIX API&lt;/b&gt; &amp;rarr; UNIX, Linux, macOS를 포함한 POSIX 기반 운영 체제에서 사용됨.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Java API&lt;/b&gt; &amp;rarr; Java Virtual Machine(JVM) 환경에서 실행되는 프로그램을 위한 API.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;system calls 대신 API를 직접 사용하는 이유&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;프로그램 이식성(Portability)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;API를 사용하여 작성된 프로그램은 같은 API를 지원하는 모든 시스템에서 실행 가능&lt;/li&gt;
&lt;li&gt;운영 체제가 다르더라도, 같은 API를 지원하면 별도의 수정 없이 코드 실행이 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;시스템 콜은 복잡하고 세부적인 처리가 필요하기 때문에, API를 사용하면 더 쉽게 개발 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;시스템 콜이 어떻게 사용되는지에 대한 예제&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;파일을 읽고 다른 파일에 복사하는 간단한 프로그램 작성&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;프로그램이 처음으로 받아야 하는 입력은 &lt;b&gt;입력 파일과 출력 파일의 이름&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영 체제 디자인에 따라 &lt;b&gt;파일 이름을 전달하는 방법이 다를 수 있음&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;UNIX에서는 &lt;b&gt;명령줄 인자로 파일 이름을 전달하는 방법&lt;/b&gt; 사용&lt;/li&gt;
&lt;li&gt;cp in.txt out.txt&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다른 방법&lt;/b&gt;은 프로그램이 사용자에게 &lt;b&gt;파일 이름을 직접 입력받는 방식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;GUI 환경에서는 파일을 마우스로 선택하는 방식&lt;/b&gt;을 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 목록이 화면에 표시되며, 사용자는 원하는 파일을 선택&lt;/li&gt;
&lt;li&gt;&lt;b&gt;I/O 시스템 콜이 여러 번 호출됨&lt;/b&gt; (파일 선택, 창 열기, 데이터 입력 등)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1085&quot; data-origin-height=&quot;723&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coNVJe/dJMcabi1tRH/hBC5zIHlHVJucZXdZZdH50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coNVJe/dJMcabi1tRH/hBC5zIHlHVJucZXdZZdH50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coNVJe/dJMcabi1tRH/hBC5zIHlHVJucZXdZZdH50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoNVJe%2FdJMcabi1tRH%2FhBC5zIHlHVJucZXdZZdH50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;443&quot; height=&quot;295&quot; data-origin-width=&quot;1085&quot; data-origin-height=&quot;723&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- system call sequence to copy the contents of one file to another file&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;760&quot; data-origin-height=&quot;777&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/McyeL/dJMcaaEpyTF/YrMoC1oy8nXCxSnF24tIek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/McyeL/dJMcaaEpyTF/YrMoC1oy8nXCxSnF24tIek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/McyeL/dJMcaaEpyTF/YrMoC1oy8nXCxSnF24tIek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMcyeL%2FdJMcaaEpyTF%2FYrMoC1oy8nXCxSnF24tIek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;418&quot; height=&quot;427&quot; data-origin-width=&quot;760&quot; data-origin-height=&quot;777&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;int fd (파일 디스크립터)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;fd는 운영 체제가 파일을 관리할 때 사용하는 고유한 숫자&lt;/li&gt;
&lt;li&gt;파일을 열면(open()) 파일 디스크립터가 반환되며, 이 값을 read()에 전달해야 함&lt;/li&gt;
&lt;li&gt;예: open(&quot;file.txt&quot;, O_RDONLY); &amp;rarr; fd 값이 3이라면, read(3, buf, 100); 호출 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;void *buf (버퍼 포인터)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일에서 읽은 데이터를 저장할 메모리 주소&lt;/li&gt;
&lt;li&gt;read() 함수는 이 버퍼에 데이터를 채움&lt;/li&gt;
&lt;li&gt;예: char buffer[100]; read(fd, buffer, 100);&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;size_t count (읽을 최대 바이트 크기)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;한 번에 읽을 최대 바이트 수를 지정&lt;/li&gt;
&lt;li&gt;파일 크기보다 큰 값을 설정하면 &lt;b&gt;파일 크기만큼만 읽음&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;System Call Implementation&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;실행 환경(RTE, Run-Time Environment)&lt;/b&gt;: 프로그램 실행에 필요한 소프트웨어(compilers, interpreters + other software (libraries, loaders) )를 포함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;RTE는 system-call interface 제공&lt;/b&gt; &amp;rarr; 운영 체제가 제공하는 &lt;b&gt;system calls&lt;/b&gt; 에 접근할 수 있도록 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;API에서 호출된 함수들을 intercept &amp;rarr;&lt;/b&gt; 운영 체제 내에서 적절한 시스템 호출을 실행 (OS의 시스템 호출로 변환)&lt;/li&gt;
&lt;li&gt;OS 커널이 호출을 빠르게 처리할 수 있도록 번호를 기반으로 인터페이스 테이블을 유지&lt;/li&gt;
&lt;li&gt;system call interface는 OS kernel에서 해당 시스템 호출을 실행 &amp;rarr; 그 실행 결과(상태) 반환&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;프로그램 &amp;rarr; API &amp;rarr; 시스템 호출 인터페이스 &amp;rarr; OS 커널 &amp;rarr; 실행 결과 반환&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;사용자는 시스템 호출의 내부 구현을 알 필요가 없음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;API의 규칙만 따르면 OS가 수행할 동작을 이해하는 것만으로 충분&lt;/li&gt;
&lt;li&gt;운영 체제의 복잡한 세부 사항은 API가 숨기며, 실행 환경(RTE)이 이를 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;system friendly API&lt;/li&gt;
&lt;li&gt;어셈블리&amp;hellip;&lt;/li&gt;
&lt;li&gt;file 오픈, 접근 &amp;rarr; 포인터 증가, system call을 발생시킴&lt;/li&gt;
&lt;li&gt;user defined function : 내가 작성한 함수
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파라미터 패싱&lt;/li&gt;
&lt;li&gt;주솟값을 참조할지~&lt;/li&gt;
&lt;li&gt;defined 된 것은 건들지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1051&quot; data-origin-height=&quot;632&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/B65R6/dJMcabJ50zS/28dHcu213AsMPDf7S5Wlk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/B65R6/dJMcabJ50zS/28dHcu213AsMPDf7S5Wlk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/B65R6/dJMcabJ50zS/28dHcu213AsMPDf7S5Wlk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB65R6%2FdJMcabJ50zS%2F28dHcu213AsMPDf7S5Wlk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;467&quot; height=&quot;281&quot; data-origin-width=&quot;1051&quot; data-origin-height=&quot;632&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;system-call interface
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;API를 가로챔&lt;/li&gt;
&lt;li&gt;system call interrupt &amp;rarr; &lt;b&gt;테이블&lt;/b&gt;로 만듦 (&lt;b&gt;IDT&lt;/b&gt;, interrupt discript table)&lt;/li&gt;
&lt;li&gt;Ox80 system call interrupt 라는 것을 인지 &amp;rarr; handler 받아서 open을 테이블에서 찾아서 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;System Call Parameter Passing&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일반적으로 시스템 호출의 ID(번호)만 전달하는 것이 아니라, 추가적인 정보(정보의 유형과 양은 OS 및 시스템 호출에 따라 다름) 필요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예: 입력을 받으려면 &lt;b&gt;파일이나 장치, 메모리 버퍼의 주소 및 크기&lt;/b&gt; 등을 지정해야 함!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;운영 체제에 매개변수를 전달하는 세 가지 방법&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;가장 간단한 방법: 레지스터에 매개변수를 전달&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;매개변수를 &lt;b&gt;CPU 레지스터&lt;/b&gt;에 직접 저장하여 전달하는 방식.&lt;/li&gt;
&lt;li&gt;하지만 &lt;b&gt;매개변수 개수 &amp;gt; 레지스터 개수 &amp;rarr; 사용이 어려움&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;register 개수가 한정되어있어서 파라미터가 여러개일땐 사용하기 힘듦, 그래서 일반적으론 X&lt;/li&gt;
&lt;li&gt;ex. read라면 3개의 파라미터가 넘겨짐&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;매개변수들을 메모리 블록(테이블)에 저장하고, 블록의 주소를 레지스터에 전달&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;리눅스(Linux)와 솔라리스(Solaris)&lt;/b&gt; 에서 사용&lt;/li&gt;
&lt;li&gt;파라미터 덩어리들을 하나의 블럭(테이블)로 처리 &amp;rarr; 블럭의 주솟값을 통해 해당 파라미터에 대한 정보를 상대방이 받음&lt;/li&gt;
&lt;li&gt;보통 이렇게 테이블 형태로 많이 사용함&lt;/li&gt;
&lt;li&gt;테이블에서 주솟값으로 찾아감&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;프로그램이 매개변수를 스택(Stack) 메모리에 저장(Push) &amp;rarr; OS가 이를 Pop하여 사용&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;블록과 스택 방식 &amp;rarr; 매개변수의 개수나 크기에 제한 X&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;572&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VCVdi/dJMcabDjmfS/LIrLIWqRsUNyIPGodX72O0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VCVdi/dJMcabDjmfS/LIrLIWqRsUNyIPGodX72O0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VCVdi/dJMcabDjmfS/LIrLIWqRsUNyIPGodX72O0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVCVdi%2FdJMcabDjmfS%2FLIrLIWqRsUNyIPGodX72O0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;488&quot; height=&quot;264&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;572&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Types of System Calls&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OS의 기능을 생각하면 됨&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Process control&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로세스 관리&lt;/li&gt;
&lt;li&gt;create process, terminate process&lt;/li&gt;
&lt;li&gt;load, execute&lt;/li&gt;
&lt;li&gt;get &amp;amp; set process attributes&lt;/li&gt;
&lt;li&gt;wait event, signal event&lt;/li&gt;
&lt;li&gt;allocate and free memory&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;File management&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 관리 (생성, 이동, 없앰 등등)&lt;/li&gt;
&lt;li&gt;create file, delete file&lt;/li&gt;
&lt;li&gt;open, close&lt;/li&gt;
&lt;li&gt;read, write, reposition&lt;/li&gt;
&lt;li&gt;get &amp;amp; set file attributes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Device management&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보통 IOS&lt;/li&gt;
&lt;li&gt;request device, release device&lt;/li&gt;
&lt;li&gt;read, write, reposition&lt;/li&gt;
&lt;li&gt;get &amp;amp; set device attributes&lt;/li&gt;
&lt;li&gt;logically attach or detach evices&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Information maintenance&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;get &amp;amp; set time or date&lt;/li&gt;
&lt;li&gt;get &amp;amp; set system data&lt;/li&gt;
&lt;li&gt;get &amp;amp; set process, file, or device attributes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Communications&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ccreate, delete communication connection&lt;/li&gt;
&lt;li&gt;send, receive messages&lt;/li&gt;
&lt;li&gt;transfer status information&lt;/li&gt;
&lt;li&gt;attach or detach remote devices&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Protection&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;get &amp;amp; set file permissions&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;643&quot; data-origin-height=&quot;660&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCbhYS/dJMb996yF32/CyK3UH4uPqlXXtK9eGhbpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCbhYS/dJMb996yF32/CyK3UH4uPqlXXtK9eGhbpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCbhYS/dJMb996yF32/CyK3UH4uPqlXXtK9eGhbpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCbhYS%2FdJMb996yF32%2FCyK3UH4uPqlXXtK9eGhbpk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;385&quot; height=&quot;395&quot; data-origin-width=&quot;643&quot; data-origin-height=&quot;660&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Example of Standard C Library&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1098&quot; data-origin-height=&quot;662&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boWJYs/dJMcabpNch6/kdEFqJg3BQtJpQsif6YPL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boWJYs/dJMcabpNch6/kdEFqJg3BQtJpQsif6YPL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boWJYs/dJMcabpNch6/kdEFqJg3BQtJpQsif6YPL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboWJYs%2FdJMcabpNch6%2FkdEFqJg3BQtJpQsif6YPL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;563&quot; height=&quot;339&quot; data-origin-width=&quot;1098&quot; data-origin-height=&quot;662&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Example : Single-tasking system - Arduino&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;마이크로컨트롤러와 다양한 이벤트에 반응하는 입력 센서로 구성된 간단한 하드웨어 플랫폼&lt;/li&gt;
&lt;li&gt;&lt;b&gt;아두이노에서 프로그램을 작성하는 과정&lt;/b&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;먼저 PC에서 프로그램을 작성&lt;/li&gt;
&lt;li&gt;프로그램을 컴파일하여 &quot;sketch&quot;라는 실행 파일을 생성&lt;/li&gt;
&lt;li&gt;USB 연결을 통해 스케치를 아두이노의 Flash Memory로 업로드&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;아두이노는 운영 체제(OS)를 제공하지 않음&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;대신, 부트로더(Boot Loader)라는 작은 소프트웨어가 존재하며 이 부트로더가 &lt;b&gt;업로드된 스케치를 특정 메모리 영역에 로드&lt;/b&gt;하여 실행할 수 있도록 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른것과 비교했을땐 저성능&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;446&quot; data-origin-height=&quot;341&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ciO2QJ/dJMcaaRW7Qf/q39ggeol4rRukuTC4M2tkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ciO2QJ/dJMcaaRW7Qf/q39ggeol4rRukuTC4M2tkK/img.png&quot; data-alt=&quot;(a)System startup (b) Running a sketch&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ciO2QJ/dJMcaaRW7Qf/q39ggeol4rRukuTC4M2tkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FciO2QJ%2FdJMcaaRW7Qf%2Fq39ggeol4rRukuTC4M2tkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;286&quot; height=&quot;219&quot; data-origin-width=&quot;446&quot; data-origin-height=&quot;341&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;(a)System startup (b) Running a sketch&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Example : Multitasking system - FreeBSD&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FreeBSD는 Berkeley Unix에서 파생된 유닉스 계열 운영 체제&lt;/li&gt;
&lt;li&gt;로그인 시, 사용자가 선택한 셸(Shell)이 실행됨&lt;/li&gt;
&lt;li&gt;다중 작업 시스템이므로, 셸이 실행된 상태에서 다른 프로그램을 실행할 수 있음&lt;/li&gt;
&lt;li&gt;새로운 프로세스를 생성할 때 fork() 시스템 호출을 사용&lt;/li&gt;
&lt;li&gt;실제 프로그램 실행은 exec() 시스템 호출을 사용하여 메모리에 로드됨&lt;/li&gt;
&lt;li&gt;프로그램은 포그라운드(대기) 또는 백그라운드에서 실행 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;376&quot; data-origin-height=&quot;517&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NCKVT/dJMcaaxDwjz/m7raAPXCkjxnRhjXDf6nY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NCKVT/dJMcaaxDwjz/m7raAPXCkjxnRhjXDf6nY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NCKVT/dJMcaaxDwjz/m7raAPXCkjxnRhjXDf6nY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNCKVT%2FdJMcaaxDwjz%2Fm7raAPXCkjxnRhjXDf6nY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;193&quot; height=&quot;265&quot; data-origin-width=&quot;376&quot; data-origin-height=&quot;517&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;System Services&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(System Program)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;provide
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;File manipulation&lt;/li&gt;
&lt;li&gt;Status information&lt;/li&gt;
&lt;li&gt;File modification&lt;/li&gt;
&lt;li&gt;Programming language support&lt;/li&gt;
&lt;li&gt;Program loading and execution&lt;/li&gt;
&lt;li&gt;Communications&lt;/li&gt;
&lt;li&gt;Background services&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;시스템 서비스는 개발과 실행 환경을 편리하게 만들어 주며, 사용자는 system call이 아닌 애플리케이션을 통해 운영 체제를 경험함&lt;/li&gt;
&lt;li&gt;하나하나의 OS 기능을 서비스 형태로 봄&lt;/li&gt;
&lt;li&gt;source program 이 실행 가능한 형태의 언어로 바뀌는 것을 complie한다 라고 함&lt;/li&gt;
&lt;li&gt;object 형태 &amp;rarr; linker / loader 로 실행 가능한 형태로~&lt;/li&gt;
&lt;li&gt;프로그래밍 언어에 따라 서로 다른 속성을 갖고 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;System Services = System Utilities&lt;/b&gt;는 운영 체제의 핵심 기능을 쉽게 사용할 수 있도록 제공되는 프로그램&lt;/li&gt;
&lt;li&gt;파일 관리 - Create, delete, copy, rename, print, dump, list, and generally manipulate files and directories&lt;/li&gt;
&lt;li&gt;Status information
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일부 프로그램은 시스템에 날짜, 시간, 사용 가능한 메모리 양, 디스크 공간, 사용자 수 등과 같은 상태 정보를 요청&lt;/li&gt;
&lt;li&gt;다른 프로그램은 더 복잡한 작업을 수행하여 성능 분석, 로깅(기록 저장), 디버깅 정보 제공 등의 기능을 함&lt;/li&gt;
&lt;li&gt;일반적으로 이러한 프로그램들은 출력을 터미널, 다른 출력 장치, 파일 등에 포맷화하여 출력하거나 GUI 창에 표시함&lt;/li&gt;
&lt;li&gt;일부 시스템에서는 Registry를 지원&lt;/li&gt;
&lt;li&gt;&amp;rarr; 설정 정보 저장, 검색 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;File Modification&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;text editors &amp;rarr; &lt;b&gt;디스크에 저장된 파일의 내용을 생성, 수정&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;특정 명령어를 사용하여 파일 내용 검색 또는 텍스트 변환&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Programming-Language Support&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Compiler, Assembler, Debugger, Interpreter 등&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Program Loading and Execution&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Absolute Loader, Relocatable Loader, Linkage Editor, Overlay Loader, 고급 언어 및 기계어를 위한 Debugging Systems&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Communications&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로세스, 사용자, 컴퓨터 시스템 간에 가상의 연결(Virtual Connections)을 생성하는 메커니즘을 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 사용자의 화면에 메시지를 전송&lt;/li&gt;
&lt;li&gt;웹 페이지 탐색&lt;/li&gt;
&lt;li&gt;이메일 전송&lt;/li&gt;
&lt;li&gt;원격 로그인&lt;/li&gt;
&lt;li&gt;다른 컴퓨터로 파일 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Background services&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일부 프로세스는 작업 완료 후 종료되지만, 다른 프로세스는 시스템이 종료될 때까지 지속적으로 실행&lt;/li&gt;
&lt;li&gt;known as Services, Subsystems, Daemons&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Linkers and Loaders&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;712&quot; data-origin-height=&quot;717&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xm2D7/dJMcaaEpyUZ/CMOPyBRfasBmdikOIJxBt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xm2D7/dJMcaaEpyUZ/CMOPyBRfasBmdikOIJxBt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xm2D7/dJMcaaEpyUZ/CMOPyBRfasBmdikOIJxBt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxm2D7%2FdJMcaaEpyUZ%2FCMOPyBRfasBmdikOIJxBt0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;406&quot; height=&quot;409&quot; data-origin-width=&quot;712&quot; data-origin-height=&quot;717&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;프로그램을 컴파일한 후 메모리에 배치하여 CPU에서 실행 가능하게 만드는 절차&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;소스 코드(Source Code)를 작성하여 컴파일(Compile)&lt;/li&gt;
&lt;li&gt;컴파일 결과로 재배치 가능한 오브젝트 파일(Relocatable Object File) 생성&lt;/li&gt;
&lt;li&gt;링커(Linker)가 여러 오브젝트 파일을 결합하여 실행 가능한 바이너리 파일(Binary Executable File) 생성&lt;/li&gt;
&lt;li&gt;로더(Loader)가 실행 파일을 메모리에 적재(Loading)하여 실행 준비 완료&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 이 모든 과정이 끝나야 프로그램이 CPU에서 실행될 수 있다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Operation System Design and Implementation&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Design Goals&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;목표(Goals)와 명세(Specifications) 먼저 정의&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;선택한 하드웨어 및 시스템 유형에 따라 영향을 받음&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. User Goals &amp;amp; System Goals&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;사용자 목표 (User Goals)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;편리성(Convenience), 학습 용이성(Easy to Learn), 신뢰성(Reliability), 안전성(Safety), 속도(Fast Performance)&lt;/li&gt;
&lt;li&gt;&amp;rarr; 쉽고 편리하게 사용할 수 있는 운영체제&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;시스템 목표 (System Goals)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;설계 용이성(Ease of Design), 구현 및 유지보수 용이성(Ease of Implementation &amp;amp; Maintenance), 유연성(Flexibility), 신뢰성(Reliability), 오류 최소화(Error-Free), 효율성(Efficiency)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&amp;rarr; 유지보수와 확장이 쉬우면서도 안정적이고 효율적으로 동작하는 운영체제&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. Policy 와 Mechanism의 분리 &amp;rarr; 유연성&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Policy&lt;/b&gt; : 무엇을 할 것?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 요구나 환경에 따라 자주 변경될 가능성이 있음&lt;/li&gt;
&lt;li&gt;정책이 바뀔 때마다 기본적인 시스템 구조(메커니즘)를 다시 설계해야 한다면 비효율적&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Mechanism&lt;/b&gt; : 어떻게 구현?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;매커니즘(Mechanism)은 정책을 구현하는 기반 구조이므로, 최대한 안정적이어야 함.&lt;/li&gt;
&lt;li&gt;한 번 설계된 메커니즘을 유지한 채, 다양한 정책을 적용할 수 있도록 분리하는 것이 운영 체제 설계의 핵심 원칙&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ex. 타이머를 사용하는 메커니즘은 고정되어 있지만, &quot;얼마나 긴 시간 동안 CPU를 허용할 것인가?&quot;라는 정책은 변경될 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. Assembly Language &amp;rarr; Higher-level Language&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;초기 운영체제는 assembly language &amp;rarr; 현재는 higher-level language, C 또는 C++&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영 체제의 최하위(커널의 일부)는 어셈블리와 C를 사용, 반면 상위 수준의 기능(시스템 라이브러리 등)은 C++이나 더 높은 언어로 작성됨&lt;/li&gt;
&lt;li&gt;고급 언어 사용의 장점
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드 작성 속도 증가, 코드가 더 짧고 간결함&lt;/li&gt;
&lt;li&gt;유지보수 및 디버깅이 쉬움&lt;/li&gt;
&lt;li&gt;버그 수정이 쉬우며, 운영 체제 개발 속도가 빨라짐&lt;/li&gt;
&lt;li&gt;이식성(Portability) 증가 : 다른 하드웨어에서도 쉽게 실행할 수 있도록 수정 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;고급 언어 사용의 단점
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;속도가 느려짐&lt;/li&gt;
&lt;li&gt;메모리 사용 증가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;계층이 높아질수록 시스템은 효율적X
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가상화 환경에서는 별로&lt;/li&gt;
&lt;li&gt;하드웨어쪽 친화적이면 훨씬 빠름&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;OS Structure : Monolithic Structure&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영체제의 가장 단순한 구조는 &lt;b&gt;No Structure 방식&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UNIX OS 의 두 파트&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;System programs&lt;/li&gt;
&lt;li&gt;The kernel
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;interfaces &amp;amp; device drivers로 나뉨&lt;/li&gt;
&lt;li&gt;운영 체제의 핵심 부분으로, &lt;b&gt;하드웨어와 시스템 프로그램 사이의 중간 역할을 수행&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;시스템 호출(System Call) 인터페이스를 통해 프로그램이 하드웨어와 상호작용할 수 있도록 지원&lt;/li&gt;
&lt;li&gt;file system, CPU scheduling, memory management, other operating-system functions through system calls 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;687&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pdl7X/dJMb996yF5q/jPlFEaet76yYnd7kQ4u6xk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pdl7X/dJMb996yF5q/jPlFEaet76yYnd7kQ4u6xk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pdl7X/dJMb996yF5q/jPlFEaet76yYnd7kQ4u6xk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpdl7X%2FdJMb996yF5q%2FjPlFEaet76yYnd7kQ4u6xk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;513&quot; height=&quot;312&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;687&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Monolithic Structure - Linux&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;응용 프로그램은 커널의 시스템 호출 인터페이스와 통신할 때 &lt;b&gt;glibc 표준 C 라이브러리&lt;/b&gt;를 사용&lt;/li&gt;
&lt;li&gt;monolithic kernel은 단순해 보이지만, 구현과 확장이 어려움&lt;/li&gt;
&lt;li&gt;시스템 호출 인터페이스에서의 overhead는 거의 X, 커널 내부에서의 통신 속도는 빠름&lt;/li&gt;
&lt;li&gt;모놀리식 커널의 단점에도 불구하고, &lt;b&gt;속도와 효율성&lt;/b&gt; 때문에 UNIX, Linux, Windows에서 여전히 사용되고 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;715&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFdNEl/dJMcahKiSJP/XiNi2E44nJKvhekKEneJk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFdNEl/dJMcahKiSJP/XiNi2E44nJKvhekKEneJk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFdNEl/dJMcahKiSJP/XiNi2E44nJKvhekKEneJk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFdNEl%2FdJMcahKiSJP%2FXiNi2E44nJKvhekKEneJk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;278&quot; height=&quot;428&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;715&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;OS Structure : Layered Approach&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Monolithic approach : &lt;b&gt;tightly coupled system&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&amp;harr; loosely coupled system : 특정한 기능을 수행하는 더 작은 개별 구성 요소들로 나뉨&lt;/li&gt;
&lt;li&gt;운영 체제는 여러 개의 계층(layers)으로 나뉨
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 아래 계층(layer 0) &amp;rarr; 하드웨어&lt;/li&gt;
&lt;li&gt;가장 위 계층(layer N) &amp;rarr; 사용자 인터페이스&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;모듈화(modularity) &amp;rarr; 각 계층은 오직 하위 계층의 기능과 서비스만 사용하도록 설계됨&lt;/li&gt;
&lt;li&gt;계층적 접근법(layered approach) 장점 : 구현과 디버깅이 단순해짐&lt;/li&gt;
&lt;li&gt;순수한 계층적 접근 방식을 사용하는 운영 체제는 거의 X&lt;/li&gt;
&lt;li&gt;&amp;rarr; 각 계층의 기능을 적절하게 정의하는 것이 어렵기 때문&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;707&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJMioR/dJMcaaj55sP/Q6ctaJlqpqkZAVGtmKX500/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJMioR/dJMcaaj55sP/Q6ctaJlqpqkZAVGtmKX500/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJMioR/dJMcaaj55sP/Q6ctaJlqpqkZAVGtmKX500/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJMioR%2FdJMcaaj55sP%2FQ6ctaJlqpqkZAVGtmKX500%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;299&quot; height=&quot;271&quot; data-origin-width=&quot;779&quot; data-origin-height=&quot;707&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;layered structure &amp;rarr; 계층화! 사용자 친화적 / 하드웨어 친화적&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모듈 단위로 코멘트 하는 것이 좋음&lt;/p&gt;</description>
      <category>공부/컴퓨터</category>
      <category>computerarchitecture</category>
      <category>computerscience</category>
      <category>CS</category>
      <category>OperatingSystem</category>
      <category>os</category>
      <category>공부</category>
      <category>대학교</category>
      <category>운영체제</category>
      <category>컴퓨터공학</category>
      <category>학부</category>
      <author>slvjuju</author>
      <guid isPermaLink="true">https://slvjuju.tistory.com/3</guid>
      <comments>https://slvjuju.tistory.com/3#entry3comment</comments>
      <pubDate>Sat, 28 Feb 2026 19:56:53 +0900</pubDate>
    </item>
    <item>
      <title>[운영체제] 1. Introduction</title>
      <link>https://slvjuju.tistory.com/2</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;참고 교재: &lt;span style=&quot;background-color: #ffffff; text-align: center;&quot;&gt;Operating System Concepts (10th Ed) - &lt;span style=&quot;background-color: #ffffff; text-align: center;&quot;&gt;A.Silberschatz, P.Galvin, and G.Gagne&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;운영체제의 목표&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자 프로그램을 실행하고, 사용자의 문제 해결을 쉽게 만든다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 직접 하드웨어를 다루지 않고 운영체제를 통해 쉽게 프로그램을 실행할 수 있도록 해줌.&lt;/li&gt;
&lt;li&gt;예: Windows에서 클릭 한 번으로 프로그램을 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;컴퓨터 시스템을 편리하게 사용할 수 있도록 한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GUI(그래픽 인터페이스), 파일 탐색기, 작업 관리자 같은 기능 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;컴퓨터 하드웨어를 효율적으로 사용한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CPU, 메모리, 디스크 등의 자원을 최적화하여 빠르고 안정적인 성능 제공&lt;/li&gt;
&lt;li&gt;멀티태스킹(여러 프로그램을 동시에 실행), 메모리 관리, 디스크 스케줄링 등을 통해 성능 극대화&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Computer system - 4 components&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Hardware&lt;/b&gt; (CPU, memory, I/O devices)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Operating system&lt;/b&gt; (controls &amp;amp; coordinates use of hardware)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Application programs&lt;/b&gt; (Word processors, compilers, web browsers, database systems, video games)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Users&lt;/b&gt; (people, machines, other computers)&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;컴퓨터 시스템 계층구조&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1277&quot; data-origin-height=&quot;794&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/balKCH/dJMcacIZOZv/JDhp56cmo9kGDiS8UbvLhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/balKCH/dJMcacIZOZv/JDhp56cmo9kGDiS8UbvLhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/balKCH/dJMcacIZOZv/JDhp56cmo9kGDiS8UbvLhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbalKCH%2FdJMcacIZOZv%2FJDhp56cmo9kGDiS8UbvLhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;508&quot; height=&quot;316&quot; data-origin-width=&quot;1277&quot; data-origin-height=&quot;794&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;운영체제 역할&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;resource allocator&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;manages all resources&lt;/li&gt;
&lt;li&gt;conflicting requests 중에서 efficient and fair resource를 결정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;control program&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;에러나 improper use 를 막기 위해 execution of programs을 control&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;운영체제 구성&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;kernel&lt;/b&gt; : 운체 핵심! 항상 실행되는 프로그램
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Windows NT 커널, Linux 커널, macOS XNU 커널&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;system programs&lt;/b&gt; : 운영체제와 관련 - 운영체제 기능 확장, 시스템 관리
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;명령어 인터프리터(Shell, 터미널)&lt;/li&gt;
&lt;li&gt;시스템 설정 도구(Control Panel, 설정 앱)&lt;/li&gt;
&lt;li&gt;디스크 관리 프로그램&lt;/li&gt;
&lt;li&gt;파일 탐색기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;application programs (응용 프로그램)&lt;/b&gt; : 사용자가 실행 - 운영체제의 직접적인 일부는 아니지만, 운영체제 위에서 동작
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 브라우저(Chrome, Firefox)&lt;/li&gt;
&lt;li&gt;오피스 프로그램(MS Word, Excel)&lt;/li&gt;
&lt;li&gt;미디어 플레이어(VLC, Windows Media Player)&lt;/li&gt;
&lt;li&gt;게임&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 응용 프로그램 실행 (ex. 웹 브라우저 실행)&lt;/li&gt;
&lt;li&gt;운영체제가 프로그램을 로드하고 CPU, 메모리, 디스크 자원을 할당&lt;/li&gt;
&lt;li&gt;응용 프로그램이 동작하면서 사용자의 입력을 처리&lt;/li&gt;
&lt;li&gt;사용자가 프로그램을 종료하면 운영체제가 메모리에서 프로그램 제거&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Computer System Organization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공유 버스 (Common Bus) &amp;amp; 공유 메모리 (Shared Memory)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CPU와 I/O 장치가 데이터를 주고받기 위해 사용하는 통로&lt;/li&gt;
&lt;li&gt;CPU와 디바이스 컨트롤러가 공유된 메모리에 접근할 때 경쟁이 발생할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1094&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dUfxd6/dJMcagdyui2/yphadWrHIZXTKyTJd973kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dUfxd6/dJMcagdyui2/yphadWrHIZXTKyTJd973kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dUfxd6/dJMcagdyui2/yphadWrHIZXTKyTJd973kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdUfxd6%2FdJMcagdyui2%2FyphadWrHIZXTKyTJd973kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;271&quot; data-origin-width=&quot;1094&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Computer Startup&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;bootstrap program&lt;/b&gt; : 컴퓨터가 처음 켜질 때 실행되는 프로그램. 운영체제를 로드하고 시스템을 초기화. &amp;rarr; 운영체제 불러올 준비
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;저장 위치: ROM / EEPROM - firmware, 전원이 꺼져도 유지됨&lt;/li&gt;
&lt;li&gt;시스템 하드웨어 초기화&lt;/li&gt;
&lt;li&gt;OS kernel을 로드하고 운영체제 실행 시작&lt;/li&gt;
&lt;li&gt;부트로더 &amp;rarr; 운영체제 RAM으로 로드&lt;/li&gt;
&lt;li&gt;커널 실행 &amp;rarr; 운영체제 시작!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Computer-System Operation&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;I/O 와 CPU는 독립적으로 실행 가능&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CPU는 프로그램 실행 중&lt;/li&gt;
&lt;li&gt;I/O 장치는 데이터를 주고받음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;디바이스 컨트롤러&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 I/O 장치(예: 키보드, 마우스, 하드디스크)를 관리하는 전용 하드웨어&lt;/li&gt;
&lt;li&gt;각 디바이스 컨트롤러마다 &quot;로컬 버퍼(Local Buffer)&quot;를 가짐&lt;/li&gt;
&lt;li&gt;I/O 장치와 메모리 사이의 데이터 전송을 담당&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CPU는 데이터를 &lt;b&gt;주 메모리 &amp;harr; 로컬 버퍼&lt;/b&gt;로 이동시킴&lt;/li&gt;
&lt;li&gt;I/O 는 장치에서 컨트롤러의 로컬 버퍼로 데이터를 전송&lt;/li&gt;
&lt;li&gt;I/O 장치가 작업 완료 시 &lt;b&gt;interrupt&lt;/b&gt;를 발생시켜 CPU에게 알려줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;interrupt : 현재 작업을 멈추고 특정 작업을 하도록 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Common Functions of Interrupts&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Interrupt&lt;/b&gt; : CPU가 특정 이벤트(예: I/O 완료, 오류 발생, 사용자 입력 등)에 의해 &lt;b&gt;현재 실행 중인 작업을 중단하고 즉시 특정 작업(인터럽트 서비스 루틴)을 수행하는 메커니즘 &amp;rarr;&lt;/b&gt; CPU가 불필요하게 대기 X&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;인터럽트 발생 &amp;rarr; CPU는 현재 작업을 중단하고 인터럽트 처리 시작&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CPU는 현재 실행 중이던 명령어의 주소를 저장하고, &lt;b&gt;인터럽트 서비스 루틴(ISR)의 주소로 점프&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;인터럽트 서비스 루틴(ISR) 실행&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인터럽트에 대한 처리를 수행 (예: 키보드 입력 처리, I/O 완료 알림 등)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;인터럽트 서비스 완료 &amp;rarr; 원래 작업 복귀&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CPU는 &lt;b&gt;저장된 주소를 다시 불러와 원래 실행 중이던 작업을 재개&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;마치 인터럽트가 발생하지 않은 것처럼 정상적으로 작업이 이어짐&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;트랩(Trap)&lt;/b&gt; : 사용자가 의도적으로 요청하는 소프트웨어 인터럽트
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예: 시스템 호출(System Call) (파일 열기, 프로세스 생성 등)&lt;/li&gt;
&lt;li&gt;운영체제가 사용자 요청을 처리하기 위해 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예외(Exception)&lt;/b&gt; : 오류 발생으로 인해 자동으로 생성되는 인터럽트
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예: 0으로 나누기 오류(Divide by Zero), 페이지 폴트(Page Fault)&lt;/li&gt;
&lt;li&gt;프로그램 실행 중 오류가 발생하면 즉시 인터럽트가 발생하여 문제를 해결하거나 종료&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;운영체제는 interrupt를 기반으로 동작!&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Interrupt Timeline&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;579&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GAAwf/dJMcadHP5KX/keG17aBCRcbaOXkQV9hbZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GAAwf/dJMcadHP5KX/keG17aBCRcbaOXkQV9hbZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GAAwf/dJMcadHP5KX/keG17aBCRcbaOXkQV9hbZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGAAwf%2FdJMcadHP5KX%2FkeG17aBCRcbaOXkQV9hbZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;535&quot; height=&quot;269&quot; data-origin-width=&quot;1152&quot; data-origin-height=&quot;579&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;CPU 상태:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;User process executing&quot; &amp;rarr; 사용자 프로세스 실행 중&lt;/li&gt;
&lt;li&gt;&quot;I/O interrupt processing&quot; &amp;rarr; I/O 인터럽트 처리 중&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;I/O 장치 상태:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;Idle&quot; &amp;rarr; I/O 장치가 대기 상태&lt;/li&gt;
&lt;li&gt;&quot;Transferring&quot; &amp;rarr; I/O 장치가 데이터를 전송 중&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1235&quot; data-origin-height=&quot;604&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beuCfS/dJMcagLopwU/GjUFTkThSYheheRveY4Qu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beuCfS/dJMcagLopwU/GjUFTkThSYheheRveY4Qu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beuCfS/dJMcagLopwU/GjUFTkThSYheheRveY4Qu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeuCfS%2FdJMcagLopwU%2FGjUFTkThSYheheRveY4Qu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;580&quot; height=&quot;284&quot; data-origin-width=&quot;1235&quot; data-origin-height=&quot;604&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;1014&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cN45KR/dJMcacPKuZi/LK8Eds2TXRcTiWxa7ZjXhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cN45KR/dJMcacPKuZi/LK8Eds2TXRcTiWxa7ZjXhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cN45KR/dJMcacPKuZi/LK8Eds2TXRcTiWxa7ZjXhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcN45KR%2FdJMcacPKuZi%2FLK8Eds2TXRcTiWxa7ZjXhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;507&quot; height=&quot;465&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;1014&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CPU가 &lt;b&gt;I/O 요청&lt;/b&gt;을 보냄.&lt;/li&gt;
&lt;li&gt;I/O 컨트롤러가 &lt;b&gt;I/O 작업을 수행&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;작업이 완료되면 &lt;b&gt;인터럽트가 발생&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;CPU는 &lt;b&gt;인터럽트 핸들러를 실행&lt;/b&gt;하여 결과를 처리.&lt;/li&gt;
&lt;li&gt;CPU는 &lt;b&gt;원래 하던 작업으로 복귀&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;IO가 종료되면서 interrupt&lt;/li&gt;
&lt;li&gt;CPU 중단되면서 interrupt (4와 다름)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Storage Structure&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;주기억장치(Main memory)&lt;/b&gt; : CPU가 직접 접근할 수 있는 유일한 대용량 저장 장치 (휘발성, 고속)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보조기억장치(Secondary storage)&lt;/b&gt; : 주기억장치를 확장한 개념으로, 대용량의 비휘발성(Non-volatile) 저장 공간을 제공&lt;/li&gt;
&lt;li&gt;&lt;b&gt;하드디스크(Hard disks)&lt;/b&gt; : 금속 또는 유리 플래터에 자성 기록 물질이 코팅된 저장 장치
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;디스크 표면은 트랙(tracks)으로 나뉘고, 트랙은 섹터(sectors)로 다시 분할됨.&lt;/li&gt;
&lt;li&gt;디스크 컨트롤러(disk controller)는 장치와 컴퓨터 간의 논리적 데이터 교환을 담당함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;솔리드 스테이트 디스크(Solid-state disks, SSD)&lt;/b&gt; : 하드디스크보다 빠르고, 비휘발성 저장장치
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 기술이 사용됨.&lt;/li&gt;
&lt;li&gt;점점 더 널리 사용되고 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;저장 &amp;rarr; &lt;b&gt;Storage&lt;/b&gt; (한번 저장하면 지속적으로 보존) / &lt;b&gt;Memory&lt;/b&gt; (RAM) 구분&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Storage-Device Hierarchy&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Speed / Cost / Volatility 기준에 의해 설정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Caching&lt;/b&gt; : 자주 사용하는 데이터를 더 빠른 저장소에 저장하여 성능을 향상시킴&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;716&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csBVIn/dJMcaaK9XMf/2spAPC7f0wNa4exHUnfmJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csBVIn/dJMcaaK9XMf/2spAPC7f0wNa4exHUnfmJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csBVIn/dJMcaaK9XMf/2spAPC7f0wNa4exHUnfmJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsBVIn%2FdJMcaaK9XMf%2F2spAPC7f0wNa4exHUnfmJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;568&quot; height=&quot;319&quot; data-origin-width=&quot;1274&quot; data-origin-height=&quot;716&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;I/O Structure&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일반적인 범용 컴퓨터 시스템은 &lt;b&gt;CPU&lt;/b&gt;와 여러 개의 디바이스 컨트롤러(Device Controller-CPU와 I/O 연결)로 구성되며, 이들은 공통 버스(Common Bus)를 통해 연결된다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Device Controller&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 I/O 장치(예: 키보드, 마우스, 하드디스크)를 관리하는 하드웨어&lt;/li&gt;
&lt;li&gt;CPU와 직접 연결되지 않고 공통 버스(Common Bus)를 통해 데이터를 주고받음&lt;/li&gt;
&lt;li&gt;자체적인 로컬 버퍼(Local Buffer) 저장소와 특수 목적 레지스터(Special-Purpose Registers)를 가지있음 &amp;rarr; 데이터 저장, 처리 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;운영체제는 각 디바이스 컨트롤러에 대한 디바이스 드라이버(Device Driver)를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영체제(OS)가 각 디바이스 컨트롤러와 통신할 수 있도록 도와주는 &quot;소프트웨어&amp;rdquo; (중개자)&lt;/li&gt;
&lt;li&gt;디바이스 드라이버는 디바이스 컨트롤러를 이해&lt;/li&gt;
&lt;li&gt;운영체제의 나머지 부분이 해당 장치를 일관된 방식으로 사용할 수 있도록 인터페이스를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I/O 처리 방식 - &lt;b&gt;동기식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;I/O 완료 후 사용자 프로그램 실행&lt;/li&gt;
&lt;li&gt;I/O 작업이 끝날 때까지 CPU가 기다림&lt;/li&gt;
&lt;li&gt;CPU는 다음 인터럽트가 발생할 때까지 &lt;b&gt;대기(Wait Instruction) 상태가 됨.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;한 번에 하나의 I/O 요청만 처리 가능 &amp;rarr; 멀티태스킹 불가능&lt;/li&gt;
&lt;li&gt;CPU는 대기하는 동안 메모리에 대한 접근을 두고 &lt;b&gt;다른 프로세스와 경쟁(Wait Loop)&lt;/b&gt; 할 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I/O 처리 방식 - &lt;b&gt;비동기식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;I/O 완료 전에 사용자 프로그램 실행&lt;/li&gt;
&lt;li&gt;I/O 작업이 시작되면 CPU는 즉시 사용자 프로그램 실행을 계속&lt;/li&gt;
&lt;li&gt;I/O가 끝나면 인터럽트(Interrupt)로 CPU에게 알림&lt;/li&gt;
&lt;li&gt;CPU는 I/O가 끝날 때까지 다른 작업을 수행 가능 &amp;rarr; 멀티태스킹 가능!&lt;/li&gt;
&lt;li&gt;&lt;b&gt;운영체제(System Call)를 통해 사용자 프로그램이 I/O 완료를 기다릴 수 있도록 요청할 수 있음&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장치 상태 테이블(Device-Status Table)&lt;/b&gt; 은 각 I/O 장치의 &lt;b&gt;유형, 주소 및 현재 상태 정보를 저장&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;운영체제는 &lt;b&gt;I/O 장치 테이블을 조회하여 장치 상태를 확인하고, 인터럽트를 처리할 때 테이블을 업데이트&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Two I/O Methods&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;635&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cneiOZ/dJMcag5GPk7/K107dKYEqdkhdZnvLgZqak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cneiOZ/dJMcag5GPk7/K107dKYEqdkhdZnvLgZqak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cneiOZ/dJMcag5GPk7/K107dKYEqdkhdZnvLgZqak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcneiOZ%2FdJMcag5GPk7%2FK107dKYEqdkhdZnvLgZqak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;593&quot; height=&quot;315&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;635&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Synchronous(동기식)&lt;/b&gt; : 시간적인 바운드 개념을 갖고 있음 (메세지 전송 &amp;rarr; 특정 시간 내에 reponse 받음) &amp;rarr; 비효율적일수 있음.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Asynchronous(비동기식)&lt;/b&gt; : 시간 X (보내고 response 기다리지 않고 control 넘김)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Computer-System Architecture&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;단일 프로세서 시스템(Single-Processor Systems)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하나의 메인 &lt;b&gt;CPU&lt;/b&gt;가 존재하며, 사용자 프로세스의 명령어를 포함한 &lt;b&gt;일반적인 명령어 세트(instruction set)를 실행할 수 있음.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;독립적인 시스템들이 하나로 연결&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다중 프로세서 시스템(Multiprocessor Systems)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Parallel Systems / Tightly Coupled Systems&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장점:&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;처리량 증가(Increased throughput):&lt;/b&gt; 더 많은 작업을 더 적은 시간에 수행할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;규모의 경제(Economy of scale):&lt;/b&gt; 같은 성능을 내는 여러 개의 단일 프로세서 시스템보다 비용이 절감됨.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;신뢰성 증가(Increased reliability):&lt;/b&gt; 한 프로세서가 고장 나도 시스템이 중단되지 않음. (문제가 발생했을때 대체할 수 있는 것이 있음)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fault tolerance :&lt;/b&gt; 특정 프로세서가 고장 나더라도 시스템이 계속 작동할 수 있음. &amp;rarr; 네트워크, db, 서버&amp;hellip;&lt;/li&gt;
&lt;li&gt;결국 이를 지원하기 위해선 동일한 내용이 똑같이 존재해야됨. 즉 여러개 존재할수록 좋겠지만 cost가 많이 나가겠지.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;비대칭 멀티프로세싱(Asymmetric Multiprocessing)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;마스터 프로세서(Master Processor)가 시스템을 제어하고,&lt;/li&gt;
&lt;li&gt;슬레이브 프로세서(Slave Processor)들에게 작업을 할당함.&lt;/li&gt;
&lt;li&gt;scheduling을 담당하는 processor 존재&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;대칭 멀티프로세싱(Symmetric Multiprocessing, SMP)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 프로세서가 동등한 관계(Peer-to-Peer 관계)를 가짐.&lt;/li&gt;
&lt;li&gt;마스터-슬레이브 구조가 없으며, 모든 프로세서가 작업을 균등하게 나눠 처리함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;998&quot; data-origin-height=&quot;520&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zxuUn/dJMcaiPUuEz/Z8YgLnmmbIVkvXkjGBETV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zxuUn/dJMcaiPUuEz/Z8YgLnmmbIVkvXkjGBETV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zxuUn/dJMcaiPUuEz/Z8YgLnmmbIVkvXkjGBETV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzxuUn%2FdJMcaiPUuEz%2FZ8YgLnmmbIVkvXkjGBETV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;421&quot; height=&quot;219&quot; data-origin-width=&quot;998&quot; data-origin-height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;레지스터(Registers)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CPU 내부에서 가장 빠른 저장 공간&lt;/li&gt;
&lt;li&gt;연산에 필요한 데이터를 저장하고 즉시 사용 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;캐시(Cache)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RAM보다 빠른 임시 저장 공간&lt;/li&gt;
&lt;li&gt;자주 사용하는 데이터를 저장하여 CPU가 빠르게 접근 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Dual-Core Design&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;465&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MUYnY/dJMcabJ5Z7c/3f1VjvdxACbc0g1bHr9DWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MUYnY/dJMcabJ5Z7c/3f1VjvdxACbc0g1bHr9DWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MUYnY/dJMcabJ5Z7c/3f1VjvdxACbc0g1bHr9DWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMUYnY%2FdJMcabJ5Z7c%2F3f1VjvdxACbc0g1bHr9DWK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;580&quot; height=&quot;213&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;465&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Multi-chip&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 개의 CPU 칩이 함께 연결된 형태.&lt;/li&gt;
&lt;li&gt;예: 듀얼 프로세서(서로 다른 두 개의 CPU가 하나의 시스템에서 동작).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multicore&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하나의 CPU 칩 안에 여러 개의 코어가 들어 있는 구조.&lt;/li&gt;
&lt;li&gt;코어마다 &lt;b&gt;자신의 레지스터(registers)와 캐시(cache)를 가짐&lt;/b&gt;, 하지만 &lt;b&gt;공유된 메모리(memory)를 사용함.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;그림을 보면 &lt;b&gt;CPU core_0, CPU core_1&lt;/b&gt; 각각이 &lt;b&gt;자신만의 레지스터와 캐시를 가지고 있음&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구분 레지스터(Register) 캐시(Cache) RAM (주기억장치)&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;속도&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;가장 빠름 (CPU 클록 속도)&lt;/td&gt;
&lt;td&gt;빠름 (L1, L2, L3 캐시)&lt;/td&gt;
&lt;td&gt;비교적 느림&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;위치&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;CPU 내부&lt;/td&gt;
&lt;td&gt;CPU 내부 또는 가까운 위치&lt;/td&gt;
&lt;td&gt;메인 메모리 (메인보드)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;용량&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;매우 작음 (몇 바이트~KB)&lt;/td&gt;
&lt;td&gt;중간 (몇 MB~GB)&lt;/td&gt;
&lt;td&gt;큼 (GB~TB)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;목적&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;CPU 연산을 위한 임시 데이터 저장&lt;/td&gt;
&lt;td&gt;자주 사용하는 데이터를 저장하여 속도 향상&lt;/td&gt;
&lt;td&gt;실행 중인 프로그램과 데이터를 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Clustered Systems&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;클러스터 구조&lt;/b&gt; : system(독립적)들이 서로 모여있고 연결되어있음 &amp;rarr; 하나의 network로 연결!&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;storage-area network (SAN)&lt;/b&gt; : 저장 공간을 공유&lt;/li&gt;
&lt;li&gt;&lt;b&gt;high-availability&lt;/b&gt; : 장애 발생시에도 시스템 계속 운영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;비대칭 클러스터(Asymmetric Clustering)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&amp;rarr; 한 대의 컴퓨터가 &lt;b&gt;대기 모드(hot-standby mode)&lt;/b&gt; 로 대기하면서, 장애 발생 시 시스템을 takeover함.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;대칭 클러스터(Symmetric Clustering)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&amp;rarr; 여러 개의 노드가 동시에 애플리케이션을 실행하며, 서로를 모니터링함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;high-performance computing (HPC)&lt;/b&gt; : 고성능 컴퓨팅, 병렬 처리(parallelization)를 지원하는 애플리케이션이 필요&lt;/li&gt;
&lt;li&gt;&lt;b&gt;distributed lock manager (DLM)&lt;/b&gt; : 분산 락 매니저, 여러 개의 노드에서 동시에 같은 데이터에 접근하는 충돌을 방지하기 위해 사용&lt;/li&gt;
&lt;li&gt;&amp;harr; 다중 프로세서 시스템 : 하나의 시스템 내 여러 개의 CPU&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1099&quot; data-origin-height=&quot;612&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfFGAj/dJMcafr9E8a/4hof0c9b0J7sVFyKFyLZv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfFGAj/dJMcafr9E8a/4hof0c9b0J7sVFyKFyLZv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfFGAj/dJMcafr9E8a/4hof0c9b0J7sVFyKFyLZv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfFGAj%2FdJMcafr9E8a%2F4hof0c9b0J7sVFyKFyLZv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;432&quot; height=&quot;241&quot; data-origin-width=&quot;1099&quot; data-origin-height=&quot;612&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Operating-System Structure&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Multiprogramming&lt;/b&gt; : CPU가 1개든 n개든 상관X &amp;rarr; 각각의 유저들이 자신의 작업이 수행되는 것으로 느낄 수 있음! (여러 개의 작업이 동시에 실행되는 것처럼 보이게 함)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Job scheduling&lt;/b&gt; : 메모리 내에 적재되는 작업의 수를 control. (job Queue에서 선택)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;harr; multiprocessing : 코어의 개수에 따라! 여러 개의 CPU를 활용하여 여러 작업을 물리적으로 동시에 실행&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Timesharing (multitasking)&lt;/b&gt; : 시분할 시스템
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CPU가 여러 작업을 빠르게 전환하면서 사용자가 동시에 여러 개의 프로그램을 실행하는 것처럼 보이게 함.&lt;/li&gt;
&lt;li&gt;사용자와 상호작용(Interactive Computing) 가능&lt;/li&gt;
&lt;li&gt;응답 시간(Response Time)이 1초 이내여야 함&lt;/li&gt;
&lt;li&gt;각 사용자는 적어도 하나의 프로세스를 메모리에 유지해야 함.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CPU scheduling&lt;/b&gt; : CPU가 현재 main memory에서 대기하는 작업 중 어떤 작업을 수행할지 decision을 내리는 과정 (빠르게, 자주, 메모리에 올라온 작업 중 선택)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;swapping&lt;/b&gt; : 메인메모리에 당장 필요한 기능을 집어넣기 위해 그 안에 있던 것들 중 일부가 빠져나감. (replacement)&lt;/li&gt;
&lt;li&gt;&amp;rarr; 필요 없는 프로세스를 디스크로 내보내고, 새로운 프로세스를 메모리에 로드&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Virtual memory&lt;/b&gt; : 가상 메모리 - 메모리 자체는 한정되어있는데 메모리 확장한것처럼, 더 크게 사용하는 것처럼 느껴짐. (물리적 - 있는걸 빼고 새로운걸 추가했을 뿐)&amp;rarr; 필요한 부분만 메모리에 적재하고 나머지는 디스크에서 가져오는 방식 (페이징 기법)&lt;/li&gt;
&lt;li&gt;&amp;rarr; 실제로 메모리가 부족할 때 디스크 공간을 RAM처럼 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구분 멀티프로그래밍 (Multiprogramming) 시분할 시스템 (Time-sharing)&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;목적&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;CPU가 항상 작업을 실행하도록 함&lt;/td&gt;
&lt;td&gt;여러 사용자가 동시에 시스템을 사용 가능하도록 함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;작업 전환&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;한 작업이 I/O를 기다릴 때 다른 작업을 실행&lt;/td&gt;
&lt;td&gt;CPU가 짧은 시간마다 여러 작업을 빠르게 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;응답 속도&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;사용자와의 상호작용 필요 없음&lt;/td&gt;
&lt;td&gt;빠른 응답 시간 (&amp;lt; 1초) 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;주 사용 환경&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;배치 처리 시스템 (Batch System)&lt;/td&gt;
&lt;td&gt;현대적인 OS (Windows, Linux, macOS)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Operating-System Operations&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영체제는 &lt;b&gt;Interrupt&lt;/b&gt; 기반으로 동작
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Software error / request&lt;/b&gt;에 의해 &lt;b&gt;exception / trap&lt;/b&gt;이 발생할 수 있음 (division by zero, request for operating system service)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 프로세스에서 발생할 수 있는 문제들 : infinite loop, 다른 process 또는 OS를 수정하려는 시도&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Dual-mode&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User mode / kernel mode &amp;rarr; 넘나들음&lt;/li&gt;
&lt;li&gt;하드웨어에서 Mode Bit를 제공하여 현재 실행중인 코드가 사용자 코드인지 운영체제 코드인지 구별 가능&lt;/li&gt;
&lt;li&gt;Privileged Instructions (특정 명령어) : 일반적인 instruction X (커널 모드에서만)&lt;/li&gt;
&lt;li&gt;System Call이 발생하면 커널 모드로 변경, 작업이 끝나면 다시 유저 모드로 복귀&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Transition from User to Kernel Mode&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Timer&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;infinite loop/process hogging resources 방지&lt;/li&gt;
&lt;li&gt;타이머 설정 &amp;rarr; 운영체제가 주기적으로 카운터 감소 &amp;rarr; 카운터 값이 0이 되면 &lt;b&gt;인터럽트&lt;/b&gt; 발생 &amp;rarr; OS가 인터럽트 처리하여 프로세스 제어&lt;/li&gt;
&lt;li&gt;Timeout &amp;rarr; 강제 종료 / 추가 실행 시간 부여&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1163&quot; data-origin-height=&quot;362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccyFhe/dJMcagkigm8/YfOobkxTv1I5XcTIrClCi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccyFhe/dJMcagkigm8/YfOobkxTv1I5XcTIrClCi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccyFhe/dJMcagkigm8/YfOobkxTv1I5XcTIrClCi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccyFhe%2FdJMcagkigm8%2FYfOobkxTv1I5XcTIrClCi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;594&quot; height=&quot;185&quot; data-origin-width=&quot;1163&quot; data-origin-height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Process Management&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;program&lt;/b&gt; : passive entity!! storage에 저장되어 있는 것 (정적으로)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;process&lt;/b&gt; : active entity!! (실행되고있는) - 시스템에서 작업 단위로 동작
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;process의 resources : CPU, memory, I/O, files, Initialization data&lt;/li&gt;
&lt;li&gt;프로세스가 종료되면 사용했던 리소스를 OS가 회수 (X&amp;rarr;메모리누수/시스템 과부하)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;메모리로 로딩이 되었다고 해서 실행중인것은 x, 실행할 준비가 된 것.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Thread&lt;/b&gt; : light (process-heavy) 하나의 프로세스 내에서 여러개 생성 가능 &amp;rarr; 공유할 수 있는 부분을 최대한 많이 공유함으로써 메모리 용량 자체를 적게 만듦, 빠른 실행&amp;amp;병렬 처리 가능 &amp;harr; process는 독립적
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Single-threaded Process&lt;/b&gt; : 하나의 프로그램 카운터(PC)만 존재, 순차적으로 실행되고 하나의 작업이 끝날때까지 다른 작업 X&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multi-threaded Process&lt;/b&gt; : 각 스레드는 개별적인 프로그램 카운터를 가짐 &amp;rarr; 병렬 처리 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Concurrency(동시성)&lt;/b&gt; : CPU가 여러 프로세스를 빠르게 전환하여 동시에 실행되는 것처럼 보이게 함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;운영체제는 process를 관리함&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로세스 생성(create) 및 종료(delete)&lt;/li&gt;
&lt;li&gt;프로세스 일시 정지(suspending) 및 재개(resuming)&lt;/li&gt;
&lt;li&gt;프로세스 동기화 (process synchronization)&lt;/li&gt;
&lt;li&gt;프로세스 간 통신 (process communication)&lt;/li&gt;
&lt;li&gt;deadlock handling&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Memory Management&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;paging 기법
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용하지 않는 메모리 페이지를 하드디스크(SSD)로 이동 (Page Out)&lt;/li&gt;
&lt;li&gt;필요할 때 SSD에서 다시 RAM으로 불러옴 (Page In)&lt;/li&gt;
&lt;li&gt;이 과정에서 하드디스크를 사용하는 공간 = &quot;스왑 영역(Swap Space)&quot; / &quot;페이지 파일(Page File)&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;프로그램에 필요한 데이터는 메모리에 있어야 됨!&lt;/li&gt;
&lt;li&gt;언제, 무엇이 메모리에 있을지 결정!&lt;/li&gt;
&lt;li&gt;메모리의 어떤 부분이 누구에 의해 최근 사용되었는지 tracking&lt;/li&gt;
&lt;li&gt;어떤 process와 data가 메모리에 move into or out 되어야 하는지 결정&lt;/li&gt;
&lt;li&gt;allocating / deallocating memory space as needed&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Storage Management&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장한다는 개념은 같지만 규모 차이가 있음. (Storage&amp;rarr;Tera&amp;hellip;같이 겁나 큼)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;File System&lt;/b&gt; : 운영체제가 제공하는 논리적 저장 구조&lt;/li&gt;
&lt;li&gt;&lt;b&gt;저장 장치의 물리적 특성을 논리적으로 추상화&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OS는 다양한 저장매체(디스크, 테이프 등)의 물리적 차이를 숨기고, 파일 단위로 접근할 수 있도록 제공&lt;/li&gt;
&lt;li&gt;각 저장 매체는 다른 속성을 가짐 (access speed, capacity, data transfer rate, access method-sequential access vs random access)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;File-System &amp;rarr; directories 단위로 묶어서!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;디렉토리는 계층적 구조를 가질 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;파일 시스템에는 사용자별 접근 권한 존재&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;누가 어떤 파일에 접근할 수 있는지 결정 (read, write, execute)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;운영체제의 파일 시스템 관리 역할&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 및 디렉토리 생성, 삭제&lt;/li&gt;
&lt;li&gt;파일 조작 기능 (읽기, 쓰기, 변경) 제공&lt;/li&gt;
&lt;li&gt;파일을 보조 저장장치(디스크)와 매핑하여 저장/검색&lt;/li&gt;
&lt;li&gt;파일 백업 및 복구 기능 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Mass-Storage Management&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대규모 스토리지 (제타...)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;disks&lt;/b&gt; : 메인 메모리에 맞지 않거나 긴 시간동안 유지되어야 하는 데이터를 store&lt;/li&gt;
&lt;li&gt;&lt;b&gt;RAM의 한계를 보완&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주 메모리는 휘발성(Volatile)이라 전원이 꺼지면 데이터가 사라짐 &amp;rarr; 데이터를 영구 저장하려면 디스크가 필요!&lt;/li&gt;
&lt;li&gt;RAM보다 저장 용량이 크고, 전원이 꺼져도 데이터를 유지 가능(Non-Volatile)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;디스크 성능은 컴퓨터 전체 속도에 큰 영향을 줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;디스크의 속도가 컴퓨터 성능의 병목(Bottleneck)이 될 수 있음&lt;/li&gt;
&lt;li&gt;디스크 서브시스템과 관련된 알고리즘(디스크 스케줄링, 저장 공간 관리 등)이 매우 중요!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;OS activities&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Free-space management&lt;/li&gt;
&lt;li&gt;Storage allocation&lt;/li&gt;
&lt;li&gt;Disk scheduling&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Some storage need not be fast
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Tertiary Storage&lt;/b&gt;(3차 저장 장치) : 속도는 느리지만 대용량 데이터를 장기간 보관하는 용도로 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Optical Storage(광학 저장장치) : CD, DVD, Blu-ray&lt;/li&gt;
&lt;li&gt;Magnetic Tape(자기 테이프) : 데이터 백업 및 아카이브&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;WORM(Write-Once, Read-Many) &amp;amp; RW(Read-Write) 로 다양함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Caching&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;hardware, OS, software 등 다양한 레벨에서 사용&lt;/li&gt;
&lt;li&gt;slower &amp;rarr; faster storage temporarily(일시적)&lt;/li&gt;
&lt;li&gt;CPU, OS, 소프트웨어는 데이터를 먼저 캐시에서 찾음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;캐시에 데이터가 있으면(캐시 히트, Cache Hit)&lt;/b&gt; &amp;rarr; 즉시 빠르게 사용 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;캐시에 없으면(캐시 미스, Cache Miss)&lt;/b&gt; &amp;rarr; 느린 저장소에서 데이터를 가져와 캐시에 저장한 후 사용&lt;/li&gt;
&lt;li&gt;원본 저장 장치보다 작음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*&lt;b&gt;참고 (Performance of Various Levels of Storage)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;registers(1kb) &amp;lt; cache(16mb) &amp;lt; main memory(64gb) &amp;lt; solid state disk(1tb) &amp;lt; magnetic disk(10tb)&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Migration of Integer A from Disk to Register&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;activation 되면 메인 메모리 가져옴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각의 코어마다 로컬 메모리(캐시)를 갖고 있음&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multitasking environments는 위계 상관 없이 항상 최신 값을 가져야 함!&lt;/li&gt;
&lt;li&gt;cache coherency 캐시 일관성&lt;/li&gt;
&lt;li&gt;&amp;rarr; 여러 CPU가 동시에 같은 데이터를 수정할 때, 모든 CPU가 항상 최신 데이터를 유지해야됨&lt;/li&gt;
&lt;li&gt;Distributed environment (분산환경) 에서는 더 복잡
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 컴퓨터(노드)가 동일한 데이터를 복제하여 저장 가능&lt;/li&gt;
&lt;li&gt;여러 컴퓨터가 같은 데이터를 공유할 때, 모든 복사본이 동일한 최신 상태를 유지해야 함!!!&lt;/li&gt;
&lt;li&gt;&amp;rarr; 싱크로가 요구됨 (분산 데이터 동기화)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;I/O systems&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하드웨어 장치의 복잡성을 사용자로부터 숨김
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 하드웨어의 세부 사항을 몰라도 쉽게 입출력(I/O)을 처리 가능!&lt;/li&gt;
&lt;li&gt;transparacy 제공 (투명성)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;I/O 서브시스템 구성 요소&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;메모리 관리 컴포넌트 (Memory-Management Component)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;버퍼링(Buffering):&lt;/b&gt; 데이터가 전송되는 동안 일시적으로 저장하는 방식&lt;/li&gt;
&lt;li&gt;&lt;b&gt;캐싱(Caching):&lt;/b&gt; 데이터를 빠르게 접근할 수 있도록 빠른 저장소에 저장하는 방식&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스풀링(Spooling):&lt;/b&gt; 하나의 작업이 출력을 하는 동안, 다른 작업이 입력을 받을 수 있도록 겹쳐서 처리하는 방식&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;범용 장치 드라이버 인터페이스 (General Device-Driver Interface)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영체제는 모든 장치 드라이버가 공통적으로 사용할 수 있는 인터페이스를 제공&lt;/li&gt;
&lt;li&gt;예) Windows의 HAL(Hardware Abstraction Layer)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;특정 하드웨어 장치를 위한 드라이버 (Drivers for Specific Hardware Devices)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 하드웨어(프린터, 마우스, 키보드 등)별로 필요한 드라이버가 존재&lt;/li&gt;
&lt;li&gt;운영체제는 장치 드라이버를 통해 하드웨어와 통신&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Protection and Security&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Protection : access control
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리소스 접근 권한을 갖는 유저들만! &amp;rarr; 테이블 형태로 유지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Security : internal, external attack을 막아줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스 거부 공격(Denial-of-Service, DoS), 웜(Worms), 바이러스(Virus), 신원 도용(Identity Theft), 서비스 도용(Theft of Service)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;사용자 ID (User ID, UID)와 보안 ID (Security ID, SID)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 사용자는 고유한 이름과 번호(User ID)를 가짐&lt;/li&gt;
&lt;li&gt;사용자 ID는 해당 사용자가 소유한 모든 파일 및 프로세스와 연결 &amp;rarr; 운영체제는 사용자의 접근 권한을 결정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;그룹 식별자 (Group ID, GID)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 사용자를 그룹으로 정의하고, 동일한 권한 부여 가능&lt;/li&gt;
&lt;li&gt;그룹 ID는 각 프로세스와 파일에도 연결 가능&lt;/li&gt;
&lt;li&gt;예) 개발자 그룹(Developers)만 특정 소스 코드 파일을 수정할 수 있도록 설정.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;권한 상승 (Privilege Escalation)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 더 높은 권한을 가진 ID로 변경할 수 있는 기능.&lt;/li&gt;
&lt;li&gt;일시적으로 추가 권한을 얻어 특정 작업을 수행 가능.&lt;/li&gt;
&lt;li&gt;예) Linux의 sudo 명령어를 사용하여 일반 사용자가 관리자(root) 권한을 획득.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Kernel Data Structures&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Linked list&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1323&quot; data-origin-height=&quot;723&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXMjt3/dJMcaaK9XUr/qLxhyUMKpK5R0ifcRbvSXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXMjt3/dJMcaaK9XUr/qLxhyUMKpK5R0ifcRbvSXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXMjt3/dJMcaaK9XUr/qLxhyUMKpK5R0ifcRbvSXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXMjt3%2FdJMcaaK9XUr%2FqLxhyUMKpK5R0ifcRbvSXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;505&quot; height=&quot;276&quot; data-origin-width=&quot;1323&quot; data-origin-height=&quot;723&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Balanced Binary Search Tree&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;avl, red-black, &amp;hellip;&lt;/li&gt;
&lt;li&gt;binary tree가 O(n)되는 것을 막음 &amp;rarr; O(lgn)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hash function&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직접 접근이 됨&lt;/li&gt;
&lt;li&gt;효율적인 function&lt;/li&gt;
&lt;li&gt;키(Key)-값(Value) 쌍을 저장하고 빠르게 검색할 수 있는 자료구조&lt;/li&gt;
&lt;li&gt;해시 함수를 사용하여 데이터를 특정 위치에 매핑&lt;/li&gt;
&lt;li&gt;충돌&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;333&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xiH5m/dJMcagq4cOo/2EeLbj1K5MLMH50teQ1gM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xiH5m/dJMcagq4cOo/2EeLbj1K5MLMH50teQ1gM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xiH5m/dJMcagq4cOo/2EeLbj1K5MLMH50teQ1gM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxiH5m%2FdJMcagq4cOo%2F2EeLbj1K5MLMH50teQ1gM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;436&quot; height=&quot;188&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;333&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Bitmap&lt;/b&gt; : 상태를 표현하기 위해 사용하는 비트 정보
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;페이징 기법 할 때 블럭 차있는지/비어있는지 0,1로 표현하는것처럼!!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자료구조 설명 커널 사용 예&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Linked List&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;삽입/삭제가 빠름, 동적 크기 조절 가능&lt;/td&gt;
&lt;td&gt;프로세스 리스트, I/O 큐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Tree&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;계층적 데이터 관리, 빠른 탐색&lt;/td&gt;
&lt;td&gt;파일 시스템, 프로세스 계층&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Hash Table&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;빠른 검색(O(1) 시간복잡도)&lt;/td&gt;
&lt;td&gt;시스템 콜 테이블, 페이지 캐시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Bitmap&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;비트 단위로 저장하여 공간 절약, 빠른 검색&lt;/td&gt;
&lt;td&gt;메모리/디스크 할당, 동기화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Computing Environments&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Traditional Computing&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;독립적인 범용 컴퓨터(Stand-alone General-Purpose Machines)&lt;/li&gt;
&lt;li&gt;대부분의 시스템이 인터넷 및 네트워크를 통해 연결됨&lt;/li&gt;
&lt;li&gt;포털(Portal)을 통한 내부 시스템 접근&lt;/li&gt;
&lt;li&gt;네트워크 컴퓨터(Network Computers, Thin Clients)는 Web terminals와 비슷
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일부 컴퓨터는 로컬 저장 장치 없이, 인터넷을 통해 서버에 접속하여 필요한 데이터를 제공받는 방식&lt;/li&gt;
&lt;li&gt;예) 크롬북(Chromebook), 클라우드 기반 컴퓨팅&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;모바일 컴퓨터(Mobile Computing-스마트폰, 태블릿, 노트북 등)가 무선 네트워크(Wireless Networks-와이파이, 5G 등)를 통해 상호 연결됨&lt;/li&gt;
&lt;li&gt;네트워크 환경이 점점 더 보편화(Ubiquitous Computing)됨
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가정에서도 네트워크를 사용하여 여러 장치를 연결함 (스마트홈, IoT 기기)&lt;/li&gt;
&lt;li&gt;보안 문제로 인해 방화벽(Firewall) 을 사용하여 인터넷 공격으로부터 보호 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Mobile Computing&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Handheld smartphones, tablets 등&lt;/li&gt;
&lt;li&gt;extra feature - more OS features (GPS, gyroscope)&lt;/li&gt;
&lt;li&gt;augmented reality와 같은 새로운 타입의 앱 허용&lt;/li&gt;
&lt;li&gt;IEEE 802.11 wireless 또는 cellular data networs 를 사용&lt;/li&gt;
&lt;li&gt;leaders : Apple iOS, Google Android&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Distributed Systems&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;여러 개의 독립적인 컴퓨터가 네트워크를 통해 연결되어 하나의 시스템처럼 동작하는 구조&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이기종(Heterogeneous) 시스템도 포함될 수 있음 &amp;rarr; 서로 다른 하드웨어/소프트웨어를 가진 시스템들이 연결될 수 있음&lt;/li&gt;
&lt;li&gt;사용자는 하나의 커다란 시스템처럼 느끼지만, 실제로는 여러 컴퓨터가 분산되어 동작함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;네트워크 연결이 필수적&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;LAN (Local Area Network, 근거리 통신망)&lt;/b&gt; &amp;rarr; 같은 건물, 사무실 내의 네트워크&lt;/li&gt;
&lt;li&gt;&lt;b&gt;WAN (Wide Area Network, 광역 통신망)&lt;/b&gt; &amp;rarr; 장거리 네트워크 (인터넷 포함)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MAN (Metropolitan Area Network, 도시권 네트워크)&lt;/b&gt; &amp;rarr; 도시 내 네트워크 (예: 공공 Wi-Fi)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PAN (Personal Area Network, 개인 네트워크)&lt;/b&gt; &amp;rarr; 블루투스, NFC와 같은 근거리 개인용 네트워크&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;네트워크 운영체제(Network Operating System, NOS)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 공유, 네트워크 기반 프로세스 간 통신을 지원하는 운영체제&lt;/li&gt;
&lt;li&gt;여러 대의 컴퓨터가 서로 데이터를 주고받고 협력할 수 있도록 함&lt;/li&gt;
&lt;li&gt;대표적인 예: Linux, Windows Server, Unix 기반 시스템&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Client-Server Computing&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Dumb Terminal(단순 터미널)이 smart PC에 의해 대체됨
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Dumb Terminal은 자체적인 계산 능력이 없고, 단순히 입력/출력만 수행 (모든 계산은 중앙 메인프레임이 담당)&lt;/li&gt;
&lt;li&gt;스마트 PC(개인용 컴퓨터)가 등장하면서, 클라이언트가 일부 작업을 수행하고 서버에 요청하는 방식으로 발전&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;clients로부터 받은 요청에 응답하는 server
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;계산 서버(Compute-Server)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;클라이언트가 연산 작업(예: 데이터베이스 검색, 인공지능 연산 등)을 요청하면, 서버가 처리 후 결과를 반환&lt;/li&gt;
&lt;li&gt;예) SQL 데이터베이스 서버(MySQL, PostgreSQL, Oracle DB)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;파일 서버(File-Server)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;클라이언트가 파일 저장 및 검색 요청을 하면, 서버가 해당 파일을 제공&lt;/li&gt;
&lt;li&gt;예) Google Drive, Dropbox, 회사 내부 파일 서버(NAS)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cddpQ8/dJMcaaK9XUG/OIJvNrL35Yf1ZFPtl1xJgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cddpQ8/dJMcaaK9XUG/OIJvNrL35Yf1ZFPtl1xJgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cddpQ8/dJMcaaK9XUG/OIJvNrL35Yf1ZFPtl1xJgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcddpQ8%2FdJMcaaK9XUG%2FOIJvNrL35Yf1ZFPtl1xJgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;427&quot; height=&quot;190&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Peer-to-Peer Computing (P2P)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;clients-servers 를 구분X&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 노드는 동등한 관계(peers)&lt;/li&gt;
&lt;li&gt;client, server, or both 역할을 할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Node가 P2P 네트워크에 참여하는 방식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;중앙 조회 서비스(Central Lookup Service) 사용&lt;/b&gt; &amp;rarr; 네트워크에 참여한 노드들이 자신의 서비스를 등록&lt;/li&gt;
&lt;li&gt;&lt;b&gt;브로드캐스트(Broadcast) 요청 방식&lt;/b&gt; &amp;rarr; 특정 데이터를 찾기 위해 네트워크 전체에 요청을 보내고 응답받는 방식&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;예) Napster, Gnutella, &lt;b&gt;Voice over IP(VoIP)&lt;/b&gt; such as Skype&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;382&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cI1f0E/dJMcad18doo/HjfUBLAyMOgrXdwV2umvD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cI1f0E/dJMcad18doo/HjfUBLAyMOgrXdwV2umvD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cI1f0E/dJMcad18doo/HjfUBLAyMOgrXdwV2umvD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcI1f0E%2FdJMcad18doo%2FHjfUBLAyMOgrXdwV2umvD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;289&quot; height=&quot;238&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;382&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;*참고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비교 항목 P2P 네트워크 클라이언트-서버 모델&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;중앙 서버&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;없음 (모든 노드가 동등)&lt;/td&gt;
&lt;td&gt;있음 (서버가 클라이언트 요청 처리)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;노드 역할&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;모든 노드가 클라이언트 &amp;amp; 서버 역할 수행&lt;/td&gt;
&lt;td&gt;클라이언트가 요청, 서버가 응답&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;확장성&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;매우 높음 (노드 추가로 성능 증가)&lt;/td&gt;
&lt;td&gt;서버 성능이 한계점이 될 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;예제&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;Torrent, Gnutella, Skype&lt;/td&gt;
&lt;td&gt;웹 서버, 데이터베이스 서버&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Computing Environments&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Virtualization&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하나의 운영체제 내에서 다른 운영체제를 실행할 수 있도록 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Host OS :&lt;/b&gt; 물리적인 하드웨어에서 실행되는 운영체제&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Guest OS :&lt;/b&gt; 가상 머신 안에서 실행되는 운영체제&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Emulation&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로 다른 CPU 아키텍처(예: PowerPC &amp;rarr; Intel x86)를 변환하여 실행하는 방식&lt;/li&gt;
&lt;li&gt;일반적으로 속도가 느림 (하드웨어 변환이 필요하기 때문)&lt;/li&gt;
&lt;li&gt;프로그램이 원래 기계어(Native Code)로 컴파일되지 않을 땐 &lt;b&gt;Interpretation&lt;/b&gt;! &amp;rarr; 실행 시점에 해석되어 실행됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;가상화(Virtualization)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;운영체제가 CPU용으로 네이티브(Natively) 컴파일되어 실행되며, Guest OS 또한 네이티브로 컴파일되어 실행됨.&lt;/li&gt;
&lt;li&gt;VMware에서 Windows XP Guest를 실행하고, 각각의 게스트 OS에서 애플리케이션을 실행하며, 이 모든 것이 네이티브 Windows XP Host OS에서 동작함.&lt;/li&gt;
&lt;li&gt;VMM(Virtual Machine Monitor, 가상 머신 모니터)이 가상화 서비스 제공 &amp;rarr; VMM이 운영체제 간 자원을 분배하여 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;multiple OS를 사용하는 laptops, desktops
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Apple laptop : Mac OS X-host, Windows-guest&lt;/li&gt;
&lt;li&gt;multiple systems 없이 multiple OSes를 위한 앱을 만듦 (하나의 물리적 컴퓨터에서 여러 운영체제를 실행할 수 있기 때문)&lt;/li&gt;
&lt;li&gt;multiple systems 없이 QA testing applications(품질 보증 테스트)&lt;/li&gt;
&lt;li&gt;data centers 에서 여러가지 compute environments 실행, 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;VMM이 Natively 실행될 수 있음 &amp;rarr; VMM이 직접 host 역할을 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일반적인 범용 운영체제 필요 X&lt;/li&gt;
&lt;li&gt;VMware ESX and Citrix Xenserver &amp;rarr; 운영체제 없이 직접 하드웨어에서 실행되는 하이퍼바이저(Hypervisor)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1093&quot; data-origin-height=&quot;688&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAQDnt/dJMcajuxgyx/bw8uk2Kf65iKGnqloeFRkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAQDnt/dJMcajuxgyx/bw8uk2Kf65iKGnqloeFRkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAQDnt/dJMcajuxgyx/bw8uk2Kf65iKGnqloeFRkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAQDnt%2FdJMcajuxgyx%2Fbw8uk2Kf65iKGnqloeFRkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;474&quot; height=&quot;298&quot; data-origin-width=&quot;1093&quot; data-origin-height=&quot;688&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시스템 환경을 독립적으로 구성&lt;/li&gt;
&lt;li&gt;서로 다른 환경을 경험해 볼 수 있음&lt;/li&gt;
&lt;li&gt;속도가 느려짐 (계층이 두꺼워지기 때문)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Cloud Computing&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;computing, storage, apps 등을 network를 통해 서비스 형태로 제공&lt;/li&gt;
&lt;li&gt;분산 시스템의 비즈니스 모델 &amp;rarr; 사용한 만큼 비용 지불&lt;/li&gt;
&lt;li&gt;&lt;b&gt;virtualization 기반으로 동작&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예) Amazon EC2(AWS의 가상 서버 서비스)는 수천 개의 서버, 수백만 개의 가상 머신(VM), 페타바이트(Petabyte) 단위의 스토리지를 제공&lt;/li&gt;
&lt;li&gt;사용자는 직접 물리적 서버를 운영하지 않고도, 가상 머신(VM)이나 스토리지를 필요할 때만 사용할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;클라우드 유형&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Public / Private / Hybrid (대부분) + Multi&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Public Cloud&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;인터넷을 통해 누구나 이용할 수 있는 클라우드 서비스&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;사용자는 클라우드 제공업체(AWS, Google Cloud, Azure 등)에서 서비스를 사용하고, 사용한 만큼 비용을 지불&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예:&lt;/b&gt; AWS, Google Cloud, Microsoft Azure&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Private Cloud&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;기업이나 조직이 자체적으로 운영하는 클라우드 환경&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;보안과 성능이 중요할 때 사용되며, 외부 사용자 접근 제한&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예:&lt;/b&gt; 금융기관, 정부기관의 내부 클라우드&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Hybrid Cloud&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Public cloud + Private cloud&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;기업이 민감한 데이터는 내부(프라이빗)에 저장하고, 일반 서비스는 퍼블릭 클라우드에서 제공&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예:&lt;/b&gt; 데이터 백업은 퍼블릭 클라우드(AWS S3)에 저장하고, 주요 데이터는 프라이빗 클라우드에 저장.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;클라우드 서비스 유형&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SaaS(시스템) / PaaS(플랫폼) / IaaS(인프라 제공)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SaaS (Software as a Service) &amp;ndash; 소프트웨어 서비스 제공&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인터넷을 통해 애플리케이션을 제공하는 모델&lt;/li&gt;
&lt;li&gt;사용자는 소프트웨어를 설치할 필요 없이, 웹 브라우저에서 바로 사용 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예:&lt;/b&gt; Google Docs, Microsoft 365, Dropbox&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PaaS (Platform as a Service) &amp;ndash; 개발 환경(플랫폼) 제공&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개발자가 애플리케이션을 쉽게 배포할 수 있도록, 미리 구성된 개발 환경(운영체제, 데이터베이스, 미들웨어 등)을 제공&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예:&lt;/b&gt; Google App Engine, AWS Elastic Beanstalk, Heroku&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IaaS (Infrastructure as a Service) &amp;ndash; 서버, 스토리지 등 인프라 제공&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;필요한 서버, 네트워크, 저장 공간을 인터넷을 통해 제공하는 서비스&lt;/li&gt;
&lt;li&gt;사용자는 직접 물리적 장비를 구매할 필요 없이, 가상 서버를 이용 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예:&lt;/b&gt; Amazon EC2(가상 서버), AWS S3(클라우드 스토리지)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;traditional OSes + VMMs + cloud management tools
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인터넷 연결시 firewalls(방화벽)와 같은 보안 필요&lt;/li&gt;
&lt;li&gt;Load Balancing(부하 분산)을 통해 여러 애플리케이션 간 트래픽을 분산&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;782&quot; data-origin-height=&quot;587&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p7ahU/dJMcaaK9XWI/kZPfKliysKmTFaCJS0SZx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p7ahU/dJMcaaK9XWI/kZPfKliysKmTFaCJS0SZx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p7ahU/dJMcaaK9XWI/kZPfKliysKmTFaCJS0SZx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp7ahU%2FdJMcaaK9XWI%2FkZPfKliysKmTFaCJS0SZx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;420&quot; height=&quot;315&quot; data-origin-width=&quot;782&quot; data-origin-height=&quot;587&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Real-Time Embedded Systems&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;실시간 처리&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;가장 널리 사용되는 컴퓨터 형태
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Special Purpose 또는 Limited Purpose의 운영체제, 실시간 운영체제(Real-Time OS) 사용&lt;/li&gt;
&lt;li&gt;사용 범위가 확장되고 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다양한 특수 컴퓨팅 환경(Special Computing Environments) 존재&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일부 시스템은 운영체제를 사용하며, 일부는 운영체제 없이 작업 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Real-Time OS는 명확하게 정의된 고정된 시간 제약(Fixed Time Constraints)을 가짐&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;반드시 정해진 시간 내에 처리가 완료되어야 함&lt;/li&gt;
&lt;li&gt;시간 제약이 충족될 때만 올바르게 동작&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Open-Source Operating Systems&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;큰 비용 없이&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Binary 형태의 Close-Source뿐만 아니라 Source Code 형태로도 제공될 수 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Copy Protection&lt;/b&gt; 및 &lt;b&gt;Digital Rights Management&lt;/b&gt;(디지털 저작권 관리, DRM) 운동에 반하는 개념&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Free Software Foundation&lt;/b&gt;(자유 소프트웨어 재단, FSF)이 시작했으며, &quot;Copyleft&quot; 개념을 적용한 &lt;b&gt;GNU Public License&lt;/b&gt;(GPL)를 가짐&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예&lt;/b&gt;. &lt;b&gt;GNU/Linux&lt;/b&gt;와 &lt;b&gt;BSD UNIX&lt;/b&gt; (&lt;b&gt;MAC OS X&lt;/b&gt;의 핵심 포함) 등&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Virtual Machine Monitor&lt;/b&gt;(가상화 소프트웨어, VMM) 사용 가능
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VMware Player (Windows에서 무료)&lt;/li&gt;
&lt;li&gt;VirtualBox (오픈소스 및 무료, 다양한 플랫폼 지원)&lt;/li&gt;
&lt;li&gt;이를 이용하여 게스트 운영체제 실행, 탐색 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>공부/컴퓨터</category>
      <category>OperatingSystem</category>
      <category>os</category>
      <category>대학교</category>
      <category>운영체제</category>
      <category>컴퓨터공학</category>
      <category>컴퓨터학</category>
      <category>학부생</category>
      <author>slvjuju</author>
      <guid isPermaLink="true">https://slvjuju.tistory.com/2</guid>
      <comments>https://slvjuju.tistory.com/2#entry2comment</comments>
      <pubDate>Sat, 28 Feb 2026 19:32:44 +0900</pubDate>
    </item>
    <item>
      <title>4학년 1학기 목표</title>
      <link>https://slvjuju.tistory.com/1</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 생활습관&lt;/b&gt;&lt;br /&gt;- 2시 전에 자기&lt;br /&gt;- 일주일 3회 이상 운동 (일주일 2회 pt)&lt;br /&gt;- 아침밥 먹기&lt;br /&gt;-&amp;nbsp;근육량&amp;nbsp;20kg&amp;nbsp;이상!! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. 공부&lt;/b&gt;&lt;br /&gt;- 일주일에 30시간 이상 공부&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 일요일은 영어 공부&lt;br /&gt;-&amp;nbsp;4.5&amp;nbsp;받기 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 전공&lt;/b&gt;&lt;br /&gt;- 영어 공부 (토플 5 이상)&lt;br /&gt;- 독일어 공부 (B1 복습)&lt;br /&gt;- 코딩은 학교수업따라서&lt;br /&gt;&lt;br /&gt;​&lt;/p&gt;</description>
      <category>게시판</category>
      <author>slvjuju</author>
      <guid isPermaLink="true">https://slvjuju.tistory.com/1</guid>
      <comments>https://slvjuju.tistory.com/1#entry1comment</comments>
      <pubDate>Sat, 28 Feb 2026 15:16:47 +0900</pubDate>
    </item>
  </channel>
</rss>