분류 전체보기
-
폴링(Polling) vs 인터럽트(Interrupt)운영체제 2020. 5. 18. 13:38
폴링 방식 폴링이란 CPU가 작업을 진행하다 입출력 명령을 만나면 직접 입출력 장치에서 데이터를 가져오는 방식이다. CPU가 직접 일을 하기 때문에 입출력을 하는 동안 다른 일은 못한다. 따라서 입출력이 처리되는 동안 기다려야 되는데 시간이 오래 걸리며 작업 효율이 떨어져 현재는 사용하지 않는다. 또한 정해진 시간이나 주기적으로 체크하는 방식으로 과거에는 작업 개수가 적었을 때 가능했던 방식이 오늘날 다양한 프로세스 처리에는 알맞지 않다. 인터럽트 방식 인터럽트란 어떠한 주변장치들의 입출력이나 하드웨어 문제, 프로그램에서 예외 등이 발생했을 때 CPU에게 이를 알려주는 방식이다. 보통 인터럽트는 인터럽트 벡터를 통해서 발생 여부를 체크한다. vector형태의 자료구조로 구현 가능하다고 한다. 또한 각각의..
-
컴퓨터 시스템 정리 (분산 시스템, 병렬 시스템, 클러스터 시스템, Real-Time 시스템, Handled 시스템)운영체제 2020. 4. 20. 16:11
병렬 시스템(Parallel System) 다중 프로세서(Multi Processors) 시스템이다. 2개 이상의 CPU가 각자 맡은 역할을 수행하는 개념으로 이해하는 것이 쉽다. Tightly coupled system - 프로세서들이 메모리와 클락을 공유하면서 사용한다. 2가지 구조가 있다. 대칭 구조(Symmetric multiprocessing, SMP) 각각의 프로세서가 동일한 운영체제 사본을 가지고 수행한다. 또한 많은 프로세서가 퍼포먼스가 나빠지지 않으며 한 번에 수행된다. 대부분의 OS가 이를 지원하고 있다. 비대칭 구조(Asymmetric multiprocessing, AMP) 각각의 프로세서가 각자의 역할이 존재하며, 마스터(master)프로세서와 노예(slave) 프로세서들로 구성되어..
-
프로세스의 상태 총 정리 (Process Status)운영체제 2020. 4. 19. 00:28
오늘은 프로세스의 상태에 대해서 공부한 것을 정리하고자 글을 씁니다. 우선 ready와 wait의 구별이 아직 잘 안 되고 현재 컴퓨터의 시분할 시스템에서 CPU time quantum을 프로세스가 어떻게 가져가는지 다시 한번 정리하여 제 것으로 만들고자 글을 작성합니다. 우선 프로세스에 대해서 다시한번 정리를 해보겠습니다. 여기에 잘 정리하였지만 간략하고 핵심만 다시 써보겠습니다. 프로그램(Program)과 프로세스(Process),프로세서(Processor) 구분하기!!! 본인은 소프트웨어 개발자가 되기 위해 공부 중인데요. 프로그램이라는 것은 어릴 때부터 아니면 꼭 IT분야가 아니더라도 자주 들었던 말입니다. 그런데 프로세스는 전공을 공부하면서 알게 되었지만 명확한 구분.. enlqn1010.tis..
-
백준(Baekjoon)알고리즘 <문제번호 1011> - Fly me to the Alpha Centauri백준문제정리 2020. 4. 16. 17:40
문제 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행사가 되어 새로운 세계에 발을 내려 놓는 영광의 순간을 기다리고 있다. 그가 탑승하게 될 우주선은 Alpha Centauri라는 새로운 인류의 보금자리를 개척하기 위한 대규모 생활 유지 시스템을 탑재하고 있기 때문에, 그 크기와 질량이 엄청난 이유로 최신기술력을 총 동원하여 개발한 공간이동 장치를 탑재하였다. 하지만 이 공간이동 장치는 이동 거리를 급격하게 늘릴 경우 기계에 심각한 결함이 발생하는 단점이 있어서, 이전 작동시기에 k광년을 이동하였을 때는 k-1 , k 혹은 k+1 광년만을 다시 이동할 수 ..
-
데이터 링크 계층 - 이더넷(Ethernet)과 역할 (네트워크 7계층, OSI모델)네트워크 기초 2020. 4. 14. 16:31
안녕하세요! 오늘은 네트워크 7 계층 중에 중요한 계층이라고 할 수 있는 데이터 링크 계층에 대해서 설명해보고 공부한 내용을 정리해보려고 합니다. 가볍지만 얻어가는 게 있으실 수 있도록 작성해 보겠습니다! 데이터 링크 계층 데이터 링크 계층은 네트워크 7계층 중에 물리 계층을 가기 바로 직전의 계층으로써 랜(LAN)에서 데이터를 어떤 형태로 받고 보내야 할지 결정하는 구간입니다. 주요 프로토콜에는 이더넷(Ethernet), RPC, WinSock 같은 것이 있습니다. 좀 더 기능적으로 설명하자면 네트워크 장비 간에 신호를 주고받는 규칙에 대해서 정해놓는 계층이랍니다. 허브 VS 스위치 프로토콜을 설명하기 이전에 네트워크 장비간에 비교를 통하여 데이터 링크 계층의 프로토콜이 어떤 쓰임이 있는지 알아보려 합..
-
물리 계층 - 물리 계층은 무엇을 할까? (OSI 네트워크 7계층)네트워크 기초 2020. 4. 10. 18:56
우리가 메일을 누군가에게 보낸다고 생각해보면 특정 사이트에서 메일을 작성하여 상대방에 주소를 적고 전송 버튼만 누르면 보내는 게 전부입니다. 하지만 작성한 메일을 가진 컴퓨터와 상대방의 컴퓨터는 물리적으로 멀리 떨어져 있는데 어떻게 전달이 되는 걸까요? 어릴 때 종이컵에 실을 이어서 상대방과 이야기를 주고받던 때가 생각이 나네요ㅎㅎㅎ... 우리가 보내려는 데이터는 0과 1로된 자료입니다. 즉 디지털 정보라는 것이죠. 그렇다면 어떻게 0과 1로만 상대방에게 보낼 수 있는 것일까요? 제가 전자과는 아닌지라 아주 깊게는 모르지만.. 아주 짧게 설명하자면 0과 1(비트열)을 문에 있는 스위치처럼 껐다 꼈다를 아주 빠른 속도로 전환하며 아날로그 데이터를 디지털화시켜서 전송할 수 있는 것입니다. 본론으로 들어가자면..
-
PCB(Process Control Block)는 무엇일까? 어디서 쓰나?운영체제 2020. 4. 10. 16:37
프로세스는 어떤 식으로 자신을 저장하며 CPU가 이런 프로세스를 제어하는 방법이 궁금했다. 각각의 프로세스는 PCB라는 프로세스 컨트롤 블록을 가지고 위에 일을 할 수 있다고 배우게 되었다. 그렇다면 PCB에는 어떤 것들이 있으며 어떻게 쓰이는지 정리해 보겠다. PCB(Process Control Block)이란? 프로세스 컨트롤 블록. 즉, 프로세스를 관리하기 위해서 다양한 정보를 저장해 두고 이를 가지고 제어를 할 수 있도록 하는 운영체제 커널의 자료 구조이다. "운영체제가 프로세스를 표현했다." 라고 말할 수 있다. [ 구성 ] 1. Process Id : pid값을 저장. 즉 프로세스의 특정 번호를 저장한다. c++>> #include에 pid_t 라는 데이터 타입에 pid값을 저장할 수 있다고 ..
-
백준(Baekjoon)알고리즘 <문제번호 1008> - A/B백준문제정리 2020. 4. 7. 17:13
문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 풀이 A 와 B를 나누어서 소수점으로 수를 나타내기 위해서 double 형으로 데이터 타입을 받았다. 또한 소숫점 9번째 자리까지 나타내기 위해서 .9lf를 사용하였다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include using namespace std; int main(void) { double A, B; double result; while (true) { cin >> A >> B; if (A 10 || B 10) { continue; } printf("%.9lf\n", A / B); break; } return 0; } Colored by Co..