개애발/컴퓨터

운영체제 & 프로세스

jinddo 2017. 1. 14. 17:57
반응형

안녕하세요!

오늘도 어김없이 왔습니다ㅋㅋ

주말 잘 보내고 계신가요?

오늘은 운영체제(OS), 프로세스(Process)에 대해서 알아볼까요?




운영체제(Operating System)

: 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스


사전적 의미 말고 좀 더 쉽게!

'응용 프로그램과 하드웨어 사이의 중재자 역할' 입니다.


- 과거 : 하드웨어 -> 사용자

- 현재 : 하드웨어 -> 운영체제 -> 응용 프로그램 -> 사용자



운영체제 종류

- Windows

- Linux

- Unix

- Dos

등이 있습니다.


운영체제가 하는 일이 뭐냐구요?

지금 알려드릴게요~




운영체제 역할


1. 시스템 하드웨어 관리

: 사용자 프로그램의 오류나 잘못된 자원 사용을 감시

  입출력 장치 등의 자원에 대한 연산과 제어를 관리

ex) 사용자가 과도한 시스템 메모리를 사용하려하거나, 뻘짓했을 때 죽여버리는 것(중재, 통제)


2. 가상 시스템 서비스 제공

: 사용자에게 컴퓨터의 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공

ex) 실제로는 0,1 밖에 없는데 어떤 공간(가상의 공간)을 제공해주는 것 같은 느낌적인 느낌!


3. 자원 관리

: 컴퓨터 시스템 하드웨어 및 소프트웨어 자원을 여러 사용자간에 효율적으로 할당, 관리, 보호

1) 프로세스 관리

2) 주기억장치 관리

3) 파일 관리


운영체제는 이런 역할을 해요!

그럼 프로세스는 무엇이냐?




프로세스(Process)

: 프로그램이 살아서 메모리에 데이터가 올라가고 있는 상태

  주기억장치로 0,1이 올라오는 상태


프로세스는

생성 -> 대기 -> 준비 ↔ 실행 -> 종료


이런 과정인데, 

대기 -> 준비 ↔ 실행

이 과정을 반복하게 됩니다!


프로세스 안에도 여러가지 작업 방식이 있습니다.




프로세스 스케줄링


1) FCFS(Fist com Fist Served)

: 준비 상태에서 먼저 오는 프로세스를 먼저 처리시키는 알고리즘

ex) 은행에서 먼저 오는 사람부터 처리해주죠?


2) SJF(Shortes Job First)

: 실행 시간이 가장 짧은 프로세스에게 CPU 할당 

  평균 대기시간이 가장 적은 알고리즘


3) Round Robin Scheduling

: 시분할 시스템을 위해 고안된 방식

  각 프로세스는 시간 할당량 동안만 실행

  완료되지 않으면 다음 프로세스에게 CPU를 넘겨주고 준비상태 큐의 가장 뒤로 배치

  오버헤드 자주 발생


※ 오버헤드 : 프로그램을 실행시키는데 그 주변의 작업이 더 큰 것


4) Priority Based Scheduling

: 프로세스 마다 우선순위 부여


5) Multi Queue Scheduling

: 준비상태 큐 마다 다른 스케줄링 기법 사용

  다른 준비 상태 큐로 이동 불가



컴퓨터 안에는 이렇게 많은 작업들이 있습니다.

저도 컴퓨터가 이렇게 똑똑한지 공부하면서 알아가고 있어요ㅋㅋ

얼마나 많은 도움이 되는지 모르겠지만 제가 알고있는 건 공유하고 싶습니다!

모두 포기하지 말고 도전해봐요~

남은 주말 알차게 보내시고 맛저하세요^.^

뿅!


반응형