본문 바로가기

CS/Operating System2

[OS] 공유 자원과 임계 구역 📈 공유 자원에 대한 접근공유 자원이란?공유 자원이란 여러 프로세스가 함께 사용하는 자원을 말한다. 예를 들어 변수, 메모리 공간, 파일 등이 있다. 이러한 자원은 여러 프로세스가 공동으로 사용하기 때문에, 누가 먼저 접근하느냐에 따라 결과가 달라질 수 있다. 문제 상황: 공유 변수예를 들어, 은행 계좌에 10만 원이 들어 있는 상태라고 가정한다. 여기서 두 개의 프로세스(P1과 P2)가 동시에 입금을 시도한다고 하자. 단계P1 행동P2 행동1예금 확인 → 10만 원예금 확인 → 10만 원2예금에 10만 원 추가 → 20만 원예금에 5만 원 추가 → 15만 원3예금 저장 → 20만 원 저장예금 저장 → 15만 원 저장 이 경우, 마지막에 실행된 P2가 덮어쓰면서 예금은 15만 원으로 남게 된다. 실제.. 2025. 4. 24.
[OS] RPC란? ✅ RPC(Remote Procedure Call)란?RPC는 “원격 프로시저 호출”이라고 하며, 마치 내 컴퓨터 안에서 함수(또는 메서드)를 호출하듯이, 네트워크에 연결된 다른 컴퓨터(서버)의 함수를 호출하는 방식이다. ✅ 왜 필요한가?기본적으로 우리가 일반적인 프로그래밍을 할 때는, 같은 메모리 공간 안에서 함수나 메서드를 호출한다. 그런데 서버와 클라이언트가 분리된 시스템에서는, 서버의 기능을 클라이언트에서 사용하려면 네트워크 통신을 해야 한다. 이때 직접 소켓 통신을 구현하면 너무 복잡하고 번거롭기 때문에, 마치 함수를 부르듯 간단하게 서버의 기능을 호출할 수 있도록 만든 개념이 바로 RPC이다. ✅ 작동 방식클라이언트가 함수를 호출한다.이때, 이 함수는 실제로는 로컬에 없고 서버에 존재한다.RP.. 2025. 4. 24.