Computer Science/운영체제

Computer Science/운영체제

프로세스에 대해 이해해보자

프로세스의 정의 실행중인 프로그램 작업의 단위 프로세스는 작업을 완료하기 위해 특정 리소스들을 필요로 한다. CPU 시간 메모리 파일, I/O 디바이스 프로세스의 메모리 영역 텍스트 영역 코드 관리/실행 데이터 영역 전역 변수 힙 영역 프로그램 런타임에 동적으로 할당되는 메모리 스택 영역 함수 실행에 사용하는 일시적인 데이터 저장소 함수 파라미터, 반환 주소, 지역 변수 등 프로세스의 상태(생명주기) New: 프로세스가 생성됨. Running: 명령어가 실행중인 상태 Waiting: 프로세스가 이벤트 대기. I/O 인풋과 같은 이벤트 Ready: 프로세스가 프로세서가 할당되는 것을 기다리는 상태 Terminated: 프로세스가 실행을 마침. PCB(Process Control Block) / TCB(Ta..

Computer Science/운영체제

운영체제의 개념과 구조

컴퓨터 시스템을 4등분하면? 하드웨어 운영체제 어플리케이션 프로그램 사용자 운영체제란? 컴퓨터에서 항상 돌아가고 있는 하나의 프로그램 '커널'이라고 불리곤 한다. -> OS의 핵심이다. 커널에는 두가지 타입의 프로그램이 속해있다. 시스템 프로그램 어플리케이션 프로그램 Bootstrap 프로그램이란? 컴퓨터에 전원이 들어올 때 가장 먼저 실행되는 프로그램 운영체제를 메모리에 로딩하는 프로그램 인터럽트(Interrupts)란? 하드웨어가 언제라도 인터럽트를 트리거할 수 있다. CPU로 신호를 보내서(주로 시스템 버스 방식) 트리거 함. 컴퓨터 구성요소 CPU 프로세서 코어 멀티코어: 한 CPU 안에 여러 개의 코어가 붙어있는 것 멀티 프로그래밍(멀티 태스킹): 한번에 한개 이상의 프로그램이 돌아가는 것. 프..

Computer Science/운영체제

운영체제란?

운영체제란? 컴퓨터 시스템을 작동하는 소프트웨어 컴퓨터란? 정보를 처리하는 기계 정보란? 불확실성을 측정해서 수치적으로 표현한 것 정보의 최소 단위: bit(binary digit) 정보의 처리: 정보의 상태 변환(0에서 1로, 1에서 0으로) 부울 대수(Boolean Algebra): NOT, AND, OR 논리 게이트: NOT, AND, OR, XOR, NAND, NOR 논리 회로: IC, LSI, VLSI, ULSI, SoC, ... 무어의 법칙, 황의 법칙 정보의 저장과 전송: 플립-플롭, 데이터 버스 컴퓨터가 정보를 처리하는 방법 덧셈: 반가산기, 전가산기 뺄셈: 2의 보수 표현법 곱셈, 나눗셈: 덧셈과 뺄셈의 반복 실수 연산: 부동 소수점 표현법 함수: GOTO(if 등) 삼각합수, 미분, 적..

Computer Science/운영체제

연속 할당, 불연속 할당

메모리 영역 OS 상주 영역 낮은 주소 영역 사용 사용자 프로세스 영역 높은 주소 영역 사용 할당 방법 연속 할당 불연속 할당 연속 할당 고정분할 방식 물리적 메모리를 몇 개의 영구적 분할(파티션)으로 나눠놓음 분할의 크기가 모두 동일한 방식이 있고 서로 다른 방식이 있다 분할 당 하나의 프로그램 적재 융통성이 없음 동시에 메모리에 로드되는 프로그램의 수가 고정됨 최대 수행 가능 프로그램 크기 제한 내부 조각(내부 단편화), 외부 조각(외부 단편화) 발생 내부 조각은 분할 크기보다 프로그램 크기가 작을 경우 낭비되는 메모리 외부 조각은 분할 크기보다 프로그램 크기가 커 해당 분할을 건너뛰어 낭비되는 메모리 가변분할 방식 프로그램 크기를 고려해서 순서대로 할당 분할의 크기, 개수가 동적으로 변한다 기술적인..

Computer Science/운영체제

컴퓨터 시스템 구조2(System Structure & Program Execution 2)

동기식 입출력과 비동기식 입출력 동기식 입출력(synchronous I/O) -> 도둑이 은행을 털러오면, 경찰이 온다. (순차적으로 실행되는 것) - I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감 구현 방법1 - I/O가 끝날 때까지 CPU를 낭비시킴 - 매 시점 하나의 I/O만 일어날 수 있음 구현 방법 2 - I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗음 - I/O처리를 기다리는 줄에 그 프로그램을 줄 세움 - 다른 프로그램에게 CPU를 줌 비동기식 입출력(asynchronous I/O) - I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감 * 두 경우 모두 I/O의 완료는 인터럽트로 알려줌 DMA(Direct ..

Computer Science/운영체제

컴퓨터 시스템 구조1(System Structure & Program Execution 1)

CPU: 작업을 처리하는 하드웨어 DMA controller: I/O 장치로 부터 온 데이터를 메모리에 저장해주는 역할 Mode bit: 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치 -> 0이면 OS가 사용중(커널 모드), 1이면 사용자 프로그램이 사용중(사용자 모드) -> 보안을 해칠 수 있는 중요한 명령어는 커널 모드에서만 수행가능한 '특권명령'으로 규정 -> Interrupt나 Exception 발생 시 하드웨어가 mode bit를 0으로 바꿈 -> 사용자 프로그램에게 CPU를 넘기기 전에 mode bit를 1로 셋팅 사용자 프로그램이 I/O를 하는 법 - 시스템콜: 사용자 프로그램이 OS에 요청하는 것 (CPU에게 요청하기 위해) -> 사..

Computer Science/운영체제

운영체제(Operating System, OS)란?

운영체제의 의미 -> 컴퓨터 하드웨어의 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 협의의 운영체제(커널) -> 일반적인 의미 -> 운영체제의 핵심 부분으로 메모리에 상주하는 부분 -> 좁은 의미의 운영체제 광의의 운영체제 -> 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념 -> 넓은 의미의 운영체제 운영체제의 목표 -> 컴퓨터 시스템의 자원을 효율적으로 관리(자원관리자) (프로세서, 기억장치, 입출력 장치 등의 효율적 관리) -> 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 - 각 프로그램은 가상 머신에 의해 자신의 프로그램만 실행되는 듯하게 보인다. - 하지만 이는 운영체제가 자원을 잘 분배해서 그렇게 보이게 하는 것. 운영체제의 분류 ..

레이튼
'Computer Science/운영체제' 카테고리의 글 목록 (2 Page)