운영체제 5

Pipe 파이프, Motivation 동기

파이프(Pipes)두 프로세스가 통신할 수 있도록 하는 전송 경로 역할을 함 주요 문제 통신 방식: 단방향인가 양방향인가? 양방향 통신일 경우: 반이중(Half-Duplex)인가 전이중(Full-Duplex)인가? 프로세스 관계: 통신하는 프로세스 간에 부모-자식 관계가 반드시 존재해야 하는가? 네트워크 사용 가능 여부: 파이프를 네트워크를 통해 사용할 수 있는가?일반적인 파이프(Ordinary Pipes)일반적인 파이프는 생산자-소비자(Producer-Consumer) 방식으로 통신을 수행함 데이터를 생산하는 프로세스(Producer)가 데이터를 쓰고, 소비하는 프로세스(Consumer)가 데이터를 읽는 구조임. 생산자(Producer)는 파이프의 쓰기 끝(write-end)에 데이터를 기록함 생산자는..

운영체제 2025.04.05

fork, IPC

프로세스 종료 (Process Termination) 프로세스가 마지막 명령문을 실행한 후 운영체제에 삭제를 요청할 수 있다 (exit). → 프로세스가 정상적으로 종료될 때 exit() 시스템 호출을 사용한다. 자식 프로세스가 종료되면서 출력 데이터를 부모 프로세스에 전달할 수 있다 (wait 사용). → 부모 프로세스는 wait()을 호출하여 자식 프로세스의 종료 상태를 확인할 수 있다. 운영체제가 프로세스가 사용한 자원을 해제한다. → 메모리, 파일 핸들, CPU 시간 등 프로세스가 사용하던 자원을 반환한다. 부모 프로세스가 자식 프로세스를 강제로 종료(Abort)할 수도 있다. → kill(pid, SIGKILL) 같은 명령으로 부모가 자식을 강제 종료할 수 있다. 자식이 할당된 자원을 초과하여 ..

운영체제 2025.03.30

Processes, Scheduling, fork()

1. 프로세스 (Process)란? 실행 중인 프로그램을 의미함. 프로그램(코드) + 실행 중인 데이터(메모리 상태) 를 포함함. 운영체제에서 Job(작업) = Process(프로세스) 로 다룸. 2. 프로세스의 데이터 구조 (Process Data Structure) 프로세스 정보를 저장하는 데이터 구조가 필요함. 운영체제는 이를 이용해 문맥 교환(Context Switching) 을 수행함. 3. 문맥 교환 (Context Switching) CPU가 실행 중인 프로세스를 다른 프로세스로 전환하는 과정. 현재 프로세스의 상태(레지스터, 프로그램 카운터 등)를 저장하고, 새 프로세스의 저장된 상태를 불러와 실행하는 방식. 멀티태스킹 환경에서 필수적으로 사용됨. ➡ 결론: 프로세스는 실행 중인 프로그램이..

운영체제 2025.03.24

메모리, 마이크로커널 / 모놀리식 시스템 구조, 프로세스

메모리의 주요 제약 조건 용량(amount): 메모리의 크기가 충분해야 함. 속도(speed): 프로세서 속도에 맞춰야 함. 비용(expense): 다른 하드웨어 부품과 비교했을 때 적절한 가격이어야 함. 추가설명 프로세서와 속도 맞추기: 메모리는 CPU가 데이터를 빠르게 처리할 수 있도록 충분한 속도를 제공해야 한다. 비용 문제: 너무 비싼 메모리는 시스템 전체 비용을 증가시키므로, 성능과 가격의 균형이 중요하다. ////// 메모리 계층 구조 (Memory Hierarchy) 메모리는 계층적으로 구성되며, 아래로 내려갈수록 다음과 같은 변화가 발생한다: 비트당 비용 감소 (Decreasing cost per bit) 하위 메모리는 단위당 비용이 더 저렴함. 예: 캐시 메모리는 비싸지만, 하드디스크(H..

운영체제 2025.03.17

Computer Organization 컴퓨터 구성/구조

운영체제, OS(Operating System) 란? 사용자가 컴퓨터 쉽게 쓰게 도와줌. (인터페이스 말하는거)소프트웨어가 컴퓨터 자원 잘 쓰게 도와줌.프로그래머가 소프트웨어 개발할 때 도움 줌. (*API)운영체제는 컴퓨터 구조 잘 알아서 일 잘 처리함. *API(Application Programming Interface) : 프로그래머가 소프트웨어 개발할 때  쓰는 도구임. 쉽게 말해서, 프로그램끼리 서로 기능을 쓸 수 있게 해주는 약속 같은 건데, 예를 들어 네이버 지도 API를 쓰면 내 앱에서 네이버 지도를 불러올 수 있는 거임. 그래서 직접 지도 만들 필요 없이 걍 가져다 쓰면 되는 거. 폰 노이만 머신(Von Neumann Machine) 폰 노이만 이전의 컴퓨터한번에 하나의 연산만 가능프로..

운영체제 2025.03.08