CS

    3. 멀티 태스킹과 PCB와 컨텍스트 스위칭

    멀티 태스킹과 PCB와 컨텍스트 스위칭멀티 태스킹과 PCB와 컨텍스트 스위칭멀티 태스킹Context Switching(문맥교환)프로세스 제어 블록(Process Control Block, PCB)멀티 태스킹개념 : OS를 통해 CPU가 작업하는데 필요한 자원(시간)을 CPU 스케쥴링을 통해 여러 프로세스 또는 스레드간에 나누는 행위장점 : 이를 통해 여러 응용 프로그램을 동시에 열고 작업 할 수 있다.과정 : 여러 작업이 동시에 이루어지기 때문에 실제로 동시에 작업이 이루어지는 것 같지만 CPU는 한번에 한가지 명령어 밖에 처리하지 못한다. CPU의 작업속도가 빠르기 때문에, 프로세스들을 번갈아가며 실행하고 관리하는 것이 마치 동시에 하는 것처럼 보일 뿐이다. 이를 Context Switching(문맥교..

    2. 프로그램과 프로세스, 스레드

    프로세스와 스레드프로세스와 스레드프로그램, 프로세스 비교프로그램프로세스프로세스 상태 다이어그램프로세스 계층 구조프로세스 생성 기법스레드(Thread)스레드의 장점프로세스 vs 스레드스택을 스레드마다 독립적으로 할당하는 이유PC Register 를 스레드마다 독립적으로 할당하는 이유자바 스레드(Java Thread) 란Reference프로그램, 프로세스 비교프로그램 : 어떤 작업을 하기 위해 실행할 수 있는 파일 또는 프로그램프로세스 : 실행 중인, 즉 디스크로부터 메모리에 적재되어 CPU를 할당받아 처리되는 프로그램. 프로그램정의 : 어떤 작업을 하기 위해 실행할 수 있는 파일 또는 프로그램과정 : 프로그램이 실행되면 프로세스 인스턴스가 생성된다. 인스턴스가 생성된다는 의미는 프로그램 실행에 필요한 내용..

    1. 운영체제와 컴퓨터

    운영체제와 컴퓨터운영체제와 컴퓨터운영 체제란 무엇인가?[운영체제의 목적]1. 처리 능력2. 반환 시간3. 사용 가능도4. 신뢰도[ 운영체제의 역할 ]1. 프로세스 관리2. 저장장치 관리3. 네트워킹4. 사용자 관리5. I/O 디바이스 관리[운영체제의 종류]1. 윈도우즈2. UNIX3. LINUX4. MacOS5. Android6. iOS[참고 자료 및 주제와 관련하여 참고하면 좋은 곳 링크]Reference운영 체제란 무엇인가?운영 체제(OS, Operating System): 하드웨어와 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.즉, 운영 체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용..

    패캠 CS 강의 - 네트워크 - Part 1. 컴퓨터 네트워크 소개

    1. 컴퓨터 네트워크와 인터넷 1.1. 네트워크와 인터넷 1.1.1. 네트워크 1.1.2. 인터넷 1.1.3. OSI 7계층 (Layer) 1.1.4. TCP/IP (Transmission Control Protocol/Internet Protocol) 1.2. 그 밖에 자주 사용되는 용어들 1.2.1. IP 주소 (Address) 1.2.2. 패킷 교환 (Packet Switching) 1.3. 통신을 위한 기본 동작 1.3.1. 요청(Request) 1.3.2. 인지(Indicate) 1.3.3. 응답(Response) 1.4. 확인(Confirm) 2. 네트워크의 유형 2.1. LAN (Local Area Network) 2.2. WAN (Wide Area Network) 2.3. 크기 유형 3. ..

    인덱스

    인덱스(index)란? 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 데이터베이스에서도 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한 자료구조를 생성하여 빠르게 조회할 수 있도록 돕고 있다. 인덱스를 활용하면, 데이터를 조회하는 SELECT 외에도 UPDATE, DELETE의 성능이 함께 향상된다. 만약 index를 사용하지 않은 컬럼을 조회해야 하는 상황이라면 전체를 탐색하는 Full Scan을 수행해야 한다. Full Scan은 전체를 비교하여 탐색하기 때문에 처리 속도가 떨어진다. 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정력하여 별도의메모리 공간에 데이터의물리적 주소와 ..

    정규화

    정규화 목차 정규화란 이상 현상이란 정규화 단계 정규화의 장점 정규화의 단점 반정규화 정규화란 정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이타를 허용하지 않는다는 것이다. 중복된 정보로 인해 이상 현상이 발생하게 된다. 이러한 문제를 해결하기 위해 정규화 과정을 거치는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 테이블을 분해하는 정규화 단계가 정의되어 있으며, 테이블이 어떻게 분해되는지에 따라 정규화 단계가 달라진다. 이상 현상(Anomaly)이란 이상 현상이란 테이블에서 일부 속성들의 종속으로 인해 데이터의 중복이 발생하며 이 중복으로 인해 테이블 조작 시 문제가 생기는 현상을 의미 1...