
스레드 관리 (Thread Management) 스레드의 개념 프로세스(Process)와 스레드(Thread) 한 프로세스 안에 스레드는 여러 개 있을 수 있다. 자원은 공유를 하지만, 각각의 자신만의 제어요소들을 가지고 있는 것. 스레드 ★ Light Weight Process (LWP) ★ 프로세서(e.g, CPU) 활용의 기본 단위 ★ 구성요소 Thread ID Register set (PC, SP 등) Stack (i.e local data) ★ 제어 요소 외 코드, 데이터 및 자원들은 프로세스 내 다른 스레드들과 공유 ★ 전통적 프로세스 = 단일 스레드 프로세스 스레드의 장점 ★ 사용자 응답성 (Responsiveness) 일부 스레드의 처리가 지연되어도, 다른 스레드는 작업을 계속 처리 가능 ..

Process Management Job vs Process ★ 작업 (Job) / 프로그램 (Program) 실행 할 프로그램 + 데이터 컴퓨터 시스템에 실행 요청 전의 상태 ★ 프로세스 (Process) 실행을 위해 시스템(커널)에 등록된 작업 시스템 성능 향상을 위해 커널에 의해 관리 됨 프로세스의 정의 ★ 실행중인 프로그램 커널에 등록되고 커널의 관리하에 있는 작업 각종 자원들을 요청하고 할당 받을 수 있는 개체 프로세스 관리 블록(PCB)을 할당 받은 개체 능동적인 개체(active entity) ✓ 실행 중에 각종 자원을 요구, 할당, 반납하며 진행 ★ Process Control Block (PCB) 커널 공간 (kernal space) 내에 존재 각 프로세스들에 대한 정보를 관리 프로세스의..

운영체제의 역할 ★ User Interface (편리성) CUI (Character User Interface) GUI (Graphical User Interface) EUCI (End-User Comfortable Interface) ★ Resource management (효율성) HW resource (processor, memory, I/O devices, Etc.) SW resource (file, application, message, signal, Etc.) ★ Process(실행주체) and Thread management ★ System management (시스템 보호) 컴퓨터 시스템의 구성 운영체제의 구분 ★ 동시 사용자 수 Single-user system Multi-user sys..

컴퓨터 시스템 개요 운영체제 → 하드웨어(컴퓨팅 자원)를 효율적으로 관리해서 사용자에게 서비스를 제공하는 소프트웨어 컴퓨터 하드웨어 프로세서 - CPU, GPU, 응용 전용 처리장치 등 메모리 - 주 기억장치, 보조 기억장치 등 주변장치 - 키보드/마우스, 모니터, 프린터, 네트워크 모뎀 등 프로세서 → 컴퓨터의 두뇌 (중앙처리장치) 연산 수행 컴퓨터의 모든 장치의 동작 제어 레지스터 → 프로세서 내부에 있는 메모리 프로세서가 사용할 데이터 저장 컴퓨터에서 가장 빠른 메모리 레지스터의 종류 용도에 따른 분류 - 전용 레지스터, 범용 레지스터 사용자가 정보 변경 가능 여부에 따른 분류 - 사용자 가시 레지스터, 사용자 불가시 레지스터 저장하는 정보의 종류에 따른 분류 - 데이터 레지스터, 주소 레지스터, ..
1. Vector란? - Vector는 동적 배열 구조를 C++로 구현한 것으로 맨 끝에서만 삽입 및 삭제가 일어나는 구조이다. 일반 배열과 차이점으로는 동적으로 크기가 변하고 메모리가 연속적이므로 자동으로 배열의 크기를 조절할 수 있고 유연하게 객체의 추가 및 삭제가 가능하다. 중간 데이터의 삭제도 erase함수를 통해 지원하지만, 삭제가 빈번히 일어나는 경우 연결리스트를 사용하는 것이 효율적. 쉽게 가변길이 배열이라고 생각할 수 있다. 2. Vector의 헤더파일 Vector STL을 사용하기 위해서는 #include 헤더파일을 포함해주어야 한다. 3. Vector의 선언 방법 1) 크기를 정하지 않은 경우 vector 이름; vector v; 2) 크기를 정하는 경우 vector 이름(크기); 기본..