모두 프로그램의 실행과 관련된 단어들이다. (실행 단위 : cpu core에서 실행하는 하나의 단위로 프로세스와 스레드를 포괄하는 개념) 차이점은 Process는 실행의 단위, Thread는 Process 내에서 실행되는 흐름의 단위로 Process는 독립적으로 실행되
Multi-process 각 프로세스는 독립적IPC를 사용한 통신자원 소모적, 개별 메모리 차지context switching 비용이 큼동기화 작업이 필요하지 않음Multi-thread스레드끼리 긴밀하게 연결되어 있음공유된 자원으로 통신 비용 절감공유된 자원으로 메모리
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층다른 응용 소프트웨어와는 다르게 하드웨어를 직접 관리해주면서 편리한 인터페이스 제공해야하기 때문에 굉장히 까다로운 소프트웨어다.협의의 운영체제 (커널) → 좁은 의미
CPU + Memory → Computer (Host)I/O deviceInput : I/O device 데이터가 컴퓨터로 들어가는 것Output → 컴퓨터에서 처리 후 그 결과를 I/O device로 내보내는 것cpu는 pc라는 레지스터가 가르키는 메모리주소에 있
동기식 입출력 (synchronous I/O) I/O 장치까지 가서 보고 뭐가 적혀있는지 확인하고 읽어와서 그거 보고 작업했다 하면 sync read. I/O 장치에서 쓰라고 한 일을 눈으로 확인하고 와서 그 다음일을 하면 sync write.sync : 시간적으로
일반적으로 네트워크와 동기 비동기 함께 엮어서 생각.(보통 메인에서) 분산처리 시킨 작업을 다른 한개의 쓰레드에서 처리(보통 메인에서) 분산처리 시킨 작업을 다른 여러개의 쓰레드에서 처리몇개의 쓰레드로 분산할지는 시스템이 알아서 경정, 다만 여러개의 쓰레드로 분산 처리
“Process is a program in execution”프로세스의 문맥 (context) : 프로세스의 현재 상태를 알아야 할때 확인해야 하는 정보들CPU 수행 상태를 나타내는 하드웨어 문맥 Program Counter (PC가 어딜 가리키고 있는가?)각종 Re
프로세스 상태도 > running(user mode) : 프로세스가 cpu를 가지고 있으면서 본인의 코드를 실행중인 상태 running(monitor, 커널 mode) : 본인이 어떤 일을 할 수 없어서 운영체제에게 요청 (시스템 콜) 그럼 운영체제 코드가 실행중.
여러개의 자식을 가질 수 있음.생성하는 방법 : 복제 생성 → 프로세스의 문맥을 모두 복사하는 것. (주소공간인 code data stack, CPU 문맥인 PC)운영체제로부터 받는다.부모와 공유하는 경우도 있다. (경우에 따라) 원칙적으로는 자원을 공유하지는 않는다.
CPU and I/O Bursts in Program Execution 프로그램이 수행이 되면 어떤 프로그램이든 간에 위의 과정이 실행된다. CPU 러닝(load, add..), 오래 걸리는 작업(read등..) I/O 작업은 오래 걸리는 작업이기 때문에 I/O 작
Scheduling Algorithms FCFS (First-Come First-Served) SJF (Shortest-Job-First) Priority Scheduling RR (Round Robin) 자세한 내용은 아래 링크 참고 Multilevel Queu
다음과 같은 방식으로 데이터가 저장된다.연산 하는 부분 → execution box저장하는 부분 → storage box데이터를 읽기만 하면 문제가 될 게 없다. 그렇지만 결과를 다시 저장해야 하는 방식에서는 누가 먼저 읽어갔는지에 따라 결과가 달라질 수도 있다. 그럴
The Critical-Section Problem | 임계구역 critical-section 공유데이터 접근하는 코드 n개의 프로세스가 공유 데이터를 동시에 사용하기를 원하는 경우 각 프로세스의 code segment에는 공유 데이터를 접근하는 코드인 critic
Deadlock and Starvation | 세마포어는 원치않는 문제가 생길 수 있다. Deadlock 문제 둘 이상의 프로세스가 서로 상대방에 의해 충족될 수 있는 event를 무한히 기다리는 현상 세마포어 S와 Q가 두개 있는데 , 두개를 다 획득해야지만
교착상태(deadlock) 서로 가진 자원을 내놓지 않고 원하기만 하는 상태. Deadlock 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Resource(자원) 하드웨어, 소프트웨어 등을 포함하는 개념 ex) I/O device, CPU