CS 지식/○ OS(Operating System)
-
(4) 인터럽트CS 지식/○ OS(Operating System) 2021. 6. 15. 00:14
1. 인터럽트란? 1-1) 정의 프로그램을 실행하는 도중에 예기치 않은 상황이 발생환 경우 지금 실행중인 작업을 즉시 중단하고, 발생된 상황을 우선 처리한 후 실행중인 작업으로 복귀하여 계속 처리하는 것 1-2) 우선순위로 처리되는 일 1) 입출력 2) 우선순위 연산 등등.... 1-3) 인터럽트 종류 외부 인터럽트 [CPU 하드웨어 신호에 의해 발생] 전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류 외부 신호 인터럽트(External interrupt) - 타이머에 의한 인터럽트 : Preemptive개념을 생각하면 된다. 자원이 할당된 시간이 다 끝난 경우 - 키보드..
-
(3) 프로세스 주소 공간CS 지식/○ OS(Operating System) 2021. 6. 13. 22:54
1. 프로세스 주소란? 1-1) 정의 프로그램이 CPU에 의해 실행되고 난 후 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할당됨 > 프로세스 메모리 공간은 다음과 같이 이루어져 있음 1-2) 메모리 구성 코드 Segment : 프로그램 소스 코드 저장 데이터 Segment : 전역변수 저장 - 전역변수, static(Java/C) 로 할당되는 영역, 어디서든 접근 가능 - 프로그램 시작과 동시에 할당, 프로그램 종료되어야 메모리에서 소멸 - [예시▼] 더보기 #include int a = 10; // 데이터 영역에 할당 int b = 20; // 데이터 영역에 할당 int main() { ... return 0; } 위와 같은 코드에서 int형 변수 a, b는 프로그램 실행시 main 함수가 호출..
-
(2) 프로세스 & 스레드CS 지식/○ OS(Operating System) 2021. 6. 12. 23:05
1. 프로세스와 스레드 1-1) 정의 (a) 프로세스 : 메모리 상에서 실행중인 프로그램의 작업 (b) 스레드 : 프로세스 안에서 실행되는 여러 흐름의 단위 1-2) 기본 개념 (a) 프로세스-스레드 관계 기본적으로 프로세스마다 최소 1개의 스레드 보유 (메인 스레드 포함) == 하나의 프로세스가 생성될 때 기본적으로 하나의 스레드 같이 생성 (b) 프로세스의 특징 프로세스는 각각 별도의 주소 공간 할당, 서로 독립적이다 (완전 개별) Code : 코드 자체를 담고 있는 메모리 영역(프로그램 명령) Data : 전역변수, 정적변수, 배열 등 (초기화 된 데이터) Heap : 동적 할당시 사용 (new(), mallock()) Stack : 지역변수, 매개변수, 리턴 값 (임시 메모리 영역) > 프로세스의..
-
(1) 운영체제란?CS 지식/○ OS(Operating System) 2021. 6. 10. 18:15
1. 운영체제란? 1-1) 정의 하드웨어를 관리하고, 응용프로그램과 하드웨어 사이에서 인터페이스 역할을 하며, 시스템의 자원을 관리하고 동작을 제어하는 시스템 소프트웨어 ※ 소프트웨어 - 응용소프트웨어 = 시스템 소프트웨어 + 컴파일러 2. 운영체제의 큰 틀 2-1) 프로세스 관리 프로세스, 쓰레드 스케쥴링 동기화 IPC 통신 2-2) 저장장치 관리 메모리 관리 가상 메모리 파일 시스템 2-3) 네트워킹 TCP/IP 기타 프로토콜 2-4) 사용자 관리 계정 관리 접근권한 관리 2-5) 디바이스 드라이버 순차접근 장치 임의접근 장치 네트워크 장치 3. 프로세스 관리 3-1) 정의 운영체제에서 작동하는 응용 프로그램(소프트웨어)들을 관리하는 기능 > 즉 CPU를 관리하는 것 어떤 프로그램/프로세스가 현재 C..