📎 절대 주소와 상대 주소의 차이 운영체제에서 프로세스가 사용하는 주소는 물리 주소와 논리 주소로 나뉘며, 이와 관련된 개념이 절대 주소와 상대 주소이다. 절대 주소실행 중인 프로세스가 메모리의 실제 물리 주소를 직접 사용하는 방식프로그램이 실행되기 전, 메모리 위치가 고정되어 있어야 한다는 제약이 있다. 상대 주소 실행 중인 프로세스가 메모리 내의 특정 기준점(base address)으로부터의 거리(오프셋)만을 사용하여 주소를 계산하는 방식이때 기준점은 운영체제가 할당한 실제 시작 주소이며, 프로그램이 실행되면서 이 기준점에 상대 주소를 더해 실제 주소가 계산된다.프로그램의 이식성과 메모리 효율성을 높여주며, 다양한 위치에서 유연하게 실행 가능하도록 해주어 현대에 주로 채택된다 📎 메모리 관리와 ..
📎 병행성과 병렬성의 차이병행성(Concurrency): 여러 작업이 동시에 실행되는 것처럼 보이지만, 실제로는 작은 단위로 번갈아가며 실행된다. 예를 들어, 단일 코어 CPU에서 멀티태스킹을 수행할 때 병행성이 적용된다.병렬성(Parallelism): 여러 작업이 실제로 동시에 실행된다. 멀티코어 CPU에서는 여러 스레드가 각기 다른 코어에서 동시에 실행될 수 있어 병렬 처리가 가능하다. 📎 프로세스 동기화의 필요성 [운영체제] 2. 프로세스와 스레드 : PCB, TCB, 프로세스의 상태 전이, IPC1. 운영체제 기본 개념은 아래 링크에서 확인 가능합니다. [운영체제] 1. 운영체제 기본 개념 : 커널, 시스템콜, 인터럽트, DMA, 멀티프로그래밍 시스템📎 운영체제의 역할과 커널의 기능 sx..
2. 프로세스와 스레드는 아래 링크에서 확인 가능합니다. [운영체제] 2. 프로세스와 스레드 : PCB, TCB, 프로세스의 상태 전이, IPC1. 운영체제 기본 개념은 아래 링크에서 확인 가능합니다. [운영체제] 1. 운영체제 기본 개념 : 커널, 시스템콜, 인터럽트, DMA, 멀티프로그래밍 시스템📎 운영체제의 역할과 커널의 기능 sxunea.tistory.com 저번 포스트를 통해서 프로세스의 정의와 상태, 스레드, 멀티스레드 프로그래밍, 멀티프로세스 프로그래밍에 대해 알아보았다면 이번 포스트에서는 CPU 스케줄링에 대해 알아보자. 📎 CPU 스케줄링의 목적먼저 CPU 스케줄링이 왜 필요할까 ?CPU 스케줄링의 등장 배경 CPU가 유휴상태 (CPU가 잠시 사용되지 않는 상태, 즉 쉬는중..
1. 운영체제 기본 개념은 아래 링크에서 확인 가능합니다. [운영체제] 1. 운영체제 기본 개념 : 커널, 시스템콜, 인터럽트, DMA, 멀티프로그래밍 시스템📎 운영체제의 역할과 커널의 기능 운영체제는 그림과 같이 커널, 인터페이스, 시스템 콜, 드라이버의 4가지로 크게 나누어질 수 있다. 커널 커널은 운영체제의 핵심요소로, HW와 직접sxunea.tistory.com 저번 포스트를 통해서 운영체제의 개념과 역할, 동기/비동기에 대해 알아보았다면, 이번에는 결국 커널의 핵심인 '프로세스 관리' 에서의 그 프로세스가 무엇인지에 대해서 알아보자. 📎 프로세스의 개념, 상태, 메모리 구조와 PCB프로그램과 프로세스프로그램은 컴퓨터 하드웨어에게 어떤 작업을 수행하도록 시키는 명령어들의 집합이다. ..
📎 운영체제의 역할과 커널의 기능 운영체제는 그림과 같이 커널, 인터페이스, 시스템 콜, 드라이버의 4가지로 크게 나누어질 수 있다. 커널 커널은 운영체제의 핵심요소로, HW와 직접 상호작용하며 메모리, CPU, IO, 파일 시스템 등을 관리하는 SW이다. 인터페이스인터페이스는 서로 다른 시스템요소들이 상호작용할 수 있게 도와주는 매개체로, 유저와 OS, HW와 OS의 상호작용이 그 대표적인 예시이다. CLI(명령어 인터페이스), GUI(그래픽 유저 인터페이스) 등이 인터페이스의 예이다. 시스템 콜시스템 콜은 응용 프로그램이 OS의 기능을 호출할 때 사용하는 인터페이스로, 응용 프로그램이 OS에 직접 접근하는 것을 막고자 만들어졌다. read()와 같이 파일을 읽는다던가, fork()와 같이 프..