운영체제의 정의 > * 컴퓨터(HW) 시스템을 운영, 제어하는 SW 컴퓨터에서 항상 실행중인 프로그램이다. 애플리케이션 프로그램(응용 프로그램, App)에 시스템 서비스(HW)를 제공한다. (App과 HW 사이에서 인터페이스 역할) 프로세스 관리, 리소스(파일, 프린터), 마우스 , 키보드등을 관리한다. 운영체제의 역할 프로세스 관리 저장장치 관리 네트워...
프로세스: 컴퓨터에서 실행중인 프로그램, 프로그램을 메모리 상에서 실행중인 작업스레드: 프로세스 내에서 실행되는 흐름의 단위Code: 실행할 프로그램의 명령어들이 저장되는 영역Data: 프로그램의 전역 변수와 정적 변수가 저장되는 영역Heap: 동적 메모리 할당을 위해
프로그램이 CPU에서 실행되면 프로세스가 생성되며 메모리에 프로세스 주소 공간이 할당된다.할당된 프로세스를 CPU가 실행시킨다.Code Segment: 프로그램의 코드가 저장되어 있다. (Read only)Data Segment: 전역 변수와 같은 데이터가 저장되어 있
컴퓨터 시스템에서 발생한 사건을 CPU에 알리는 것인터럽트가 발생한다면 현재 실행 중인 프로세스를 일시 중지하고 인터럽트를 처리한다.컴퓨팅 시스템 외부에서 발생하는 사건에 의해 발생한다.보통 비동기적으로 발생한다.ex) 키보드 입력, 마우스 클릭, 네트워크 신호 수신프
사용자 프로그램이 운영 체제의 서비스를 요청할 때, 예를 들어 파일을 열거나 네트워크 통신을 하거나 새로운 프로세스를 생성하려고 할 때, 시스템 콜을 사용합니다.프로세스 관리: 프로세스 생성, 종료, 스케줄링 등과 같은 작업 담당파일 조작: 파일 열기, 읽기, 쓰기 등
PCB (Process Control Block) > 1. 프로세스의 메타데이터가 저장된 장소 (운영체제가 프로세스에 대한 중요 정보를 저장해 두는 공간) 프로세스 상태 관리와 Context Switching을 위해 필요하다. 프로세스 생성 시 PCB가 만들어진다. (
IPC > 서로 다른 프로세스간에 데이터를 주고받는 방법 프로세스는 다른 프로세스에 영향을 받지 않고 독립적으로 실행된다. 프로세스끼리는 독립적인데 만약 프로세스끼리 통신해야 할 상황에는 어떻게? -> Inter-Prcoess Communication (IPC) I
컴퓨터 시스템의 자원을 효율적으로 사용하고 시스템 성능을 최적화하기 위해 운영체제가 여러 프로세스 중 어떤 프로세스를 CPU에 할당할 것인지 결정하는 작업선점형(preemptive) 스케줄링: 운영체제가 현재 실행 중인 프로세스를 중단시키고, 다른 프로세스에게 CPU를
2개 이상의 프로세스 or 스레드가 자원을 할당받지 못해 다음 단계로 넘어가지 못하는 상태즉, 무한정 다음 자원을 기다리고만 있다.P1은 R1을 가지고 있다. P2는 R2를 가지고 있다.P1은 R2가 필요하다. P2는 R1이 필요하다.\-> P1, P2가 원하는 자원이
공유하는 자원에 대해서 여러 프로세스가 접근하면서 결과값에 영향을 줄 수 있는 상태 \-> 동시 접근 시 자료의 일관성을 해치는 결과가 발생함커널 작업 수행 중 인터럽트 발생문제점: 커널 모드에서 데이터를 로드하여 작업을 수행하다가 인터럽트로 인해 같은 데이터를 조작하
Semaphore: 수기 신호Mutex: Mutual Exclusion공유된 자원의 데이터는 한 번에 하나의 프로세스만 접근할 수 있도록 제한을 둬야 한다.\-> 세마포어세마포어: 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 방법프로세스에서 공유 데이터에
외부 단편화 해결, 메모리 관리 단순화내부 단편화 해결, 동적 크기 할당연속 메모리 관리프로그램 전체가 하나의 공간에 연속적으로 할당 됨고정 분할 기법: 주기억장치가 고정된 파티션으로 분할 (내부 단편화 발생)동적 분할 기법: 파티션들이 동적으로 생성되며 자신의 크기와
필요한 페이지만 메모리에 올려도 가득 차게 되며 올라온 페이지가 사용이 다 되었어도 자리만 차지하고 있다.\-> 메모리가 다 찬다면, 안쓰는 페이지는 내보내고 쓸 페이지를 가져온다.First-in, First-out 메모리에 먼저 올라온 페이지를 먼저 내보낸다.가장 간