운영체제 강의를 들은지 너무 오래되어서 개념이 너무 흐릿하다. 그래서 인프런의 공룡책 강의를 들으면서 중요하다고 판단되는 부분을 정리해보고자 한다.잘못된 부분이 있으면 언제든지 댓글로 지적 부탁드립니다.컴퓨터 시스템을 운영하는 소프트웨어 컴퓨터에서 계속 돌아가는 프로그
프로그램은 디스크에 저장되어있는 실행코드프로세스는 프로그램을 구동하여 프로그램 자체와, 프로그램의 상태가 메모리 상에서 실행되는 작업단위Text 영역코드가 저장된다.Data 영역전역 변수가 저장된다.Heap 영역프로그램 동작 후 할당된 메모리가 저장된다.Stack 영역
데이터를 공유하기 위해서속도 향상모듈화멀티태스킹 프로세스 간 통신을 가능하게 하는 기술 여러 프로세스가 통신하여 서로 영향을 주고 받을 때 동시에 운영되는 프로세스들 간 데이터를 주고받는 과정을 어떻게 해결 할 것인가에 초점을 맞춘다.공유 메모리 사용 (Shared M
통신을 위한 양종단 (endpoints)을 의미하며, 파이프 형태의 연결이다.A 컴퓨터와 B 컴퓨터를 연결 할 때, 각 컴퓨터를 특정하는 것이 IP 주소이고 A컴퓨터와 B컴퓨터를 연결하는 파이프를 특정한 것이 Port 이며, 이 IP 주소와 Port를 하나로 묶어서 특
경량화 된 프로세스 (a lightweight process)가장 작은 CPU 점유 단위쓰레드는 프로세스 내부에서 thread ID, program Counter, register Set 그리고 stack 으로 구성된다.프로세스 하나로 처리 할 때와 프로세스 내부 여러
멀티 프로그래밍을 하는 OS 에서는 필수멀티 프로그래밍이란 ? 하나의 CPU가 여러개의 프로세스를 동시적으로 실행하는 것 따라서 CPU 스케쥴링은 하나의 CPU로 여러개의 프로세스를 처리할 때, CPU의 효율성을 증대하기 위해서 CPU 스케쥴링이 필요실제로 CPU-bu
공유된 데이터에 동시에 접근할 때 데이터의 무결성을 고려해야하는 문제이다. A 프로세스와 B 프로세스가 공유된 데이터에 동시에 접근할 경우 원치 않는 결과가 나올 수 있기 때문이다.따라서 프로세스가 동시에 실행 될 경우 순서를 보장해줌 (프로세스 동기화) 으로써 공유된
이전 포스트(https://velog.io/@moonheekim0118/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EB%8F%99%EA%B8%B0%ED%99%94뮤텍스
세마포어의 한계점 Timing Errors가 발생할 수 있고, 이는 추적하기에 몹시 까다롭다. 예를 들어 바이너리 세마포어를 사용 할 시, 각 프로세스들이 wait->signal 순서를 지켜야하는데 이를 지키지 않을 경우가 있을 수 있고, 그럴 경우 임계 영역에 두
유한한 개수의 데이터를 보관하는 Buffer에 여러 명의 생산자들과 소비자들이 접근한다. 생산자의 경우 데이터를 생성하면 Buffer에 저장하는데 이 때 저장할 Buffer 공간이 없을 수 있는 문제가 발생 할 수 있다.소비자의 경우 데이터가 필요 할 때 Buffer에