목록운영체제 (30)
내 잡다한 노트
프로세스와 프로그램의 차이점 프로그램은 PCB(프로세스 제어 블록)을 받지 않은 상태이고 메모리에 올라가지 않은 것을 뜻한다. 프로세스는 PCB를 받아 메모리에 올라간 상태를 말한다. 프로그램은 정적이고, 프로세스는 동적인 것이다. 프로세스의 다섯가지 상태 생성 -> 준비 -> 실행 -> 완료 -> 대기 생성은 프로그램을 메모리에 올려 PCB를 준 상태이다. 그렇게 되면 준비상태로 가게 된다. 준비 상태에서는 준비 큐가 있어 CPU 스케쥴링의 선택을 기다리며 준비한다. 각각의 프로세스들은 우선순위가 존재해 그 우선순위에 따라 CPU 스케쥴링은 선택을 하게 된다. 선택을 받으면 CPU가 프로세스를 실행시키게 된다. 이때 프로세스들은 타임 슬라이스를 받고 주어진 시간동안 실행을 하지 못하면 다시 준비상태로 ..
운영체제에서 명령어를 처리할 때 하나씩만 하면 효율이 떨어지므로 여러개를 동시에 처리함으로써 빠르게 데이터를 처리할 수 있는 방식. 여러개의 명령을 동시에 처리하는 병렬 처리는 코어가 여러개인 cpu는 물론이고 코어가 하나인 CPU에서도 가능하다. 한 주방에서 여러 개의 볶음밥을 동시에 조리하는 것을 CPU의 사양에 비유하면 하나의 코어에 여러 개의 스레드를 이용하는 방식과 같다. 이러한 방식을 파이프라인 기법이라고 부른다. 스레드는 CPU가 처리할 수 있는 작업의 단위이다. 여러 개의 스레드를 동시에 처리하는 방법을 멀티스레드라고 한다. 병렬처리 시 주의 사항 A작업에 B를 먼저 해야한다면 B가 끝날때까지 A는 할 수 없기 때문. 상호 의존성이 없어야 병렬처리가 가능하다. 시간을 거의 일정하게 맞추어야..
현대 컴퓨터 구조의 가장 큰 문제는 cpu와 메모리, 주변장치의 작업 속도가 다르다는 것이다. cpu내에는 cpu 내부 버스가 따로 있고 cpu와 메모리, 주변장치들을 연결시켜주는 시스템 버스는 느려서 cpu 내부 버스와 속도가 다르다. 이걸 해결하기 위한 운영체제와 관련되 기술들이 존재한다. 버퍼 데이터를 가져올 때 하나씩 전송하면 느리다. 하지만 일정량의 데이터를 모아 한꺼번에 보낸다면 적은 노력으로도 많은 양의 데이터를 전송할 수 있게 된다. 그렇게 해주는 장치가 버퍼이다. 하드디스크에서 버퍼를 사용한다. ex) 동영상 버퍼링. 내용을 한꺼번에 보내 사용자가 영상을 보는게 끊기지 않도록 도와준다. 스풀cpu와 입출력장치가 독립적으로 동작하도록 고안된 소프트웨어적인 버퍼이다.대표적인 예로 프린터에 사..
CPU란 컴퓨터의 두뇌로 모든 것들을 총괄한다. cpu안에도 여러 기능을 하는 것들이 존재하는데 레지스터와 연산장치, 제어장치 등이 존재한다. 레지스터 명령어를 읽고 그 명령어대로 동작하는데 거기엔 메모리를 활용하는 경우도 있다. 그 메모리에서 꺼내온 데이터를 잠시 저장하거나 활용을 하는 곳이 레지스터이다. 즉, CPU 내부에서 임시로 데이터를 저장하는 곳이다. 제어장치 cpu의 논리들을 제어하는 장치 연산장치 덧셈 뺄셈과 같은 사칙연산과 논리연산을 수행하는 장치 레지스터의 종류 주소레지스터 어떤 데이터의 주소를 저장하는 레지스터 데이터레지스터 데이터 값을 저장하는 레지스터 프로그램 카운터 다음에 이루어질 명령어의 주소를 저장하는 레지스터 명령어 레지스터 현재 작동중인 명령어의를 저장하는 레지스터 메모리..
컴퓨터의 구조 - CPU, 메인메모리, 저장장치, 주변장치(입출력장치, 저장장치) CPU 컴퓨터의 두뇌. 명령을 읽어 그에 맞는 명령을 수행하고 연산한다. 여러 레지스터와 산술장치, 메인메모리 메인메모리는 용량이 작지만 속도가 빠르다. 그래서 CPU에서 필요한 프로그램과 데이터를 저장하는 장소이다. 램과 롬으로 구성돼있다. 램은 휘발성으로 전원이 꺼지면 모든 데이터가 날라가고 롬은 비휘발성이라 전원이 꺼져도 데이터가 저장이 돼 언제든 쓸 수 있게 된다. 입출력장치 키보드, 마우스, 프린터 등등을 뜻한다. 저장장치 메인메모리는 용량이 작기 때문에 영구적으로 데이터를 저장할 용량이 큰 저장장치가 필요하다. HDD와 SDD를 많이 쓴다. 메인보드 CPU나 메모리, 그래픽카드 등 부품들을 하나의 보드에 결합시켜..
1. 운영체제 소개 - 운영체제의 필요성 운영체제가 있는 기계는 새로운 기능의 추가나 성능의 변경이 가능해 성능 및 효율성의 향상을 꾀할 수 있다. 운영체제의 역할 운영체제의 효과 자원관리 효율성 - 여러 응용프로그램과 인터페이스들을 효율적으로 사용하기 위해 메모리 관리 키보드, 네트워크카드, 사운드카드 등의 자원을 적당한 순서로 배분하고 적절한 시점에 자원을 회수한다. 자원보호 안정성 사용자가 운영체제를 사용하지만 운영체제는 사용자가 직접 하드웨어에 접근하는 것을 막는다. 막지 않는다면 바이러스가 하드웨어에 거짓된 정보를 저장하거나 정보를 파괴해 심각한 보안문제를 야기하기 때문에 대신 자원을 이용할 수 있는 여러가지 방법을 제공하는데 인터페이스를 통해 사용자의 편의를 도모한다. 하드웨어 인터페이스 제공..