c언어를 이용해 pThread공부를 하는 중이다.이런식으로 pthread_cond_wait에 while문으로 감싼 부분이 잘 이해가 안 갔다.어차피 pthread_cond_signal함수를 사용하면 깨어나는 데 굳이 while문으로 감싼게 의아해서 찾아보고 정리해봤다.

운영체제로부터 자원을 할당받은 작업의 단위윈도우의 .exe 파일이나 Mac의 .dmg 파일등 사용자가 실행할 수 있는 파일을 말한다.실행 파일(프로그램)을 실행하는 순간, 파일은 컴퓨터 메모리에 올라가게 된다.이를 동적 상태라고하며, 이 상태의 프로그램을 프로세스 라

CPU 스케쥴링 운영체제의 CPU 스케쥴러는 READY 상태의 프로세스 중 어떤 프로세스에게 CPU를 할당할지 결정한다. Dispatcher는 CPU 제어권을 CPU 스케쥴러에 의해 선택된 프로세스에게 넘긴다. 이를 Context Switching이라고한다. 장기 스

CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치CPU(Central Processing Unit) : 중앙처리장치CPU는 컴퓨터에서 4대 주요 기능을 관할하는 장치기억해석연산제어CPU는 자체적으로 데이터를 저장할 능력이 없으므로 메모리로 직접

초기 컴퓨터는 하나의 메모리에 단 하나의 프로세스만 올릴 수 있다.물리 메모리에 하나의 실행 중인 프로세스가 존재했으며, OS를 제외한 나머지 메모리를 사용했다.\-> 하나의 메모리가 메모리 공간을 다 차지하기 때문에 매우 좋지 않은 활용성과 효율성을 보여준다.멀티 프

주소 변환이란 프로그램이 사용하는 가상 주소를 실제 물리 메모리 상의 주소로 변경하는 과정주소 변환은 하드웨어적으로 이루어지며, 프로세서가 메모리 참조 명령어를 수행할 때마다 발생한다.운영 체제는 메모리 관리자 역할을 수행하며 물리 메모리의 할당 및 회수, 가상 주소

가상 메모리의 핵심은 어떤 프로세스가 실행될 때, 해당 프로세스 전체가 올라가지 않고, 실행에 필요한 일부분만 올라간다는 점이다.\-> 프로세스의 핵심적인 부분을 제외한 것들은 디스크 공간에 옮겨놓는 방식페이지 : 가상 메모리를 사용하는 최소 크기 단위프레임 : 물리

가상 메모리 시스템에서 프로세스 내의 개별 페이지들을 관리합니다.페이저는 주로 요구 페이징 시스템에서 사용되며, 필요할 때만 페이지를 메모리에 적재합니다.이 역할을 게으른 스와퍼(Lazy Swapper)라고도 합니다.프로세스 전체를 스왑 공간에서 메모리로 읽어오거나,

페이징은 프로세스를 물리적으로 일정한 크기로 나눠 메모리에 할당하는 기법세그멘테이션은 프로세스를 논리적 내용을 기반으로 나눠 메모리에 배치하는 기법세그멘테이션은 프로세스를 세그먼트(Segment)의 집합으로 만들며, 각 세그먼트의 크기는 일반적으로 같지 않다.프로세스를

요즘 컴퓨터는 큰 주소 공간을 가짐(ex) 64bit)여기서 발생하는 문제는 각 주소 공간이 커서 페이지 테이블의 용량이 커진다는 것따라서 프로세스를 이루는 모든 페이지 테이블 항목을 메모리에 두는 것은 너무 큰 자원이 소모된다.\-> 계층적 페이징 : 모든 테이블

페이지 테이블의 임시 저장소 역할을 하는 고속 하드웨어 캐시.가상 주소 → 물리 주소 변환 시 발생하는 메모리 접근 오버헤드 최소화.고속 성질: SRAM 기반으로 CPU와 가까이 위치해 검색 시간이 극히 짧음.병렬 검색: TLB 내의 모든 엔트리를 동시에 검색(Asso

페이지 교체를 위해서는 현재 메인 메모리에 존재하는 페이지를 가상 메모리로 저장한 후에,가상메모리에서 조회한 페이지를 메인 메모리에 올려야한다.프레임물리 메모리를 일정한 크기로 나눈 블록페이지가상 메모리를 일정한 크기로 나눈 블록OPT - Optimal 앞으로 가장 오

CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어등의 장치나 예외상황이 발생하여 처리가 필요할 경우에마이크로프로세서에게 알려 처리할 수 있도록 하는 것.인터럽트는 크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 나눈다.하드웨어가 발생시키는 인터럽트CPU가 아닌 다른

OS가 지원하는 하드웨어 서비스 인터페이스OS는 다양한 서비스들을 수행하기 위해 하드웨어를 직접적으로 관리한다.이와 반면 응용 프로그램은 OS가 제공하는 인터페이스를 통해서만 자원을 사용할 수 있다.OS가 제공하는 이런 인터페이스를 시스템 콜(system call)이라
동기화 경쟁 조건 경쟁 조건은 여러 프로세스/스레드가 동시에 같은 데이터를 조작할 때 타이밍이나 접근 순서에 따라 결과가 달라질 수 있는 상황을 의미한다. 임계 구역(Critical Section) 공유 데이터 일관성을 보장하기 위해 하나의 프로세스/ 스레드만 진입해

생산자-소비자 문제(Producer-Consumer Problem)은 운영체제나 멀티스레드 환경에서 여러 프로세스(또는 스레드)가 공유 버퍼를 통해 데이터를 주고 받을 때 발생하는 동기화 문제한정 버퍼 문제(bounded-buffer problem)라고도 불린다.두 가