1. 객체지향 프로그래밍이란? 1) 정의 프로그램을 단순히 데이터와 처리방법으로 나누는 것이 아니라, 수많은 객체라는 기본 단위들로 나누고 이들의 상호작용으로 서술하는 것을 지향하는 방식입니다.(즉, 프로그래밍의 방향성을 단순 데이터와 처리방식의 집합이 아닌, 객체들의 상호작용에 두는 관점입니다.) 여기서 객체란 하나의 역할을 수행하는 속성과 메소드의 묶음입니다. 물리적인 사물 혹은 추상적인 개념도 객체가 될 수 있습니다. *왜 지향인가? 프로그래밍을 모두 객체로 바라보는 것이 좋을 수도 있지만 나쁠 수도 있습니다. 왜냐하면 프로그래밍은 실제 세계와 완벽히 같지 않아서 객체로 표현이 안될 수도 있기 때문이입니다. 이에 '지향'이라는 단어를 사용합니다. 2) 장단점? 장점 코드 유지 보수 및 확장이 쉽다...
1. 운영체제란? 목적? 분류? 2. 인터럽트란? 컴퓨터 시스템 동작원리로 알아보자. 3. 하드웨어, 메모리 및 메모리 보안 방법? 4. 프로그램의 구조, 실행 과정? 5. 인터럽트, 문맥 교환(컨택스트 스위칭), PCB 정의와 차이? 6. 프로세스란? 5 or 6가지 상태? 스케줄러? 7. 프로세스 생성? 자식 부모 관계를 이용한 협력? 8. 스레드, 멀티스레드란? 프로세스와의 차이? 9. CPU 스케줄링란? 종류 평가 기준? 10. ''업데이트 예정" 1. 스레드란? 정의: 프로세스 내에서 실제로 작업을 수행하는 주체.(출처: TCP School), 프로세스 내 실행 단위.(출처: 위키백과) 스레드는 스레드 ID, 레지스터 세트, 프로그램 카운터, 스택으로 구성됩니다. 2. 스레드 특징? - 프로세스..
1. 운영체제란? 목적? 분류? 2. 인터럽트란? 컴퓨터 시스템 동작원리로 알아보자. 3. 하드웨어, 메모리 및 메모리 보안 방법? 4. 프로그램의 구조, 실행 과정? 5. 인터럽트, 문맥 교환(컨택스트 스위칭), PCB 정의와 차이? 6. 프로세스란? 5 or 6가지 상태? 스케줄러? 7. 프로세스 생성? 자식 부모 관계를 이용한 협력? 8. 스레드, 멀티스레드란? 프로세스와의 차이? 8. CPU 스케줄링란? 종류 평가 기준? 9. ''업데이트 예정" 1. 프로세스 생성? 생성 주체 - 운영체제: 컴퓨터를 시작하면 바로 시작되는 프로그램. - 이미 존재하는 프로세스: 운영체제에 의해 실행되는 프로세스 다음에 실행되는 모든 프로세스. 자원 획득 방법 운영체제의 자원 획득 방법은 크게 두가지가 있다. 대부..
1.네트워크와 종류(LAN, WAN, 인터넷) 및 ISP란? 2. 월드와이드웹(WWW), 프로토콜(Protocol)이란? 3. OSI 7계층, TCP/IP 모델이란? 개념 및 존재 이유? 4. 이더넷이란? 통신 방식? 전송 제어? 5. 무선 LAN(랜)이란? 통신 방식? 전송 제어? 5. 라우팅이란? 통신 방식? 6. www.naver.com 사이트 접속 시 일어나는 일? 이더넷과 무선랜에 대해 알아보기전에 간단하게 네트워크 인터페이스 계층에 대해 짚고 가겠다. 이더넷과 무선랜은 네트워크 인터페이스 계층에서 동작하는 프로토콜이기 때문이다. What is 이더넷? 1. 네트워크 인터페이스층 - 정의: TCP/IP 모델에서 같은 네트워크에 있는 호스트끼리 데이터를 송수신 하는 계층. 인터넷 계층의 IP 패킷..
1. 운영체제란? 목적? 분류? 2. 인터럽트란? 컴퓨터 시스템 동작원리로 알아보자. 3. 하드웨어, 메모리 및 메모리 보안 방법? 4. 프로그램의 구조, 실행 과정? 5. 인터럽트, 문맥 교환(컨택스트 스위칭), PCB 정의와 차이? 6. 프로세스란? 6가지 상태? 스케줄러? 7. 프로세스 생성? 자식 부모 관계를 이용한 협력? 8. 스레드, 멀티스레드란? 프로세스와의 차이? 8. CPU 스케줄링란? 종류 평가 기준? 9. ''업데이트 예정" 1. 프로세스란? - 정의: 프로그램을 구동하여 프로그램의 상태 혹은 그 자체가 메모리 상에서 실행되는 작업 단위(출처: 위키백과) 모든 멀티프로그래밍은 프로세스의 개념을 기반으로 동작한다. 프로세스는 시분할 시스템의 최소 작업 단위이기 때문이다. 이때 프로그램이..
1. 운영체제란? 목적? 분류? 2. 인터럽트란? 컴퓨터 시스템 동작원리로 알아보자. 3. 하드웨어, 메모리 및 메모리 보안 방법? 4. 프로그램의 구조, 실행 과정? 5. 인터럽트, 문맥 교환(컨택스트 스위칭), PCB 정의와 차이? 6. 프로세스란? 6가지 상태? 7. 스레드, 멀티스레드란? 프로세스와의 차이? 8. CPU 스케줄링란? 종류 평가 기준? 9. ''업데이트 예정' 1. 인터럽트란? 인터럽트 종류? 정의: 인터럽트란 프로세서가 현재 실행하는 코드를 방해하여, 발생한 이벤트에 대한 처리를 요구하는 행위다.(출처: 위키피디아). 바로 이해가 되지 않는다면 2. 인터럽트란? 컴퓨터 시스템 동작원리로 알아보자.를 읽고 오자:) 1) 하드웨어 인터럽트 - 하드웨어 인터럽트는 외부 장치에 의해 설정..
1. 운영체제란? 목적? 분류? 2. 인터럽트란? 컴퓨터 시스템 동작원리로 알아보자. 3. 하드웨어, 메모리 및 메모리 보안 방법? 4. 프로그램의 구조, 실행 과정? 5. 인터럽트, 문맥 교환(컨택스트 스위칭) 정의와 차이? 6. 프로세스란? 6가지 상태? PCB? 7. 스레드, 멀티스레드란? 프로세스와의 차이? 8. CPU 스케줄링란? 종류 평가 기준? 9. ''업데이트 예정' 1. 프로그램 구조 - 프로그램의 구조에 대해 알려면 우선 프로세스에 대해 알야한다. 프로세스란 프로그램이 실행되기 위해 메모리에 공간을 할당 받은 프로그램을 프로세스라고 한다. 이때 해당 프로세스가 cpu를 할당 받아 Instruction을 실행하면, 이를 '프로세스가 실행중이다.'라고 말한다. 그렇다면 메모리에 올라간 프로..
OSI 7계층 모델과 TCP/IP 모델 모두 전송 계층을 명시적으로 가지고 있다. 이는 전송 계층의 역할이 분명하고 중요하다는 것을 암시한다. 전송계층이란 무엇일까? 왜 필요할까? 지금 알아보자. 1. 전송 계층의 존재 이유 1) 오류 점검 기능 여기 TCP/IP모델이 있다. TCP/IP 모델은 크게 3가지 파트로 나뉘어질 수 있다. Application/Transport/Internet, Network Interface. 애플리케이션 층은 유저와 소통하는 층, 인터넷, 네트워크 층은 목적지까지 데이터를 보내는 층이다. 이때 두 층 모두 데이터의 신뢰성에 대해서는 신경쓰지 않는다. 각 층이 모두 캡슐화된 채로 분업화가 되어있기 때문이다. 이에 데이터가 목적지까지 제대로 갔는지 확인하기 위한 층이 필요하다..