CPU 스케줄링이란? 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것! 프로세스 우선순위 입출력 작업이 많은 프로세스(=입출력 집중 프로세스)의 우선순위는 CPU작업이 많은 프로세스(=CPU집중 프로세스)의 우선순위보다 높다 스케줄링 큐 CPU를 사용하고 싶은 프로세스들,메모리에 적재되고 싶은 프로세스들,특정 입출력장치를 사용하고 싶은 프로세스들을 모두 줄을 세우는 것 준비 큐 CPU를 이용하고 싶은 프로세스들이 서는 줄 대기 큐 입출력장치를 이용하기 위해 대기상태에 접어든 프로세스들이 서는 줄 같은 장치를 요구한 프로세스들은 같은 큐에서 대기우선수위가 낮은 프로세스들이 먼저 큐에 삽입 되어 줄을 섰다 할지라도, 우선수위가 높은 프로세스는 그들보다 먼저 처리될 수 있다 선점형과 비..
스레드는 프로세스를 구성하는 실행 흐름의 단위! 하나의 프로세스는 하나 이상의 스레드를 가질 수 있다 하나의 실행 흐름을 가지고 한 번에 하나의 부분만 실행 : 단일 스레드 프로세스 프로세스가 한 번에 여러 일을 동시에 처리한다 : 멀티스레드 프로세스 스레드를 이루는 구성 요소 및 특징 스레드 ID , 프로그램 카운터,레지스터 값, 스택 등이 있다 쉽게 말해 실행에 필요한 최소한의 정보를 가지고 있다 모든 스레드들은 프로세스의 자원을 공유 한다 멀티 프로세스와 멀티 스레드 동일한 작업을 수행하는 단일 스레드 프로세스 여러 개 실행 VS 하나의 프로세스를 여러 스레드로 실행 아래 내용을 참고! 멀티 프로세스 프로세스는 스레드처럼 서로 자원을 공유하지 않는다 프로세스를 fork 하면 코드/데이터/힙 영역 등..
프로세스 상태 생성 상태 이제 막 메모리에 적재되어 PCB를 할당 받은 상태 준비가 완료되었다면 준비 상태로! 준비 상태 당장이라도 CPU를 할당 받아 실행할 수 있지만 자신의 차례가 아니기에 기다리는 상태 자신의 차례가 된다면 실행 상태로!(디스 패치 라고도 함) 실행 상태 CPU를 할당 받아 실행 중인 상태 할당된 시간 모두 사용 시(타이머 인터럽트 발생 시) 준비 상태로 실행 도중 입출력장치를 사용하면 입출력 작업이 끝날 때까지 대기 상태로! 대기 상태 프로세스가 실행 도중 입출력장치를 사용하는 경우 입출력 작업은 CPU에 비해 느리기에 이 경우 대기 상태로 접어듬 입출력 작업이 끝나면 (입출력 완료 인터럽트를 받으면) 준비 상태로! 종료 상태 프로세스가 종료된 상태 PCB와 프로세스가 사용한 메모..
프로세스 직업 확인하기 포그라운드 프로세스 사용자가 볼 수 있는 공간에서 실행되는 프로세스 백그라운드 프로세스 사용자가 볼 수 없는 공간에서 실행되는 프로세스 프로세스 제어 블록(PCB) 모든 프로세스는 실행을 위해 CPU가 필요하다 하지만 CPU의 자원은 한정되어 있다 프로세스들은 돌아가며 한정된 시간 만큼만 CPU 이용 - 자신의 차례에 정해진 시간만큼 CPU 이용 - 타이머 인터럽트가 발생하면 차례 양보 빠르게 번갈아 수행되는 프로세스들을 관리해야 함 이를 위해 사용하는 자료구조가 프로세스 제어 블록(PCB) - 프로세스 관련 정보를 저장하는 자료구조 - 마치 상품에 달린 택과 같은 정보 - 프로세스 생성 시 커널 영역에 생성, 종료시 폐기 프로세스 제어 블록(PCB)에 담기는 대표적인 정보 프로..
운영체제란 모든 프로그램은 실행을 위해 자원(resource)을 필요로 한다 자원/시스템 자원 - 프로그램 실행에 있어 마땅히 필요한 요소 - 컴퓨터의 네 가지 핵심 부품 포함! 즉 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램 메모리속 커널 영역 : 운영체제가 항상 적재되어 있는 영역 메모리속 사용자 영역 : 응용 프로그램(application)이 적재되는 영역 운영체제의 역할 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리함 운영체제는 최대한 공정하게 여러 프로그램에 CPU자원을 할당해 준다 실행 할 프로그램들이 지켜야 할 규칙을 만들어 컴퓨터 시스템 전체를 관리한다 운영체제의 심장..
SQL(Structured Query Langauge) 관계 데이터베이스를 의한 표준 질의어 1974년 IBM연구소에서 데이터베이스 시스템, "시스템 R"을 질의하기 위해서 만들어진 구조화된 언어 SQL의 분류 데이터 정의어(DDL) 테이블을 생성하고 변경,제어하는 기능을 제공 CREATE : 테이블 생성 ALTER : 테이블 변경 DROP : 테이블 삭제 데이터 조작어(DML) 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정,삭제,검색하는 기능을 제공 SELECT : 데이터 검색 시 사용 INSERT : 데이터 입력 UPDATE : 데이터 수정 DELETE : 데이터 삭제 데이터 제어어(DCL) 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능을 제공..
느낌표 갯수만큼 어렵다는 뜻 정규화의 개념과 이상현상 이상 현상 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입,수정,삭제 연산을 수행할 때 발생할 수 있는 부작용 이상현상의 종류 삽입 이상 : 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 이벤트 참여 릴레이션에 신규 고객을 가입하려 한다.하지만 이 고객이 참여한 이벤트가 아직 없다면 이벤트 참여 릴레이션에 이고객에 대한 데이터를 삽입할 수 없다 갱신 이상 : 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 아이디가 apple인 고객의 등급이 gold->vip로 변경된다면 이 고객에 대한 투플 3개의 등급 속성값이 모두 변경 되어야 한다 삭제 이상 : 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되..
관계 데이터 모델이란? 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장 관계 데이터 모델의 기본 용어 릴레이션 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것 파일 관리 시스템 관점에서 파일(file)에 대응 속성 릴레이션의 열을 속성 또는 어트리뷰트라고 부른다 파일 관리 시스템 관점에서 필드(field)에 대응 투플 릴레이션의 행 파일관리 시스템 관점에서 레코드(record)에 대응 도메인 하나의 속성이 가질 수 있는 모든 값의 집합 - ex)Int,Char(10),Char(20) ... 속성 값을 입력 및 수정할 때 적합성의 판단 기준이 됨 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의 널 값 속성 값을 아직 모르거나 ..