본문 바로가기

전산 관련 시험/전산학(컴퓨터일반) 개념정리37

컴파일러, 인터프리터, 어셈블러 컴파일러란? 컴파일러는 특정 프로그래밍 언어를 다른 프로그래밍 언어로 옮기는 번역 프로그램이다 . 보통 high-level 프로그래밍 언어를 low-level language인 기계어, 어셈블리어 등으로 바꾸는데에 사용된다. 하지만 정의에서도 알 수 있듯, python을 c언어로 변역하는 프로그램도 컴파일러라고 할 수 있다. 컴파일러는 파일 전체를 한꺼번에 번역하여 번역한 결과를 컴퓨터가 실행가능한 목적 프로그램으로 저장한다. 컴파일러는 문법적인 에러가 발생하면 컴파일 단계에서 발생하게 되는데 이를 컴파일 에러라고 한다. 컴파일 에러가 발생하면 실행자체가 불가능하다. 따라서 컴파일 에러와 관련된 에러를 초기에 발견할 수 있다. 대표적인 컴파일러 언어 C,C++ 컴파일러의 장점 컴파일이 완료된 실행 파일은.. 2022. 6. 8.
CPU 스케줄링 CPU 스케줄링의 목적 CPU의 활용성을 극대화 시키는 것 ​ 스케줄링의 형태, 기법에는 비선점과 선점으로 구분된다. 비선점 : 프로세스가 자발적으로 CPU를 내주는 상태 선점 : 프로세스가 강제로 CPU를 내주는 상태 (ex 퀀텀이 종료되었을 때) ​ CPU 스케줄링이 일어나는 경우 1. Running에서 waiting state로 변하는 경우 ( 비선점 ) 2. Running에서 ready state로 변하는 경우 ( 선점 ) 3. waiting에서 ready상태로 변하는 경우 ( 선점 ) 4. 프로세스가 종료된 경우 ( 비선점 ) ​ 비선점시에는 별도의 문제가 발생하지 않는다. 하지만 선점의 경우에는 문제가 발생할 수 있다. 1. 공유 데이터에 대한 문제 ( ex 정보 수정 중 선점이 일어나면 데이.. 2022. 6. 8.
DMA(Direct Memory Access) 개념 [운영체제] DMA(Direct Memory Access) & 입출력 처리 방식 CPU 개입없이 메모리 접근하는 기법 CPU를 대신하여 I/O장치와 Memory사이의 데이터전송을 담당하는 장치를 지칭 CPU의 개입 없이 주변장치(입출력장치)와 주기억장치와의 데이터 전송이 이루어지는 방법을 통칭 CPU와 주기억장치만이 시스템 버스에 접근할 수 있고 입출력장치는 DMA와 같은 입출력 제어기에 의해 시스템 버스에 접근할 수 있다. DMA(Direct Memory Access)의 특징 CPU의 개입 없이 주변장치와 주기억장치와의 데이터 직접 전송 프로그램 수행 중 입출력을 위한 인터럽트의 발생 횟수를 최소화하여 컴퓨터 시스템의 효율을 높임 CPU는 DMA와 상태정보 및 제어정보만을 주고 받음 속도가 빠른 디스크.. 2022. 6. 8.
트랜잭션(Transaction) 관리자 📌트랜잭션(Transaction) 트랜잭션(Transaction)이란 하나의 작업을 수행하기 위해 데이터베이스에서 논리적인 작업의 단위 또는 한번에 모두 수행되어야 하는 일련의 연산을 말한다. 1. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변화 과정의 작업 단위이다. 2. 하나의 트랜잭션은 commit 과 rollback 명령어를 사용한다. - 커밋(commit) : 변경 사항을 DB에 정상적으로 반영한다, 반영 완료 - 롤백(rollback) : 작업 실패 시 트랜잭션 실행 전 상태로 되돌린다, 작업 취소 📌 트랜잭션의 특징 (ACID) 1. Atomicity(원자성) : 트랜잭션 구성하는 연산들은 모두 정상 실행되거나 모두 실행되지 않아야 함 2. Consistency(일관.. 2022. 6. 8.