[데이타베이스론] CH1. 데이타베이스 환경
·
Computer Science/데이터베이스
정보 처리 시스템 (1) 정보와 데이타 데이타 ≠ 정보 -데이타(data) : 관찰이나 측정 ~> 수집된 사실(facts)이나 값(values: 수치, 스트링) -정보(information) 데이터 처리한 결과 : 의사결정을 할 수 있게 하는 데이타의 해석이나 데이타 상호간의 관계_의미(meaning) 정보 처리, 자료 처리 : 정보 추출 방법 정보 처리 시스템 (2) 정보 시스템(Information System) -한 기관을 위해 데이타를 수집, 조직, 저장하고 정보를 생성, 분배하는 수단 -응용 시스템(Application System) 한 부서를 위한 서브 시스템 응용 프로그램(application program)으로 구성 정보시스템 안 여러 부서 → 서브 시스템 정보 처리 시스템 (3) 정보 시..
CH7. Memory Management
·
Computer Science/컴퓨터구조 | 운영체제
#Background 메인 메모리, 레지스터_CPU가 직접 접근할 수O 유일한 저장장치 ㄴ프로그램이 실행되기 위해 -> 메모리로 적재 -메모리 하드웨어 ㄴ주소 + 데이터 읽기 요청/ 주소 + 데이터 쓰기 요청 -기본 하드웨어 레지스터 접근 -> 1 CPU clock 필요 / 메인 메모리; 사이클 ↑ 필요 + 멈춤현상(stall) 발생 / 캐시(Cache); 메인 메모리, CPU 레지스터 사이 존재 올바른 연산 보장 -> 메모리 보호 요구 *기준(Base) 및 상한(Limit) 레지스터 : 논리 주소 공간 정의 CPU_사용자 모드에서 생성 모든 메모리 주소 -> 사용자 기준, 상한 범위에 속하는 지 검사 *하드웨어 주소 보호 메모리 공간의 보호 : CPU 하드웨어가 사용자 모드에서 만들어진 모든 주소와 레..
CH6. CPU Scheduling
·
Computer Science/컴퓨터구조 | 운영체제
#Basic Concepts CPU 스케줄링: 다중 프로그램 운영체제의 기본 ㄴ다중 프로그램 목적: CPU 이용률 최대화 *CPU-I/O Burst Cycle 프로세스 실행: CPU 실행-입출력 대기의 사이클(CPU burst -> I/O burst) -CPU-burst 시간의 히스토그램 주요 관심사: CPU burst 분포 ㄴ짧은 CPU burst ↑ (입출력 중심의 프로그램이 전형적으로 가짐) *CPU 스케줄러(Short-term scheduler) : CPU가 유휴 상태 시, 준비 큐에 있는 프로세스들 중 하나의 프로세스 선택 CPU를 그 프로세스에게 할당/ 큐는 다양한 방식으로 정렬 가능O -CPU 스케줄링 결정이 발생하는 4가지 상황 1) running -> waiting 2) running -..
CH5. Process Synchronization
·
Computer Science/컴퓨터구조 | 운영체제
#배경 *프로세스는 병행 OR 병렬도 실행 데이터의 비일관성 : 언제든지 실행 중 인터럽트 당할 수 있고 부분적으로 완료될 수 있다 *문제 상황 협력적인 순차적 프로세스 OR 스레드로 구성된 시스템 비동기적으로 수행하면서 데이터 공유 ㄴ생산자-소비자 문제: 메모리 공유(=유한 버퍼) *Problem: Producer/ Consumer 문제: 동기화를 위해 (BUFFER_SIZE – 1)개 까지만 버퍼 사용 -Producer while (true) { /* produce an item in next produced */ while (((in+1) % BUFFER SIZE) == out); /* do nothing */ buffer[in] = next_produced; int = (in + 1) % BUFF..
CH4. Threads
·
Computer Science/컴퓨터구조 | 운영체제
#개요 : CPU 이용 기본 단위 여러 작업하는 응용프로그램 -> 각 작업 별 스레드 생성 + 구현 *장점 프로세스 생성은 스레드 생성에 비해 할 일 ↑ + 시간 ↑ => 스레드 사용 시 코드 간결 + 효율 ↑ ex. 워드 프로세서 (그래픽 표시 스레드/ 키보드 입력 받는 스레드/ 철자법과 문제 체크 스레드) *다중스레드 서버 아키텍처 ex. 웹 서버 클라이언트 요청을 listen하는 별도 스레드 생성 요청 -> 요청 서비스할 새로운 스레드 생성 대부분의 현대 응용프로그램은 다중스레드 사용 공유: 코드와 데이터 섹션, 자원(열린 파일 OR 신호) 각자 소유: 스레드 ID, 프로그램 카운터, 레지스터 집합, 스택 #이점 -응답성(Responsiveness) : 프로세스의 일부가 블록 되더라도 계속 실행 가..
CH3. Process
·
Computer Science/컴퓨터구조 | 운영체제
#프로세스 개념 운영체제 다양한 프로그램 실행 ㄴ시분할 시스템_사용자 프로그램(user programs) OR 태스크(tasks) *프로세스(Process) -실행 중인 프로그램 : 프로그램 카운터와 프로세스 레지스터를 포함한 현재 진행 중인 활동 -프로세스의 실행; 순차적 형태 진행 -다양한 부분 텍스트 섹션(text section): 프로그램 코드 스택(stack): 임시 데이터 저장(e.g. 함수 매개변수, 복귀 주소, 지역 변수) 데이터 섹션(data section): 전역 변수 힙(heap): 실행 중 동적으로 할당되는 메모리 영역 프로그램; 디스크에 저장된(실행 파일) 수동적(passive) 개체 프로세스; 능동적 개체_실행 파일이 적재될 때 프로그램은 프로세스가 됨 프로그램 실행 방법 : 아..
0123suh
'Computer Science' 카테고리의 글 목록 (10 Page)