준코딩

운영체제 서론2 본문

CS/운영체제

운영체제 서론2

Ljunhyeob - App Dev 2019. 1. 11. 16:06

운영체제의 구조

-운영체제는 프로그램이 실행될 환경을 제공한다.

-운영체제의 가장 중요한 측면은 다중 프로그램을 할 수 있는 능력이다. 단일 사용자는  CPU또는 입출력장치를 하상 바쁘게 유지할 수 없다. 다중 프로그래밍 은 CPU가 항상 하나의 작업을 실행할 수 있게 작업을 조정함으로써 CPU의 이용률을 높인다.


-시분할 시스템은 대화식 혹은 실제 조작 가능한 컴퓨터 시스템을 필요로 하는데 사용자와 시스템 간에 직접적인 통신을 제공한다. (키보드,마우스) 응답시간이 짧아야 하며, 통상 1초 이내이다.




운영체제 연산

-운영체제는 인터럽트 구동식이다.

(인트럽트 구동식: 시간이 오래 걸리는 I/O 작업 때문에 CPU가 노는걸 방지하고자 I/O작업과 CPU작업을 분리시켰다. CPU는 I/O가 끝났다는 신호를 보내기 전까지는 다른 작업을 처리함 -> 쉬지않고 일함)



이중 동작 모드

-운영체제의 적절한 동작을 보장하기 위해 운영체제 코드와 사용자 정의 코드의 실행을 구분할 수 있어야 한다.

적어도 두 개의 독립된 동작 모드, 즉 사용자 모드와 커널 모드를 필요로 한다.



타이머

-운영체제가 CPU에 대한 제어를 유지할 수 있도록 보장해야 한다. 프로그램이 무한 루프에 빠져 제어가 운영체제로 복귀하지 못하는 경우가 발생하지 않도록 반드시 방지해야 한다.





프로세스 관리

-한 프로그램은 그 명령이 CPU에 의해 실행되지 않으면 아무 일도 할 수 없다. 실행중인 프로그램을 프로세스라 한다. 

-프로세스가 끝나면 운영체제는 재사용할 수 있는 자원을 회수할 것이다.


-운영체제는 프로세스 관리와 연관해 다음과 같은 활동에 대한 책임을 진다.

*사용자 프로세스와 시스템 프로세스의 생성과 제거

*프로세스의 일시 중지와 재실행

*프로세스 동기화를 위한 기법 제공

*프로세스 통신을 위한 기법 제공




메모리 관리

-주 메모리는 CPU와 입출력장치에 의하여 공유되는 빠른 접근이 가능한 데이터의 저장소이다. 주 메모리는 일반적으로 CPU가 직접 주소를 지정할 수 있고, 직접 접근할 수 있는 유일한 대량 메모리이다.

-프로그램이 실행되기 위해서는 반드시 절대 주소로 매핑되고 메모리에 적재되어야 한다.




저장장치 관리

-컴퓨터 시스템의 편리한 사용을 위해 운영체제는 정보 저장장치에 대한 균등한 논리적 관점을 제공한다.


파일 시스템 관리

-운영체제는 파일 관리를 위하여 다음과 같은 일을 담당한다.

*파일의 생성 및 제거

*파일과 디렉터리를 조작하기 위한 프리미티브의 제공

*디렉터리 생성 및 제거

*파일을 보조 저장장치로 매핑

*안정적인(비휘발성) 저장매체에 파일을 백업


대용량 저장장치 관리

-운영체제는 디스크 관리를 위하여 다음과 같은 기능을 한다.

*자유 공간의 관리

*저장장소 할당

*디스크 스케줄링


캐싱

-정보는 보통 어떤 저장장치에 보관된다. 정보가 사용됨에 따라 보다 빠른 장치인 캐시에 일시적으로 복사된다.

-> 특정 정보가 필요할 경우 먼저 캐시를 확인한다.(다음에 사용될 확률이 높다는 가정 하에 캐시에 넣는다.)


입출력 시스템

-운영체제의 목적 중 하나는 사용자에게 특정 하드웨어 장치의 특성을 숨기는 것이다.

-입출력 시스템은 다음과 같이 구성되어 있다.

*버퍼링, 캐싱, 스풀링을 포함한 메모리 관리 구성요소

*일반적인 장치 드라이버 인터페이스

*특정 하드웨어 장치들을 위한 드라이버





보호와 보안

-메모리 주소 지정 하드웨어는 프로세스가 자신의 주소 영역에서만 실행되도록 한다.

-타이머는 모든 프로세스가 CPU의 제어를 얻은 후 마지막에는 제어를 양도하도록 보장한다.

-보호란 컴퓨터 시스템이 정의한 자원에 대해 프로그램, 프로세스 또는 사용자들의 접근을 제어하는 기법이다.

-보호는 구성요소 서브시스템 간의 인터페이스에서 잠재적인 오류를 검출함으로써 시스템의 신뢰성을 증가시킨다,

-대부분의 운영체제들은 사용자 이름과 연관된 사용자 식별자의 목록을 유지한다.




분산 시스템

-분산시스템: 물리적으로 떨어져 있는 이기종 컴퓨터들의 집합이다.

-분산 시스템의 컴퓨터들은 사용자가 시스템 내의 다양한 자원들을 접근할 수 있도록 네트워크로 연결되어 있다.

-공유 자원에 대한 접근은 계산 속도와 기능, 데이터 가용성 및 신뢰성을 향상시킨다.





전용 시스템

실시간 내장형 시스템

-내장형 시스템은 현재 가장 유행하는 컴퓨터의 형태이다. 자동차 엔진, 공장용 로봇, 전자파 오븐 등 어느곳에서나 볼 수 있다.

-하드웨어 장치들을 감시하고 관리하는 것이 주된 작업이다.


멀티미디어 시스템

-최근의 기술 동향은 멀티미디어 데이터를 컴퓨터 시스템에서 처리하려고 한다.

-멀티미디어 데이터는 전통적인 파일뿐 아니라 오디오, 비디오 파일로 구성되는데 특정 제약 조건에 맞추어서 전달해야한다.


휴대용 시스템

-팜이나 Pocket-Pc 및 휴대전화와 같은 PDA를 포함한다.




계산 환경


전통적 계산

-한동안 시스템은 배치 또는 대화형 방식이었다. 배치 시스템은 파일이나 다른 데이터 소스로부터 미리 정해진 입력을 가지고 대량으로 작업을 처리하였다. 대화형 방식 시스템은 사용자로부터 입력을 기다렸다가 계산 자원을 최적으로 사용하기 위하여 다중 사용자들이 시간을 나누어 이 시스템을 사용하였다.


클라이언트 서버 계산

-과거에는 중앙 시스템에 의해 직접 처리되던 사용자 인터페이스 기능들도 PC에 의해 처리되고 있다. 그 결과 오늘날 의 많은 시스템은 클라이언트 시스템에 의해 생성되는 요구를 만족시키기 위한 서버 시스템으로 동작한다. 서버 시스템은 크게 계산 서버와 파일 서버로 분류될 수 있다.


*계산 서버 시스템: 클라이언트가 어떤 작업을 요청할 수 있는 인터페이스를 제공한다. 그에 대한 응답으로 서버는 그 작업을 실행하고 결과를 클라이언트에게 돌려준다.


*파일 서버 시스템: 클라이언트가 파일을 생성, 갱신, 읽기 및 제거할 수 있는 파일 시스템 인터페이스를 제공한다.


피어 간 계산기

-분산 시스템의 다른 구조는 피어 간 시스템이다. 이 모델에서는 클라이언트와 서버가 서로 구별되지 않는다.

-피어간 시스템에서는 서비스가 네트워크에  분산된 여러 노드에 의해 제공된다.

-피어간 시스템에 참여하기 위해서 노드는 먼저 피어 간 네트워크에 참가해야 한다. 참가하게 되면 다른 노드에게 서비스를 제공하거나 요청할 수 있다.



웹 기반 컴퓨팅

-웹은 어디서나 접근 가능, 웹 계산은 네트워킹을 보다 중요하게 만들었다. 과거에는 네트워크화 되지 않았던 장치들도 이제는 유선 또는 무선 접근을 할 수 있다. 

-웹 기반 계산의 구현은 부하 균등기와 같이 네트워크 연결을 유사한 서버 풀 내에 분배하는 새로운 부류의 장치를 탄생시켰다.



'CS > 운영체제' 카테고리의 다른 글

보안  (0) 2019.04.09
주 메모리 & 가상 메모리  (0) 2019.03.29
보안 Security  (0) 2019.03.29
운영체제 구조  (0) 2019.01.21
운영체제 서론1  (0) 2019.01.10
Comments