CS공부/운영체제

운영체제란?

kluiop1 2021. 7. 3. 10:38

운영체제의 정의

사용자와 하드웨어 사이의 중간 매개체로 응용 프로그램의 실행을 제어하고 자원을 할당 및 관리하며 입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 SW 

존재 목적 중 가장 중요한 기능중 하나는 멀티 테스킹 

 

역할

1) 하드웨어 및 사용자,응용 프로그램, 시스템 프로그램 사이에서 인터페이스 제공

2) 프로세서, 메모리, 입출력 장치, 통신정치 등 컴퓨터 자원을 효과적으로 활요하려고 조정 관리

3) 메일 전송, 파일 시스템 검사, 서버 작업 등 높은 수준의 서비스를 처리하는 응용 프로그램을 제어

4) 다양한 사용자에게서 컴퓨터 시스템을 보호하려고 입출력을 제어하며 데이터를 관리

 

운영체제의 기능을 나누어 보면 다음과 같다

 

1. 저장장치 관리

 

메인 메모리 관리

프로세서가 직접 주소로 지정할 수 있는 유일한 메모리 관리

 

메모리 관리의 기능

1) 메모리의 어느 부분을 사용하고, 누가 사용하는지 점검

2) 메모리에 저장할 프로세스 결정

3) 메모리를 할당하고 회수하는 방법 결정

 

보조기억장치 관리

메인 메모리는 공간이 제한되어 데이터와 프로그램을 계속 저장할 수 없어 보조기억장치 이용

 

보조기억장치 관리의 기능

1) 빈 여유 공간 관리

2) 새로운 파일 작성 시 저장 장소 할당

3) 메모리 접근 요청 스케줄링

4) 파일 생성하고 삭제

 

가상 메모리

 

가상메모리란

메모리가 실제 메모리보다 많아 보이게하는 기술

실제 사용하는 메모리는 작다는 점에서 착안하여 고안한 기술

프로세스간 공간 불리로 프로세스 이슈가 전체 시스템에 영향을 주지 않을 수 있음

 

작동 방식

프로세스는 가상 주소를 사용하고 실제 해당 주소에서 데이터를 읽고/쓸때만 물리주소로 바꿔준다.

 

파일 관리

입출력 파일의 위치, 저장, 검색 관리 의미

컴퓨터 시스템은 물리적으로 다양한 형태로 파일 저장 가능

운영체제는 데이터의 효율적 사용을 위해 단일화된 저장 형태 제공

운영체제는 파일의 용이한 사용을 위해 보통 디렉터리로 구성, 다수의 사용자가 여기에 접근하려고 할 때는 이 접근을 제어

 

파일 관리를 위한 운영체제의 기능

1) 파일 생성, 삭제

2) 디렉터리 생성, 삭제

3) 보조기억장치의 파일 맵핑

4) 안전한(비휘발성) 저장장치에 파일 저장

 

2. 프로세스 관리

 

프로세스

실행 중인 프로그램

비동기적(asynchronous) 행위 (가장 일반적인 정의)

실행 중인 프로시저

실행 중인 프로시저의 제어 추적

운영체제에 들어 있는 프로세스 제어 블록PCB

프로세서에 할당하여 실행할 수 있는 개체 디스패치(dispatch)가 가능한 대상

(디스패치란 비 실행 상태에서 실행 상태로 전환시켜주는 것 그와 반대되는 말로는 인터럽트가 있다)

하나의 프로세스는 프로세서, 메모리, 파일, 입출력장치와 같은 자원으로 구성

자원은 프로세스 생성할 때 제공하거나 실행 중에도 할당 가능

 

시스템

1) 프로세스의 집합

2) 시스템 코드 수행하는 운영체제 프로세스와 사용자 코드 수행하는 사용자 프로세스로 구분

3) 모든 프로세스는 프로세서 분할 사용하여 병행 수행 가능

 

프로세스 관리를 위한 운영체제의 기능

1) 프로세스와 스레드 스케줄링

2) 사용자 프로세스와 시스템 프로세스 생성, 제거

3) 프로세스 중지, 재 수행

4) 프로세스 동기화 방법 제공

5) 프로세스 통신 방법 제공

6) 교착 상태deadlock를 방지하는 방법 제공

 

네트워킹

네트워킹(통신)

프로세서는 다양한 방법으로 구성된 네트워크 이용, 완전 접속과 부분 접속 방법으로 연결

연결된 프로세서가 통신을 할 때는 경로 설정, 접속 정책, 충돌, 보안 등 고려(OS가 관리)

 

주변 장치 관리(디바이스 드라이버)

 

주변 장치(입출력) 관리

운영체제는 특수 프로그램인 장치 드라이브를 사용 입출력장치와 상호작용

장치 드라이버는 특정 하드웨어 장치와 통신할 수 있는 인터페이스를 제공하므로 특정 하드웨어에 종속된 프로그램

 

주변장치관리를 위한 운영체제 기능

1) 임시 저장 (buffer-caching) 시스템 기능 제공

2) 일반 장치용 드라이버 인터페이스 제공

3) 특정 장치 드라이버 제공

 

사용자 관리(시스템 보호)

시스템 보호(사용자 권한 부여)

1) 보호: 컴퓨터 자원에서 프로그램, 프로세스, 사용자의 접근 제어 방법

2) 운영체제는 파일 사용 권한 부여, 데이터 암호화등 서비스를 제공, 데이터와 시스템 보안

3) 컴퓨터 시스템에서는 여러 프로세스 동시 실행 가능하므로 상호 보호해야 함

4) 네트워크로 파일 공유 사이트에 접속 시 다른 사용자의 프로그램에서 보호