티스토리 뷰

728x90

운영체제의 개념 - 

운영체제란 사용자가 응용 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공함

 

커널(Kernel) - 사용자와 컴퓨터 하드웨어에서 중재 역할을 함.

펌웨어와 장치 드라이버를 통해 하드웨어 제어권을 얻음.

RAM을 통한 프로그램을 위한 기억 장치 접근을 관리하며, 자원 관리를 배분함.

CPU / 메모리 / 디바이스 등을 관리함.

 

사용자 인터페이스(User Interface) / 셸(Shell) - 사용자가 컴퓨터 시스템을 운용할 수 있게 해줌.

다양한 종류의 입력을 받으며 Shell에서 유추할 수 있듯이 명령 줄(콘솔) 인터페이스, 그래픽 사용자 인터페이스(GUI)로 나뉨

서버는 콘솔을, 일반인은 GUI를 자주 사용하는 편.

 

 

유틸리티 프로그램(Utility) - 기본적으로 설치된 필수 프로그램.

 

운영체제의 종류  -

 

데스크탑용 운영체제 - Windows, Mac OS, Linux

서버 운영체제 - Unix, Windows Server, Linux Server

모바일 운영체제 - Android, IOS, Windows Mobile

 

운영체제의 운영 방식 -

명령 처리 방식에 대해서 분류하면,

 

싱글태스킹 / 멀티태스킹 운영체제 - 

싱글태스킹은 단독으로 하나의 프로그램만 실행할 수 있으나, 

멀티태스킹은 여러 프로그램을 동시에 실행할 수 있으며 선점 / 비선점으로 나누어짐.

 

선점형 - 자원을 쪼개서 할당함 남의 자원을 뺏어올 수 있음.

비선점형 - 자원을 한번 할당받으면, 끝날 때까지 자원을 할당받음.

 

분산 운영체제 - 

컴퓨터 여러 대를 하나로 묶어서 서로 통신하게 함.

연산들은 하나 이상의 컴퓨터에서 수행되며, 컴퓨터들이 협업 시 분산 시스템을 형성시킴.

 

실시간 운영체제 -

실시간 운영체제는 짧은 시간 내에 이벤트, 데이터의 처리를 보증하는 운영체제.

싱글 / 멀티태스킹 둘 다 가능, 멀티태스킹은 스케줄링 알고리즘을 사용한다.

 

운영 시스템에 따라서 분류하면,

 

개인용 컴퓨터 운영체제 -

MS - DOS 처럼 명령줄 인터페이스를 주로 사용했으나,

요즘은 Mac OS나 Windows, Linux 등등을 사용.

GUI를 주로 사용함.

 

메인프레임 운영체제 - 

일반적으로 다중 사용자 운영체제를 사용하고 있으며, 초기에는 명령 줄 사용자 인터페이스를 주로 사용.

최근에는 GUI를 주로 사용함. 주로 사용되는 운영체제는 Unix, Solaris 등이 있다.

 

임베디드 운영체제 - 

제한적인 기기 환경에서 운영하도록 설정되어 있으며, 

제한된 자원으로 동작하기에 작고 효율적인 설계로 이루어짐.

Embeded Linux, Windows CE, Android GO 등등이 있음.

 

컴퓨터 성능 저해로 발생할 수 있는 문제

- 컴퓨터가 켜지지 않거나 매우 느리게 켜짐

- 갑자기 재부팅 

- 프로그램이 실행되지 않음

- 인터넷 혹은 네트워크에 연결되지 않음

- 특정 사이트로 리다이렉트됨

- 개인 정보가 유출됨

 

네트워크 환경에서 발생 가능한 문제 

- 내외부적 네트워크 연결 불가

- 지정 업무 파일 서버에 접근할 수 없음

- 네트워크 접근 속도가 매우 느림

- 공유 프린터 사용 불가

- 메일 송수신 불가

 

PCB - 프로세스 제어 블록 - 프로세스의 정보를 관리하는 테이블

 

프로세스의 상태: 실행 상태인지 준비 상태인지에 관한 정보

프로그램 카운터 값: 다음에 실행될 명령어 주소

스케줄링 정보: 스케줄링 정책, 우선 순위를 의미

주기억 장치 정보: 해당 프로세스가 어느 영역에 위치했는지 저장

 

프로세스의 상태:

 

 

 

문맥 전환 - 프로세스가 다 안끝난 상태로 다음 프로세스랑 전환하려고 할 때 저장해두는것

 

FCFS 스케줄링 - First - Come, First - Served 

RR 스케줄링 - Round Robin , 일정 주기만큼 돌아가면서

우선순위 대기 - PCB에 우선순위를 매기고 이를 기반으로 배정함

 

교착 상태 - 프로세스가 서로 맞물려서 실질적으로 아무것도 완료되지 못한 상태를 가리킨다.

 

교착 상태가 발생하려면,

1. 상호 배제 - 프로세스가 유도리없이 자원 공유를 허가하지 않을 때

2. 점유 대기 - 이미 자원을 할당하고 있는 프로세스가 그 상태에서 다른 자원을 기다릴 때

3. 비선점 - 프로세스가 끝날 때까지 자원을 뺏을 수 없을 때

4. 순환 대기 - 서로 꼬리에 꼬리를 물고 다음 프로세스에게 필요한 자원을 가진다

이 4가지 조건을 모두 달성해야함.

 

교착 상태의 관리 - 

교착 상태를 막는 것은 힘들기에, 교착 상태를 예방하거나 무시, 발견하는 방법으로 관리한다

 

예방 - 

상호배제의 조건의 제거: 공유가 불가능하도록 구역을 제한해서 예방

점유와 대기 조건의 제거: 자원을 요청하여 획득하거나 자원이 없을 때만 요청하도록 함

비선점 조건의 제거: 비선점 프로세스에 대해 선점 가능하도록 함

환형 대기 조건의 제거: 자원 대기 조건을 부여해서 순서를 할당한다

 

회피 - 

자원 요청 추가 정보를 제공하도록 요구,

자원 할당 그래프 알고리즘: 사이클이 생기는 것을 알아채면 교착 상태가 있을 것이라 유추

은행원 알고리즘

무시 -

확률이 낮을 경우 무시하고 냅두기

 

발견 -

검출 알고리즘을 통해서 관리할 수 있으나, 성능에 영향을 미침.

 

1 - 1. 반입 기법

 

요구 반입 (demand fetch) - 필요할 때 주기억 장치에서 꺼내주세요

예상 반입 (anticipatory fetch) - 이거 달라고 할 테니까 미리 주기억 장치에서 가져와야지

 

1 - 2. 배치 기법

최초 적합 (first fit) - 프로그램이나 데이터가 들어갈 수 있는 가장 처음 만난 영역

최적 적합 (best fit) - 프로그램이나 데이터의 크기와 가장 비슷한 영역

최악 적합 (worst fit) - 프로그램이나 데이터가 들어갈 수 있는 가장 큰 영역

 

2. 주 기억 장치 교체 기법

프로그램이나 데이터로 꽉 차서 새 것을 집어넣어야 할 때, 운영체제는 메모리를 비우고 교체한다.

 

2 - 1. FIFO - First in, First Out 선입선출

배치된 시간이 가장 오래된 영역을 교체한다.

A B C 순서로 들어갔을 때, 새로 D가 들어간다면 가장 먼저 들어간 A의 자리에 D가 들어가게 된다.

 

2 - 2. LRU - Least Recently Used, 가장 오래전에 참조한 것

참조된 부분 중에서 가장 오래 전에 참조된 것을 교체한다.

A - B - B - C - A 순서라고 가정하면, 3번째에 참조된 B가 교체된다.

조건이 같으면 FIFO 실행.

=> LRU는 주 기억 장치에 시간 저장 필요 

 

2 - 3. LFU - Least Frequently Used, 가장 적게 참조한 것

참조된 부분 중에서 가장 적게 참조된 것을 교체한다.

A - B - B - C - A 순서라고 가정하면, 1번 참조된 C가 교체된다.

=> LFU는 주 기억 장치에 횟수 저장 필요 

 

단편화 - 

배정된 부분이 실제로 쓰는 부분보다 작으면 잉여 공간이 생기겠지?

배정받은 것에서 사용하지 않는 게 있다면 내부 단편화. (100 = 80 usage + 20 empty)
만약 중간을 차지하는 등 배정받을 수 있는 공간이 없을 때를 외부 단편화라고 함.

(120을 배정받아야 하는데 중간에 하나 배정받아서 100과 20으로 나누어졌다거나)

 

1. 통합 기법 - 근처에 있는 공간을 모아서 하나의 공간으로 만들기

2. 압축 기법 - 단편화된 모든 공간을 결합해서 큰 공간을 만들기

 

728x90

'공부 > 컴시' 카테고리의 다른 글

자원과 프로세스  (0) 2022.09.15
컴퓨팅 시스템의 성능 저해 요인  (0) 2022.09.01
컴시 - 대단원 평가  (0) 2022.06.14
컴시 - 카르노 맵과 순서 논리 회로  (0) 2022.06.07
컴시 - 네트워크 정리  (0) 2022.05.20
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함