목록운영체제 (6)
개발의변화

Solaris: 선 마이크로시스템즈사의 유닉스 운용 체계 버전으로 주로 웹 서버용으로 많이 사용 하드웨어 -> 운영체제 -> 응용 프로그램 -> 사용자 커널: 컴퓨터가 가동중인 상태에서 주기억장치에 상주하면서 컴퓨터 하드웨어를 제어하고 프로세스 등 여러 자원을 배분하고 관리하는 핵심 역할 프로세스 종류 1. 운영체제 프로세스: 프로세스 실행 순서를 제어하거나 사용하고 있는 프로세스가 다른 사용자나 운영체제 영역을 침범하지 못하게 감시하는 기능을 가짐 2. 사용자 프로세스: 사용자 코드를 수행한다. 3. 병행 프로세스: 프로세스 여러 개가 동시에 실행되면 병행 프로세스 프로세스 상태: 생성 상태: 사용자가 요청한 작업이 커널에 등록되어 커널 공간에 PCB가 만들어진 상태 준비 상태: 입출력 완료 또는 신호..

운영체제 분류 단일 작업용 운영체제: 한 번에 하나의 프로그램만 실행시킬 수 있는 운영체제 다중작업 운영체제: MS 윈도우나 유닉스 환경에서는 하나의 프로그램이 끝나기 전에 다른 프로그램을 실행시키는 것이 가능하다. -> CPU가 하나밖에 없어 매 순간 하나의 프로그램만 CPU에서 실행될 수 있더라도 번갈아 실행되므로 동시에 작업이 되는 같음 -> 이런 걸 시분할 시스템 다중 프로그래밍 시스템: CPU와 달리 메모리의 경우 여러 프로그램들이 조금씩 메모리 공간을 보유하며 동시에 메모리에 올라가 있을 수 있다. 메모리 공간을 분할해 여러 프로그램들을 동시에 메모리에 올려놓고 처리 다중처리기 시스템: 하나의 컴퓨터 안에 CPU가 여러 개 설치된 경우를 뜻함 주변장치 및 입출려 장치는 CPU나 메모리와 달리 ..

프로세스 CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행 중인 프로그램을 의미하며, 작업 또는 태스크라고 한다 프로세스의 상태 하나의 프로세스는 여러가지 이벤트에 의해 일련의 서로 구분된느 상태 변화를 겪는다 생성 상태, 준비 상태, 실행 상태, 대기 상태, 완료 상태를 가질 수 있다. 생성상태 사용자에 의해 프로세스가 생성된 상태 준비 상태 CPU를 할당받을 수 있는 상태 준비 리스트: 각각 우선순위를 부여하여 가장 높은 우선순위를 갖는 프로세스가 다음 순서에 CPU를 할당 받음 실행 상태 프로세스가 CPU를 할당받아 동작 중인 상태 대기 상태 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태 대기 리스트: 우선 순위가..

메모리 관리 개념 메모리 관리는 중앙 처리 장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리하는 기법, CPU가 프로그램을 읽어서 연속적으로 동작하기 위해서는 메모리 관리의 역할이 중요! 메모리 관리 기본 사항 가상 메모리 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 부여하는 방식 가상 주소(Virtual Address), 물리 주소(Physical Address)가 있고 가상 주소의 범위를 가상 주소 공간, 물리 주소의 범위를 물리 주소 공간 가상 주소 공간은 메모리 관리 장치(MMU)에 의해서 물리 주소로 변환 메모리 관리 장치 CPU가 메모리에 접근하는 것을 관리하는 컴퓨터 하드웨어 부품 가상 메모리 주소를 실제 메모리 주소로 변환 메모리 보호, 캐시 관리, 버스 중재 등의 역..

1) 운영체제의 개념 운영체제란? - 운영체제는 사용자로 하여금 컴퓨터의 하드웨어를 보다 쉽게 사용할 수 있도록 하는 인터페이스를 제공해주는 소프트웨어 - 하드웨어는 1) 중앙처리 장치: 컴퓨터의 장치를 제어하고 데이터를 처리 2) 기억 장치: 데이터를 저장 3) 통신 장치: 외부와의 통신을 담당 4) 입출력 장치: 데이터 입력과 출력을 담당 운영체제 특징 1) 사용자 편리성: 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영 2) 인터페이스 기능: 컴퓨터 시스템과 사용자를 연결 3) 스케줄링: 다중 사용자와 다중 응용 프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당 4) 자원 관리: CPU, 메모리 공간, 기억장치, 입출력 장치 등의 자원을 관리 5) 제..

프로세스(process): 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업이라는 용어와 같은 의미 (CPU 스케줄링: 언제 어떤 프로세스에 CPU를 할당할지 결정하는 작업) 하드디스크에 있는 프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라간다. 이 순간부터 프로세스라고 불린다 컴파일 언어의 컴파일 과정 1.전처리: 소스 코드의 주석을 제거하고 헤더 파일을 병합하여 매크로를 치환합니다. (매크로란 C언어로 예를 들자면 #define같이 특정한 함수명을 선언한다는가 변수명을 선언하여 문자열로 치환하는 것) 2. 컴파일러: 오류 처리, 코드 최적화 작업을 하며 어셈블리어로 변환시킵니다. 3. 어셈블러: 어셈블리어는 목적 ..