![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/Llt7H/btq3KeWmevH/lJ0nUvr7fniOxIfmwrvBw0/img.png)
CPU and I/O Bursts 프로그램 실행중 주어진 명령문의 종류에 따라 구분 I/O burst : I/O를 실행하고 있는 단계 CPU burst : CPU만 연속적으로 사용하면서 명령어를 실행하는 단계 즉 프로그램이 실행중이라는 것은 CPU burst와 I/O burst가 반복적으로 번갈아가면서 실행중이라는 것이다 단, 프로그램마다 빈도수와 burst길이의 차이는 있다 CPU-burst Time의 분포표 I/O bound job : I/O burst의 빈도 수가 높은 job CPU bound job : CPU burst의 정도가 많은 job 대체로 I/O bound job는 burst의 시간이 짧고 빈도수가 높았고, CPU bound job은 burst의 시간은 길지만, 빈도수가 낮았다 I/O b..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/D79Q3/btq3EKtNV2P/aop0uHeVluEhNswobwEY61/img.png)
프로세스의 생성과 복사, 전환 프로그램이 실행할 때 프로세스를 새로 생성. fork() 시스템 호출을 통해 실행중인 부모 프로세스를 복사하여 똑같은 내용의 새로운 자식 프로세스 생성. exec() 시스템 호출을 통해 기존의 프로세스를 새로운 프로세스로 전환. 부모 프로세스는 여러 자식 프로세스를 가질수 있다. 프로세스의 트리 (계층 구조)를 형성한다. 프로세스는 자원을 필요로 하는데, 운영체제로부터 받으며 프로세스 간 공유할 수 있다. 자원의 공유 방식 3가지 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델 → 일반적으로 프로세스는 자원의 할당으로부터 경쟁관계이므로 대부분 공유를 하지 않는다. 수행 방식 2가지 부모 자식이 공존하며 수행되는 모델 자식이 종료될 때까..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/dFJQMi/btq3CA6vTIY/uSUFqeYk9OCXEDeAeKMoKk/img.png)
Thread Q. 스레드란? A. a thread is basic unit of CPU utilization 멀티 쓰레드는 프로세스 내부의 CPU 수행 단위인 Thread가 여러개 있는 것 같은일을 하는 프로세스를 여러개 실행하고 싶은 경우 → 전부 실행시 각각 메인 메모리에 올리고 가상 메모리 공간을 가져야 하므로 메모리 낭비가 일어난다. 웹을 띄우기 위해 이미지를 가져오고, 코드를 처리하는 데 이를 각각의 프로세스로 띄운다는 등, 동일 작업에 대해 별개의 프로세스를 갖는 것 크롬은 탭 별로 각각의 프로세스이며, 하나의 창에서도 주소창, 플러그인, 그외 부분에서도 여러 프로세스가 존재한다. 단, 페이지를 로드하기 위한 작업은 쓰레드 별로 이뤄진다. (웹페이지를 읽어오기, 이미지 보여주기, html 코드..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bMf5Ns/btq3GDt2w3C/OKkNpUjz7HR74Y7X6t1pt1/img.png)
Q. 프로세스란? A. Process is a program in execution, 운영체제의 자원을 할당받는 작업의 단위 프로그램이 프로세스가 되기 위해서는 메모리의 적당한 위치로 프로그램을 가져오고, 그와 동시에 커널의 data영역에 해당 프로세스의 제어 블록 (PCB)를 생성한다. 프로세스가 종료될 때 PCB도 같이 폐기된다. 프로세스 = 프로그램 + PCB 프로그램 = 프로세스 - PCB 프로세스의 문맥(context) 프로세스의 실행은 program counter(PC)가 프로세스의 code를 가리키면서 instruction(명령어)을 하나씩 읽고, cpu에 가져와서 레지스터에 값을 넣고, 산술논리연산 장치에서 연산을 하고, 결과를 레지스터나 프로세스의 메모리에 저장을 한다. 이러한 실행의 특..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/cD2R7b/btreEKCMNvn/bTMMgSLyREnkLux3RCIWj0/img.png)
Synchronous I/O & Asynchronous I/O 싱크 : 동기 ←→ 비동기 Synchronous I/O I/O요청 후 입출력 작업이 완료된 후 제어가 사용자 프로그램으로 넘어가는 것으로, 일단 프로세스는 대기상태가 된다 구현 방법 1 I/O가 끝날 때까지 프로세스는 대기상태가 되고, CPU도 해당 프로세스를 가지고 있는다. 매시점 하나의 I/O만 일어날 수 있다 → 프로세스 논다 & CPU 논다 구현방법 2 I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗고, I/O처리를 기다리는 다른 프로그램에게 CPU를 준다 그동안 입출력을 요청한 프로세스는 대기상태이다. (입출력을 요청한 프로세스는 놀고있다, 입출력 완료 대기중) CPU는 다른 I/O 처리 목록이 있으면 놀지않고 처리한다. →..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/dksx4o/btq3ITJQpyu/gKkGlupue0pI74UIsmc5O0/img.png)
컴퓨터 시스템 구조 CPU 매 클럭 사이클 마다 메모리에서 instruction(기계어 명령)를 읽어서 처리하게 된다 CPU는 한번의 Instruction을 실행할 때마다 실행하고 난 후 interrupt line을 확인하고 있으면 처리 후 다음 Instruction을 실행한다 interrupt가 있으면 일단 처리중인 일을 멈추고 OS로 제어권이 넘어간다. OS는 해당 Interrupt를 보고 적절한 조치를 취하게 된다 메모리 cpu의 작업 공간 Device Controller I/O 장치들을 전담하는 작은 cpu 같은 것으로 I/O device에 붙어있다 디스크의 헤더가 욺직이는 등 I/O디바이스를 전담하는 역활을 한다 cpu와 I/O device의 처리성능에서 약 100만배 정도의 매우 큰 차이를 보..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/yVj4u/btq3GGdbp7g/eZYczMFHuN050yGiE6XFEK/img.png)
운영체제란 무엇인가? 운영체제란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 사용자, 사용자 , ... , 소프트웨어, 사용자 .. → 운영체제 → 하드웨어 좁은 의미의 운영체제 - 커널 운영체제의 핵심 부분으로 메모리에 상주하는 부분 컴퓨터에서 항상 돌아가는 프로그램 소프트웨어에서 운영체제는 커널을 일컫는다 넓은 의미의 운영체제 커널 뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념 예를들어 윈도우를 설치하게 되면 커널만 존재하는 것이 아니라, 메모리에 상주하지 않는 파일 복사 기능등 다양한 유틸리티가 포함되어 있다 운영체제의 목적 컴퓨터 시스템의 자원을 효율적으로 관리 사용자간의 형평성 있는 자원 분배 주어진 자원으로 최대한의 성능을 ..
- Total
- Today
- Yesterday