[운영체제] Process Management
CS/운영체제2022. 3. 17. 18:21[운영체제] Process Management

✔️ 프로세스의 상태 1. 생성(Created) 작업(Job)을 커널에 등록 PCB 할당 및 프로세스 생성 - created Ready 쓸 수 있는 메모리 공간 체크 및 프로세스 상태 전이 (메모리 공간 있을 때) suspended ready 쓸 수 있는 메모리 공간 체크 및 프로세스 상태 전이 (메모리 공간 없을 때) 2. 준비(Ready) 프로세서(CPU) 할당 대기 상태 Queue에서 대기하고 있는 상태를 의미 (물리적인 메모리에 적재된 상태를 말한다.) 3. 실행(Running) 프로세서와 필요한 자원을 모두 할당 받은 상태 프로세스를 실행하는 중 Time runout(preemption) Running State에서 Ready State로 돌아가는 것 sleep(block) Running Sta..

[운영체제] PCB(Process Control Block) & Context Switching
CS/운영체제2022. 3. 17. 17:21[운영체제] PCB(Process Control Block) & Context Switching

✔️ Process Management 프로세스란 실행 중인 프로그램을 의미하며 구체적으로 시스템(커널)에 등록되고 커널의 관리하에 있는 작업을 뜻한다. 또한 프로세스는 각종 자원들을 요청하고 할당받을 수 있는 프로세스 관리 블록(PCB)를 할당받은 개체이다. 프로세스 관리란 CPU가 여러개의 프로세스가 있을 때 CPU 스케줄링을 통해 프로세스를 관리하는 것을 말한다. 이때, CPU는 각 프로세스들을 식별할 수 있어야 관리가 가능하다. 프로세스의 특징을 갖고 있는 것이 바로 Process Matadata이다. ✔️ Process Matadata process-id : 새로운 프로세스에 시스템이 할당해주는 고유 id process- state : 프로세스의 라이프 타임과 관련된 상태로, waiting, r..

[운영체제] System Call
CS/운영체제2022. 3. 14. 16:19[운영체제] System Call

✔️ System Call 이란 ? 시스템 콜(System Call)은 운영체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스다. ✔️ System Call 사용 이유 ? 운영체제는 PC를 보호하기 위해 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동된다. Kernel Mode VS User Mode Kernel Mode I/O Devices를 포함해서 모든 주소 영역에 접근 가능하다. User Mode 명령어의 일부와 HW feature의 일부만 사용이 가능하다. I/O나 Memory Protection을 포함한 명령은 사용이 불가하다. 커널 모드와 유저 모드의 구분에는 모드 비트(mode bit)를 사용하며 이 비트가 1..

[운영체제] 인터럽트(Interrupt)
CS/운영체제2022. 3. 14. 14:46[운영체제] 인터럽트(Interrupt)

✔️ 인터럽트란 ? CPU가 프로그램을 실행하고 있을 때 예외상황이 발생해 처리가 필요할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 뒤 다시 실행중인 작업으로 복귀하는 것을 말한다. 입출력 연산이 CPU 연산 수행속도보다 현저히 느리기 때문에 사용한다. I/O 연산이 끝난 이후 I/O Device는 인터럽트를 통해 CPU에게 알리고 CPU는 I/O 연산 결과를 이용해 작업을 완료한다. ✔️ 인터럽트의 종류 인터럽트의 종류는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트 전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류 외..

[운영체제] 프로세스 & 스레드
CS/운영체제2022. 3. 14. 12:26[운영체제] 프로세스 & 스레드

✔️ 프로세스란 ? 메모리 영역에 올려 실행 중인 프로그램의 인스턴스(독립적인 개체) 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 하나의 프로세스는 반드시 하나 이상의 스레드를 가진다. 운영체제로 부터 시스템 자원을 할당받는 작업의 단위 시스템 자원 1) CPU 시간 2) 운영되기 위해 필요한 주소 공간 3) Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 ✔️ 프로세스의 특징 프로세스는 각각 독립된 영역(Code, Data, Stack, Heap의 구조)을 할당 받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료 구조에 접근할 수 없다. 한 프로..

[네트워킹] NAT (Network Address Translation)
CS/네트워킹2022. 3. 10. 18:19[네트워킹] NAT (Network Address Translation)

✔️ NAT (Network Address Translation) 이란 ? NAT이란 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다. public outside address와 private inside address 사이에서 border router로서의 역할을 한다. 내부망에서는 Private IP주소를 사용해 통신을 하고 외부망과의 통신시에는 NAT을 거쳐 Public IP주소로 자동 변환한다. 대부분 여러대의 호스트가 하나의 Public IP주소를 사용해 인터넷에 접속하기 위해 사용한다. ✔️ NAT 작동 원리 1. 공유기에 연결된 컴퓨터들은 각각의 사설 아이피를 부여받는다. 2. 우리가 www.nav..

image