[OS]프로그램, 프로세스, 프로세서
·
CS/운영체제
프로그램(Program)저장장치에 저장되어 있는 정적인 소프트웨어실행 가능한 소프트웨어컴파일 언어 기반의 소프트웨어일 경우 main() 함수가 반드시 존재하는 소프트웨어main()이 없다면, 라이브러리(library) 등으로 분류프로세스(Process)실행을 위해 메모리에 올라온 동적인 상태메모리에 로드(load)되어 주기적으로 CPU에 의해 처리되는 소프트웨어프로세스 제어 블록(PCB)을 할당받음동음어: 태스크(task), 잡(job)프로세서(Processor)명령을 실행하는 하드웨어예시: CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit)
[OS]일괄 작업 방식, 시분할 방식
·
CS/운영체제
이 글에서는 컴퓨터 시스템의 작업 처리 방식을 요리사 모형으로 설명하려고 한다. 즉, 컴퓨터가 여러 작업을 처리하는 방식을 요리사가 여러 주문을 처리하는 과정에 빗대어 이해하기 쉽게 설명할 것이다.일괄 작업 방식개념일괄 작업 방식은 주문서를 받은 순서대로 요리를 진행하는 방식이다.모든 주문은 큐(queue)와 같이 먼저 들어온 순서대로 처리된다.현재 손님의 식사가 끝나야 다음 손님의 주문을 처리할 수 있으므로, 한 번에 한 작업씩 처리된다.특징순차적 처리: 모든 주문이 들어온 순서대로 처리되어, 일괄적으로 작업이 완료된다.처리 속도 저하 가능: 한 손님의 식사가 완료되어야 다음 주문으로 넘어가기 때문에, 전체 작업 효율이 떨어질 수 있다.단순성: 구현과 관리가 비교적 단순하지만, 동시 작업이 어려워 속도..
[OS]멀티 프로세스(Multi Process), 멀티 코어(Multi-Core)
·
CS/운영체제
멀티 프로세스(Multi Process) 개념멀티 프로세스 시스템은 컴퓨터의 성능을 높이기 위해 여러 개의 프로세서를 사용하는 방식이다. 각 프로세서는 독립적인 레지스터와 캐시를 가지고 있으며, 모든 프로세서는 시스템 버스를 통해 메인 메모리를 공유한다.특징여러 개의 독립적인 프로세서가 병렬로 작업 수행각 프로세서는 개별적인 캐시와 레지스터 보유프로세서 간의 통신 및 동기화가 필요함 (메모리 공유 방식)성능 향상을 위해 프로세서 추가 가능하지만, 하드웨어적 비용 증가멀티 코어(Multi-Core) 개념멀티 코어 시스템은 하나의 CPU 내부에 여러 개의 코어(Core)를 탑재하여 병렬 처리를 수행하는 방식이다. 각 코어는 CPU의 주요 기능을 담당하며, 멀티태스킹과 병렬 연산 성능을 향상시킨다.특징하나의 ..
[OS]폴링(Polling), 인터럽트(Interrupt)
·
CS/운영체제
폴링 방식(Polling)CPU가 직접 입출력장치에서 데이터를 가져오거나 내보내는 방식CPU가 입출력장치의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 데이터를 처리반복적인 모니터링 작업으로 인해 작업 효율이 떨어짐인터럽트 방식(Interrupt)입출력 관리자가 대신 입출력을 해주는 방식CPU의 작업과 저장장치의 데이터 이동을 독립적으로 운영하여 시스템의 효율을 높임데이터의 입출력이 이루어지는 동안 CPU가 다른 작업을 할 수 있음인터럽트입출력 관리자가 CPU에 보내는 이벤트 신호마우스를 움직이거나 클릭, 키보드 입력 등인터럽트 번호많은 주변장치 중 어떤 것에 이벤트가 발생되었는지를 CPU에 알려주기 위해 사용하는 번호윈도우 운영체제에서는 IRQ라 부름인터럽트 벡터여러 개의 입출력 작업을 한꺼번에..
[OS]성능 향상 기법
·
CS/운영체제
버퍼(buffer)버퍼란속도 차이가 있는 두 장치 사이에서 데이터를 모아서 전송하는 임시 저장 공간버퍼의 역할데이터 전송 최적화: 데이터를 한꺼번에 전송하여 성능을 향상CPU와 입출력 장치 간 속도 차이 완화: 빠른 장치와 느린 장치 사이에서 속도를 맞춤데이터 손실 방지: 네트워크 또는 디스크 입출력 과정에서 데이터가 손실되지 않도록 함스풀(Spool)스풀이란CPU와 입출력 장치가 독립적으로 동작할 수 있도록 하는 소프트웨어적인 버퍼링 기술스풀의 특징입출력 요청을 임시 저장한 후 순차적으로 처리하여 CPU가 입출력 장치의 속도에 구애받지 않고 작업할 수 있도록 함배타적 처리: 특정 작업이 완료되기 전까지 다른 작업이 끼어들지 못함대표적인 스풀링 예시프린트 스풀러: 인쇄할 내용을 임시 저장 후 프린터가 출..
[OS]메모리 보호
·
CS/운영체제
메모리 보호의 필요성현대의 운영체제는 시분할 기법을 사용하여 여러 프로그램을 동시에 실행하고 사용자(응용프로그램) 영역이 여러 개의 작업 공간으로 나뉜다. 따라서 메모리가 보호되지 않으면 다음과 같은 문제가 생긴다.1. 다른 작업의 영역을 침범2. 오류 발생(정상동작 불가)3. 프로그램을 파괴하거나 데이터를 지울 수 있음4. 최악의 경우 운영체제 영역을 침범하여 시스템 마비도 가능메보리 보호의 방법작업의 메모리 시작 주소를 경계 레지스터(bound register)에 저장 후 작업작업이 차지하고 있는 메모리의 크기, 즉 마지막 주소까지의 차이를 한계 레지스터(limit register)에 저장사용자의 작업이 진행되는 동안 이 두 레지스터의 주소 범위를 벗어나는지 하드웨어적으로 점검두 레지스터의 값을 벗어..