중복성때문에 발생하는 문제(Anomaly) - 갱신 이상(update anomaly) 중복된 데이터 중 하나를 갱신할 때 나머지 다른 행과 불일치(inconsistency) 발생 - 삽입 이상(insertion anomaly) 어떤 데이터 값을 모르면, 입력이 어려운 경우 발생 어떤 정보를 저장하려면, 다른 정보도 같이 저장해야 하는 경우 발생 - 삭제 이상(deletion anomaly) 어떤 정보를 지우면, 다른 정보도 같이 상실되는 경우 발생 한 릴레이션 스키마가 자연스럽지 않은 속성들간의 연관을 억지로 함께 명시할 때에 중복 발생. 함수 종속 관계를 이용하여, 중복 여부를 판단할 수 있고 스키마의 정제가 필요함을 알 수 있음 키가 아닌 속성들간에 함수 종속관계가 있으면, 일반적으로 데이터의 중복 ..
운영체제 진입점: CPU의 PC 레지스터 값이 운영체제가 적재된 메모리 주소로 변경되는 사건을 말한다. 즉, 운영체제가 실행되는 사건을 의미한다. 다음 세 가지의 경우에 운영체제 진입점이 발생한다. - 시스템 호출(System Call): 사용자 프로그램과 운영체제 사이의 인터페이스 채널. 예) open(), read(), write(), - 인터럽트(Interrupt): CPU와 입출력 장치 사이의 인터페이스 채널. 예) 마우스, 키보드, 하드 디스크 인터럽트 - 예외현상(Exception): CPU 내부에서 발생하는 시스템 오류. 예) Divide by Zero, Page Fault … 이중 모드 : 다중 프로그래밍 환경에서 운영체제를 보호하기 위하여 이중 모드로 설계 - 사용자 모드: 사용자 프로그..
운영체제의 기능 - CPU 관리: 프로그램 실행 및 종료, 프로그램들 간의 CPU 공유 등의 기능 - 메모리 관리 : 메모리의 사용 영역과 빈 영역을 유지 및 관리하여 새로운 영역의 요구와 사용 영역의 반납 등의 기능 - 파일 관리 : 사용자의 요청에 따라 파일을 보조 기억장치에 저장하고, 보조기억 장치로부터 파일을 읽어 들이는 기능 - 입출력 장치 관리 : 실행 중인 프로그램에서 필요로 하는 입출력 장치들을 사용할 수 있도록 관리하는 기능 - 네트워킹 : 서로 다른 컴퓨터 시스템 간의 통신을 위한 네트워킹 기능 - 보호 : 효율적인 자원관리 위해 공유하는 자원에 대한 보호 기능 - 오류 처리와 복구 : 컴퓨터 시스템의 오류를 탐지하며, 이를 복구하거나 사용자에게 경고하는 기능

다중 프로그래밍 (multi-programming) CPU의 이용률을 극대화하기 위하여 고안된 기법으로써 운영체제 발전과정의 커다란 전환점이 되었다. (운영체제가 다중 프로그래밍을 구현) 하나의 프로그램이 실행되는 과정에서 입출력 요구가 발생하게 되면, 그 사건 처리가 완료될 때까지 CPU는 유휴 상태에서 기다리게 된다. 이 시간을 “CPU의 유휴 시간(idle time)”이라고 한다. (ex: C언어에서 printf(), scanf() 호출 시 CPU는 유후 상태가 됨) CPU의 유휴 시간을 활용하기 위하여 여러 개의 프로그램들을 메모리에 적재시켜 놓고 한 프로그램에서 입출력 요구가 발생하면 다른 프로그램으로 CPU 사용을 전환함으로써 CPU의 이용률을 향상시키는 것이다. 컴퓨터 시스템에서 단위 시간당..

컴퓨터 시스템의 하드웨어는 CPU, 메모리, 입출력 장치들로 구성되어 있다. 중앙처리장치(CPU: Central Processing Unit): 명령어를 처리한다. IP(Instruction Pointer) 혹은 PC(Program Counter) 레지스터를 이용하여 CPU가 처리해야 할 명령어의 메모리 주소를 저장한다. CPU는 전원이 ON되는 순간부터 OFF될 때까지, IP 혹은 PC 레지스터가 가리키는 곳의 메모리에 저장된 명령어 처리하기를 반복한다. IBM PC의 부팅 과정 * CPU의 PC 레지스터 이름 -> CS : EIP * PC 레지스터의 초기 값은 -> F000:FFF0 (=FFFF0) 1) ROM-BIOS(Basic Input Output System) 2) Boot Program(운영..

운영체제의 의미 - 일반적으로 응용 프로그램의 실행을 제어하고, 입출력 장치와 사용자 사이의 인터페이스 역할을 하는 프로그램 - 사용자 관점으로 컴퓨터 시스템을 보다 편리하게 사용할 수 있는 환경을 제공해 주는 프로그램 - 관리자 관점으로 컴퓨터 시스템의 자원들을 효율적으로 이용할 수 있도록 제어해 주는 프로그램 - 시스템 관점으로 컴퓨터 시스템이 보유하고 있는 자원들을 효율적으로 관리하고 사용자에게 편의성을 제공하기 위하여 CPU 관리, 메모리 관리, 파일 관리, 입출력 장치 관리, 그리고 사용자 인터페이스를 담당하는 루틴들이 유기적으로 결합된 프로그램 운영체제의 목적 1) 자원의 효율적 관리: 자원에는 CPU, 메모리, 디스크, 프린터, 키보드 등과 같은 하드웨어와 파일, 서비스 루틴과 같은 소프트웨..

- 시스템 공간(계층 1 ~ 4): 운영 체제에서 동작 TCP, UDP는 커널 내부에 구현 사용자는 소켓 인터페이스를 이용하여 호출 후 사용 - 사용자 공간(계층 5 ~ 7): 사용자 프로그램으로 동작 - TCP/UDP: 사용자 데이터를 전송하는 전송 계층 프로토콜 - IP: 사용자 데이터를 전송하는 네트워크 계층 프로토콜 - ARP와 RARP ARP: IP 주소를 MAC 주소로 변환 RARP: MAC 주소를 IP 주소로 변환 - ICMP 오류 메시지를 전송하는 프로토콜 IP 프로토콜에 캡슐화되어 전송됨

OSI 7 계층 모델 - 계층 n 프로토콜: 계층 n 모듈끼리 사용하는 통신 규칙 - 동료 프로세스(peer process): 동일 계층에 위치한 통신 양단 프로세스 - 인터페이스: 상하위 계층 사이의 접속 방법 - 서비스 : 하위 계층이 상위계층에 제공하는 기능 - 송신 호스트: 데이터가 상위 계층에서 하위 계층으로 갈수록 헤더 추가 - 수신 호스트: 데이터가 하위 계층에서 상위 계층으로 갈수록 헤더 제거 중계 기능(라우팅, Routing) : 경로 배정 기능 - 1계층 : 하드웨어 시스템으로 구성 - 2, 3, 4계층 : 운영체제로 구성 - 5, 6, 7계층 : 사용자 프로그램으로 구성 물리 계층(Physical Layer) - 개별 정보의 비트(bit) 교환 문제를 처리 - 데이터 전송 속도, 클록..