운영체제[운영체제 개요]

고동현·2024년 3월 4일
0

운영체제

목록 보기
1/16

OS란?
컴퓨터 하드웨어 바로 위에 설치되어, 사용자와 각종 소프트 웨어를 하드웨어와 연결하는 계층

노래를 들으면서, 게임을 한다면, user는 각각 독자적 컴퓨터에서 수행되는 illusion을 제공한다.
즉 노래 전용 컴퓨터, 게임 전용 컴퓨터를 가지고 각각 따로 수행하는 느낌을 받음, 그러나 운영체제가 이러한 다양한 프로그램들을 다룸

운영체제에는 컴퓨터의 두뇌인 cpu가 있고 프로그램들이 실행되려면 메모리에 올라가야하므로 메모리가 있다. 그런데 이건 컴퓨터에 꼽아서 사용하는거니까, 자원이 한정적이다.
그러므로, OS의 목적은 주어진 자원으로 최대한 성능을 내는 효율성, 특정 user/프로그램이 지나친 불이익을 받지 않도록 형평성 이 두가지를 조화롭게 이룬는게 목적이다.

앞에서 마치 노래와 유튭이 각각의 컴퓨터에서 수행되는것 같지만 사실 cpu가 실행중인 프로그램에게 짧은 시간을 할당하게되고, 그리고 프로그램이 실행되기 위해서 메모리공간을 적절히 분배를 한다.
그러므로 우리는 어떻게 OS가 프로그램에게 시간과 메모리를 할당할 것인지 배울것이다.

CPU 스케줄링: 어떤 프로그램에게 CPU사용권을 줄것인가?
메모리관리: 한정적인 메모리를 어떻게 효율적으로 프로그램에게 할당할 것인가?
디스크 스케줄링: 디스크에 들어온 요청을 어떤 순서로 처리할것인가?
인터럽트, 캐싱: CPU에 비해서 I/O(디스크,키보드,프린트,,,,)는 매우 느린데 이 장치간의 속도차를 어떻게 극복할것인가?(cpu가 I/O의 응답을 기다리고 있다면 매우 비효율적일 것임)
각각의 내용들은 차근차근 배워볼 것이다.


프로세스->실행중인 프로그램
초록색이 실행되는 프로그램
cpu에서는 항상 기계어를 실행하는 프로그램은 돌아가고 있고
cpu는 1개니까 이걸 쓰고 싶은 프로그램들은 cpu큐에 줄을 세워 둔다.
그래서 짧은시간동안 cpu가 이 초록색 동그라미(프로그램)을 실행하고 queue에다 다시 넣고 그 다음 프로그램이 또 cpu를 뺏어서 쓰는식으로 수행이된다.
디스크 같은 경우에는 처리가 오래 걸리므로 디스크로 쫒겨나고 cpu가 다른 프로그램을 처리한다.=>효율성을 높이기 위해서

만약 디스크에서 처리가 완료되었다면 인터럽트를 cpu에 걸고, 그러면 cpu가 운영체제로 넘어가게 된다. 운영체제는 디스크 큐에서 읽는 작업이 완료 되었으므로 여기서 빼서 다시 cpu 큐에 넣어준다.

만약 키보드를 user가 두드리면, 키보드 컨트롤러가 cpu에게 인터럽트를 건다. 인터럽트를 걸면 cpu가 운영체제로 넘어가게 되고, 운영체제는 키모드에 들어온 데이터를 메모리로 카피해서 사용할 수 있게 한다.

추가). 인터럽트란? 프로세스 실행 도중 예기치 않은 상황이 발생하여 발생한 상황을 처리하고 난 뒤에 실행중인 작업으로 복귀하는것이다.

오늘은 첫시간이니까 베이스만 알아두고, 차근차근 OS에 대해서 공부해보도록 하겠다.
-THE END-

profile
항상 Why?[왜썻는지] What?[이를 통해 무엇을 얻었는지 생각하겠습니다.]

0개의 댓글