공부 자료/운영체제 7

운영체제 CH3.프로세스와 스레드

03. 스레드의 개념과 상태 변화 1. 스레드의 개념 스레드는 프로세의 두 가지 특성인 자원과 제어 중 제어만 분리해낸 실행 단위이다. 프로세스 하나 당 스레드 한 개 이상으로 나눌 수 있다. 프로세스의 직접 실행 정보를 제외하고 프로세스 관리 정보를 공유한다. 스레드는 보통 다른 프로시저의 호출이나 다른 실행을 기록하여 별도의 스택이 필요하다. 프로그램 카운터는 독립적이기 때문에 프로세스의 스레드들은 동시에 코드의 동일한 부분이나 다른 부분을 실행 가능. 관련 자원과 함께 메모리를 공유할 수 있어서 손상된 데이터나 스레드의 이상 동작을 고려해야 한다. 경량 프로세스 : 프로세스의 속성 중 일부만 포함하는 스레드 중량 프로세스 : 프로세스 하나당 스레드 하나인 전통적 스레드 같은 프로세스의 스레드는 같은..

운영체제 CH3. 프로세스와 스레드

01. 프로세스의 개념과 상태 변화 1. 프로세스의 개념 프로세스는 실행 중인 프로그램, 비동기적 행위, 실행 중인 프로시저, 실행 중인 프로시저의 제어 추적, 운영체제에 들어있는 프로세스 제어 블록, 프로세서에 할당하여 실행할 수 있는 개체 디스패치가 가능한 대상으로 정의할 수 있다. 프로세스가 실행중인 프로그램이 되려면 메모리, 파일, 입출력 장치 같은 자원이 필요한데, 프로세스를 실행하거나 생성할 때 이러한 자원이 할당된다. 또한 프로세스에는 현재 실행 중인 프로세스의 상태를 포함하는 프로그램 카운터, 현재 활동(레지스터 내용)도 포함한다. - 사용자 관점에서의 프로세스 메모리 구조 1. 스택 : 데이터를 일시적으로 저장하는 영역 2. 힙 : 코드영역과 별도로 유지되는 자유 영역 3. 데이터 : 프..

운영체제 CH2. 운영체제의 소개

04. 운영체제 서비스 1. 부팅 서비스 컴퓨터 하드웨어를 관리하고, 프로그램을 실행할 수 있도록 컴퓨터에 시동을 건다. 부팅 = 운영체제를 메인 메모리에 적재하는 과정 2. 사용자 서비스 프로그래머가 프로그래밍을 쉽게 할 수 있도록 한다. 사용자 인터페이스 제공, 프로그램 실행, 입출력 동작 수행, 파일 시스템 조작, 통신, 오류 탐지를 제공한다. 3. 시스템 서비스 많은 사용자가 이용하는 프로그램에서는 컴퓨터 자원을 공유하여 시스템 자체의 성능을 향상할 수 있다. 자원 할당, 계정, 보호와 보안을 이용하여 시스템의 효율적인 동작을 보장한다. 4. 시스템 호출 시스템 호출은 현재 실행중인 프로그램과 운영체제 사이의 인터페이스로 API라고 부른다. 사용자 프로그램은 시스템 호출하여 운영체제의 기능을 제공..

운영체제 CH2. 운영체제의 소개

03. 운영체제의 발전 과정과 유형 1. 운영체제의 발전 과정 1940년대 : 운영체제 개념 없다. 순차(직렬) 처리 시스템을 사용하였고 사람들은 기계어를 직접 사용하여 프로그램을 작성하였다. 1950년대 : 일괄처리 시스템 일괄처리 = 직렬 처리 기술 작업 준비시간을 줄이기 위하여 데이터를 즉각적으로 처리하지 않고 일정 시간, 일정량을 모았다가 한꺼번에 처리하는 방식 - 일괄 처리의 장점 1. 많은 사용자와 프로그램이 컴퓨터 자원을 공유할 수 있다. 2. 컴퓨터 자원을 덜 사용 중일 때 작업 처리 시간 교대가 가능하다. 3. 시시각각 수동 개입이 가능하여 컴퓨터 자원의 유휴를 피할 수 있다. - 일괄 처리의 단점 1. 준비 작업의 유형들이 동일하고, 모든 유형을 작업에 입력할 수 없다. 2. 프로세서와..

운영체제 CH2. 운영체제의 소개

01. 운영체제의 개념과 발전 목적 1. 운영체제 개념 컴퓨터 자원 관리 측면에서 운영체제의 역할 1. 조정자: 운영 요소 사용을 제어하면서 응용프로그램과 사용자 사이의 통신을 가능하게 해 준다. 작업할 환경만 제공 2. 자원할당자나 관리자: 응용프로그램에 자원을 할당하고 자원 할당 방법을 결정한다. 3. 응용프로그램과 입출력 장치 제어자 : 다양한 응용프로그램과 입출력 장치를 제어한다. 운영체제의 정의: 사용자와 하드웨어 사이의 중간 매개체로 응용프로그램의 실행을 제어, 자원을 할당 및 관리하며, 입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 소프트웨어이다. 운영체제의 역할: 1. 하드웨어 및 사용자, 시스템 프로그램, 응용 프로그램 사이에 인터페이스 제공 2. 메모리, 프로세서, 입출력 장치,..

운영체제 CH1.컴퓨터 시스템의 소개

02. 컴퓨터 시스템의 동작 컴퓨터 시스템으로 작업을 처리할 때의 순서 1) 입력 장치를 통해 데이터를 입력받아 메모리에 저장 2) 입력된 데이터를 프로그램 제어장치를 통해 인출하여 연산장치에서 처리 3) 처리한 정보를 출력장치에서 표시하거나, 보조 기억장치에 저장 1. 명령어 구조 명령어는 프로세서에서 실행할 연산인 연산부호와, 명령어가 처리할 데이터, 데이터를 저장하는 레지스터나 메모리 주소인 피연산자로 구성된다. - 연산부호(OPcode): 프로세서가 실행할 동작인 연산을 지정한다. 산술/논리/시프트/보수 연산을 정의 - 피연산자: 연산할 데이터 정보를 저장한다. 명령어의 위치를 나타내는 주소를 추가할 수 있다. 피연산자에 데이터가 있는 레지스터나 메모리 주소를 지정하면 직접 주소, 피연산자에 데이..

운영체제 CH1. 컴퓨터 시스템의 소개

01. 컴퓨터 하드웨어의 구성 컴퓨터 시스템은 데이터를 처리하는 물리적인 기계장치인 하드웨어와 어떤 작업을 지시하는 명령어로 작성한 소프트웨어로 구성된다. 운영체제는 하드웨어를 관리하는 소프트웨어이다. 하드웨어는 프로세서, 주변장치, 메모리로 구성되어 있고, 이들은 시스템 버스로 연결된다. 1. 프로세서 프로세서란 모든 하드웨어에 부착된 장치들의 작업을 제어하고 명령을 실행한다. 중앙처리 장치(CPU)라고도 한다. 프로세서는 제어장치, 연산장치 레지스터로 구성되고, 이들은 내부 버스에 의해 연결된다. 레지스터의 종류도 다양한데 여러 관점을 통해 구분할 수 있다. 용도에 따라 관용 레지스터, 범용 레지스터로 구분할 수 있다. 사용자의 정보 변경 여부에 따라서 구분 가능한데 사용자가 정보를 변경할 수 있으면..