Computer Science/Operating System
[운영체제 기초] 9. 쓰레드와 프로세스 동기화
[운영체제 기초] 9. 쓰레드와 프로세스 동기화
2022.06.08학습목표 쓰레드와 프로세스의 차이를 설명할 수 있다. 프로세스 동기화는 무엇이며 어떤 상황에서 사용되는지에 대해 설명할 수 있다. 1. 쓰레드(Thread)란 무엇인가? 쓰레드는 프로그램 내부의 흐름, 맥을 의미합니다. 혼동하지 말아야할 점은 프로세스는 메모리에 적재된 프로그램을 의미하고 쓰레드는 프로세스의 안에서의 실행 흐름을 의미합니다. 쓰레드는 프로세스의 메모리 공간과 파일, I/O등의 자원을 공유하지만 다른 프로세스의 메모리와 자원에는 접근할 수 없다는 특징이 있습니다. 2. 쓰레드(Thread) vs 프로세스(Process) 하나의 프로세스에는 기본적으로 1개의 쓰레드(Main thread)가 있으며 경우에 따라서는 여러개의 쓰레드가 존재할 수 있습니다. 쓰레드의 개수에 따라 프로그램을 부르는 ..
[운영체제 기초]8. CPU 스케쥴링
[운영체제 기초]8. CPU 스케쥴링
2021.02.09CPU 스케쥴링 학습목표 CPU 스케쥴링 방법들과 각각의 차이점들에 대해 설명할 수 있다. 1. CPU스케쥴링이란 뭘까? Ready Queue의 프로세스를 어떤 순서로 처리할 것인지 계획을 세우는 것이다. 2. CPU스케쥴링의 방식 선점(Preemptive) 처리중인 프로세스가 있어도 다른 프로세스를 처리할 수 있다. 비선점(Non-preemptive) 처리중인 프로세스가 끝나기 전에는 다른 프로세스를 처리하지 않는다. 3. CPU스케쥴링의 기준 CPU스케쥴링의 기준으로는 다음과 같은 항목들이 있다. CPU Utilization(CPU 이용률) Throughput(처리율) Turnaround time(반환시간) Waiting time(대기시간) Response time(응답시간) 4. CPU스케쥴링 알고..
[운영체제 기초]7. 프로세스 관리
[운영체제 기초]7. 프로세스 관리
2021.02.09프로세스 관리 학습목표 OS가 프로세스를 관리하는 방법에 대해 설명할 수 있다. 1. 프로세스란? 프로세스는 메인메모리에서 실행중인 프로그램(program in execution)이다. Task, Job 이라고도 불린다. 2. 프로세스의 생성과 종료 프로세스의 생성 프로세스는 프로세스에 의해 만들어진다. OS가 메인메모리에 적재되면 가장 먼저 init이라는 프로세스를 생성하고, init은 여러 프로세스를 생성한다. 프로세스들은 다시 자식 프로세스를 생성하는 식으로 확장하게 되면서 프로세스 트리를 그리게 된다. 프로세스는 자기 자신과 부모 프로세스를 식별할 수 있는 고유한값을 가지고 있는데 각각 PID(Process Identifier), PPID(Parent Process Identifier)라고 한다...
[운영체제 기초]6. 운영체제 서비스
[운영체제 기초]6. 운영체제 서비스
2021.01.19운영체제 서비스 학습목표 서비스의 종류와 역할에 대해 이해한다. 시스템 콜이 무엇인지 설명할 수 있다. 1. 서비스란 무엇인가? 서비스는 하드웨어(자원)들이 효율적으로 사용되도록 관리하는 주체를 의미한다. 각 하드웨어마다 관리하는 서비스가 존재한다. 2. 서비스의 종류 프로세스 관리 주기억장치 관리 파일 관리 보조기억장치 관리 입출력 장치 관리 네트워킹 보호 기타 ...등등 3. 각 서비스의 역할 1. 프로세스 관리(Process management) 프로세스(Process)란 메인메모리에 적재되어 실행 중인 프로그램을 의미한다. 프로그램은 디스크나 메모리에 있는 모든 프로그램을 지칭할 수 있지만, 프로세스는 메모리에서 실행중인 프로그램만을 의미한다는 점에서 보다 좁은 범위라고 볼 수 있다. 주요 기능 ..