반응형

2025/12/09 4

[프로세스 관리] 프로세스 제어 블록(PCB,Process Control Block)

운영 체제는 각 프로세스의 대한 정보를 관리하기 위해 PCB라는 데이터 구조를 사용한다.프로세스가 생성될 때 운영체제가 PCB를 생성하고 프로세스 종료되면 이를 제거 한다.PCB는 커널 영역에 위치하며 사용자 프로세스가 직접 접근 할 수 없다.PCB는 프로세스의 상태를 추적하고 프로세스간 전환을 관리하는데 사용한다. 프로세스 식별자(PID,process ID)운영 체제가 각 프로세스를 구별하기 위해 부여하는 고유한 식별 번호,다양한 용도로 사용된다.프로세스 간 통신(IPC) : 프로세스 간 데이터를 주고 받거나 통신할때 PID를 사용해 정확한 대상을 지정스시템 자원 관리 : 각 프로세스에 할당된 자원을 추적하고 관리, 자원 충동을 방지하고 자원을 효율적으로 분배부모-자식 관계 : 프로세스는 다른 프로세스..

[프로세스 관리] 프로세스의 메모리 구조

운영체제에서 하나의 프로세스가 실행 될 때 운영체제가 그 프로세스에게 부여하는 독립적인 메모리 공간을 의미한다.운영체제는 운영체제를 위한 커널 영역과 프로그램을 실행하는데 필요한 사용자 영역 으로 메모리를 분리해 관리한다.영역을 분리함 으로 중요한 메모리 영역에 접근해 수정하는 것을 방지 하고 다른 오류에 영향을 받지 않게해 안정성을 유지한다.커널 영역에는 커널이 위치하고 모든 프로세스가 공유한다.프로세스가 생성되면 사용자 영역에 각자 독립적인 메모리 공간을 할당 받고 그 영역은 코드,데이터,힙,스택 으로 나뉜다. 커널(Kernel)운영 체제를 이해하는데 매우 중요한 요소,알맹이,핵심을 뜻 하고 하드웨어와 소프트웨어 사이에서 자원 관리 및 시스템 운영을 담당하는 핵심 프로그램프로그램이 하드웨어 자원을 ..

[프로세스 관리] 프로세스(Process)

메모리에 로드되어 실행 중인 프로그램,프로그램을 실행 한다는 건 디스크에 저장된 프로그램을 메모리에 로드해 CPU가 명령어를 처리 하는 상태프로그램(program)은 어떤 작업을 수행하는 코드 집합, 여러 명령어로 이루어져 있고 보조 기억 장치(디스크)에 파일 형태로 저장된다.사용자가 컴퓨터에 프로그램을 실행하면 운영체제는 주 기억장치(메모리) 에서 적절한 공간을 찾아 프로그램을 로드 하고 디스크에 있던 프로그램의 실행 파일 코드와 데이터를 메모리로 가져온다.운영 체제는 메모리를 효율적 으로 관리 하기 위해 전체 코드와 데이터를 한번에 로드 하지 않고 필요 할 때 마다 일부만 가져온다.멀티 프로세스(multi Process)한 프로그램이 동시에 프로세스로 실행되는 구조로 같은 프로그램이 여러번 실행되도 ..

[c++]C 배열과 std::array 차이

C 배열은 단순한 메모리 덩어리 이고 std::array는 배열을 캡슐화 한 정식 컨테이너이다.성능 면에서 두 방식 모두 스택 메모리에 할당 되고 오버헤드가 거의 없음으로 동일하나안정성, 편의성, 현대적인 c++ 기능 활용 측면, STL 편의 기능 등 에서 atd::array가 C 스타일 배열 보다 좋다.C 배열C배열의 경우 함수에 전달할 때 반드시 포인터(T*)로 decay 한다.이로 인해 함수 내에서 배열의 실제 크기를 알 수 없다.컴파일러는 배열의 크기를 알고 있지만 런타임 시점이나 함수 내에서는 크기를 알 수 없어 sitzeof(arr)/sizeof(arr[0]) 같은 매크로 또는 계산 식 을 사용 해야 한다.인덱스 [] 연산자를 사용 할때 범위를 벗어나도 에러가 나오지 않아 UB(Undefine..

c++/STL 2025.12.09
반응형