Computer Science

Computer Science/운영체제

5. 프로세스 동기화

1-1. 프로세스 간 통신의 개념프로세스 간 통신의 종류공유 메모리나 공유 파일을 이용한 통신일정한 메모리 영역이나 파일을 공유하고 이를 통해 데이터를 주고받음가장 원시적파이프를 이용한 통신파이프는 프로세스 간 통신을 위해 OS가 제공하는 통신 기법fork()로 만들어진 부모-자식 간에 사용됨소켓을 이용한 통신소켓은 네트워크로 연결된 컴퓨터에서 데이터를 주고받기 위한 통신 기법초기화할 내용도 많고 시스템 자원도 많이 사용하므로 같은 컴퓨터에서 소켓 통신을 하는 것은 비효율적1-2. 프로세스 간 통신의 종류파일을 이용한 통신파일 열기open(”com.txt”, O_RDWR): com.txt 파일을 읽기, 쓰기가 가능한 상태로 준비, open 함수는 파일에 접근할 수 있는 권한인 파일 기술자 fd를 사용자에..

Computer Science/객체 지향 프로그래밍

객체 지향 프로그래밍(Object-Oriented Programming)의 요소

객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그램을 객체의 모임으로 보는 프로그래밍 패러다임이다. 여기서 객체는 데이터와 이를 처리하는 메서드를 포함하고 있는 하나의 단위로 볼 수 있다.이 OOP를 이루기 위해서 가지는 여러 가지 요소가 있으며, 주요 요소들은 다음과 같다.1. 클래스와 객체클래스(Class): 클래스는 객체를 정의하는 틀 또는 설계도라고 할 수 있다. 클래스는 객체의 속성과 행위를 정의한다.객체(Object): 객체는 클래스의 인스턴스(instance)로 설계도인 클래스를 바탕으로 실제 사용할 수 있게 만든 구현체라고 할 수 있다.2. 캡슐화(Encapsulation)캡슐화는 객체의 속성과 메서드를 하나로 묶고, 객체의 내부 상태를 외부에서 직..

Computer Science/운영체제

4. CPU 스케줄링

1. CPU 스케줄링스케줄링의 단계고수준 스케줄링: 전체 시스템의 부하를 고려하여 작업을 시작할지 말지 결정중간수준 스케줄링: 시스템에 과부하가 걸려서 프로세스 수를 조절해야 한다면 이미 활성화된 프로세스 중 일부를 보류 상태로 보냄저수준 스케줄링: 실제 작업 수행스케줄링의 목적공평성: 모든 프로세스가 자원을 공평하게 배정받아야 함효율성: 시스템 자원이 유휴 시간없이 사용되도록 해야하고, 유휴 자원을 사용하려는 프로세스에 우선권을 줘야함안정성: 우선순위를 사용하여 중요 프로세스가 먼저 작동하도록 배정함으로써 시스템 자원을 점유하거나 파괴하려는 프로세스로부터 자원을 보호해야함확장성: 프로세스가 증가해도 안정적으로 작동하게 해야함반응 시간 보장: 시스템은 적절한 시간안에 프로세스의 요구에 반응해야함무한 연기..

Computer Science/운영체제

3. 프로세스와 스레드

1-1. 프로세스프로그램특정한 목적을 수행하기 위한 명령어, 데이터의 집합프로세스실행을 위해 메모리에 올라온 동적인 상태일괄 작업 방식큐로 작업을 처리, 먼저 들어온 작업을 처리해야 뒤에 들어온 작업을 할 수 있기 때문에 작업 효율이 떨어짐시분할 방식시간을 배분하여 작업을 처리, 여러 작업을 순서에 상관없이 번갈아 가면서 수행할 수 있음1-2. 프로그램 → 프로세스 전환프로세스 제어 블록(PCB; Process Control Block)프로그램이 프로세스로 전환될 때 운영체제가 만드는 작업 지시서PCB의 유무가 프로세스가 되거나 종료되거나를 결정PCB가 가진 대표적 정보프로세스 구분자(PID; Process IDentification): 각 프로세스를 구분하는 구분자메모리 관련 정보: 프로세스의 메모리 ..

Computer Science/운영체제

2. 컴퓨터 구조와 성능 향상

1-1. 하드웨어의 구성컴퓨터의 구성필수장치: CPU, 메인메모리주변장치: 입력장치, 출력장치, 보조기억장치저장장치메인메모리보다 느리지만 저렴하고 용량이 큼데이터를 영구적으로 저장종류자성 이용: 카세트테이프, 플로피디스크, 하드디스크 등레이저 이용: CD, DVD, 블루레이디스크 등메모리(램) 이용: USB 메모리, SD 카드, CF 카드, SSD 등속도: 레지스터 > 캐시 메모리 > 메인메모리 > 버퍼 > 보조기억장치메인보드CPU와 메모리 등의 다양한 부품을 연결하는 판장치들을 bus로 연결함1-2. 폰노이만 구조CPU, 메인메모리, 입출력장치, 보조기억장치가 버스로 연결되어 있는 구조보조기억장치에서 메인메모리로 가지고 올라와야 실행 가능 → 병목현상 발생1-3. 기초 용어8bit = 1Byte, 1B..

Computer Science/운영체제

1. 운영체제 개요

1-1. 운영체제란?컴퓨터 전체를 관리 및 운영하는 시스템 소프트웨어하드웨어와 응용프로그램 관리 ex)PC 운영체제: Windows, mac, unix, linux, ms-dos 등모바일 운영체제: Android, iOS, 심비안, 타이젠, 바다 등1-2. 운영체제 정의커널(Kernerl)과 인터페이스(Interface)로 나뉨.커널1. 운영체제의 핵심 기능을 모아놓은 것으로 모든 컴퓨터의 자원을 관리.2. 커널을 통해서만 컴퓨터 자원에 접근 가능1-3. 운영체제 역할역할자원 관리: 컴퓨터 시스템 자원을 응용프로그램에 나눠줌, 여러 개의 프로그램이면 적당한 순서로 배분, 적절한 시점에 회수 후 다른 응용프로그램에 나눠줌자원 보호하드웨어 인터페이스 제공: 사용자가 간단히 장치를 사용할 수 있게 하드웨어 인..

sngyng
'Computer Science' 카테고리의 글 목록