[전공 CS]/[컴퓨터 구조론][운영체제]

[운영체제] 01 운영체제의 시작과 발전+ 전체 문제풀이

우당탕탕 개발 일지 2025. 9. 25. 16:46
728x90

 

0. 시험 예상

Q 운영체제의 목적 3가지 
=> 성능 향상/ 사용자 편의성 / 자원 관리 

Q 시분할 / 다중/ 배치 방식의 메모리 사용 비교 (주관식)

 Q 다중 / 배치 프로그래밍의 차이 
=> cpu가 노는 시간이 있냐 , 없냐의 차이 


1.운영체제 개념 

 

= 컴퓨터의 모든 자원 관리 (하드웨어, 소프트웨어, 데이터 자원 )

=자원에 대한 모든 관리 권한이 운영체제에 있음. 

=관리자 역할 (메모리 관리, 프로세스 관리..)

= 시스템 소프트웨어

 

 

운영체제의 커널 vs 셀

  • shell : 명령어 해석기 역할을 함 , 표면적으로 사용됨.
  • kernel : 파일관리, 네트워크 관리, 프로세스 관리 . 메모리 관리, 보안

 

운영체제의 목적 
1. 성능 향상

2. 사용자 편의성 

3. 자원 관리 

 


 

2.운영체제의 역사 

 

2-1 고정 프로그래밍

: 프로그램의 논리를 하드웨어에 고정시킴. 

 

[카드 리더기 → 메모리에 적제 → 처리기 → 출력]

단점 : 새로운 프로그램을 작성할때 시간이 너무 많이 걸림.

 

ex) ENIAC, 진공관 


2-2 내장 프로그래밍

: 폰노이만- 오늘날의 컴퓨터 구조 

운영체제-황기태

 

  • cpu와 메모리 분리
  • 소프트웨어와 하드웨어 분리 
  • 실행 프로그램을 메모리에 담고 cpu가 실행시킴.

ex) IBM701, 펀치카드, 카드 리더기,resident monitor 


2-3 로더 프로그램 : 최초의 운영체제 

내장 프로그램= 첫카드만 메모리 적재하는 기능이고 크기에 벗어나면 다시 적재하는 코드 반복해야함. 

(수동으로 메모리에 올림..... 시간 낭비 )

 

로더 프로그램은 자동으로 메모리에 올림.

첫카드만 메모리에 적재되고 나머지는 전부 프로그램임 .

 

* 로더 (loader): 사용자가 프로그램을 하나씩 메모리에 적재.

 

 

 

ex) GM OS (펀치 카드에 담긴 프로그램을 메모리에 적재하는 로더 프로그램. )


2-4 배치 프로세싱

Batch Processing : 일괄 처리 프로세싱

 

 

이전 컴퓨터의 문제점 : 

  • 개발자들이 여전히 대기 번호를 뽑기 기다려야함
  • 많은 시간 비싼 컴퓨터를 놀리고 있음. 
  • 입출력 루틴을 개발자 스스로 작성. 

-> 컴퓨터의 노는 시간을 줄여 활용률 향상 시키기 위해서 

 

대기중인 프로그램을 한번에 하나씩 적재하고 실행함. 

 

 

ex) GM-NAA-I/O , 어셈블리 코드 , 라이브러리 등장

 


2-5 다중 프로그래밍

mutiprograming

배치 방식 : i/o시간이 매우 오래 걸리는데 그 동안에 cpu가 놀고 있어야 함.

 

프로그램 실행 도중 I/O가 발색하면 cpu에게 메모리에 적재된 다른 프로그램 실행 시킴. 

 

 

단점

1)cpu 스케줄링, 컨텍스트 스위칭 

2)메모리 관리 이슈 

3)메모리 보호관리 이슈 

 


2-6 시분할 다중 프로그래밍

TSS(time sharied system ) 

 

출현 배경 ) 비 대화식 처리방식 , 느린 응답 시간, 오랜 대기 시간 → TSS

  • 사용자에게 빠른 응답을 제공하는 대화 시스템. 터미널.
  • R-R (라운드 로빈 방식 )

사용자는 자신의 터미널을 이용해 메인 컴퓨터에 원격 접속 => OS가 시간을 나누어 돌아가면서 각 터미널의 명령 처리 

 

ex)이 시기에 유닉스, 모니터, 키보드가 나옴.


3. 문제풀이 

개념체크 정리 

 

1번  (4)  Q ) 운영체제의 기능과 거리가 먼것 ? A) 컴파일

 

2번  (1)운영체제는 모든 자원을 관리한다

 

3번   (2)고정 프로그래밍 방식은 운영체제가 한번에 한 개의 프로그램만 실행 시키는 방식이다.(X)

-> 고정식 프로그래밍은 운영체제와 관련 없음. 

 

4번 (3)  모바일 운영 체제는  대표적으로 PSOS, wxNorks, VRTX, RT-Linux, Lynx 등이 있다.(X)

-> 저기 예시들은 임베디드 운영체제이고 모바일 운영체제에는 ios, 안드로이드 등이 있음. 

 

5번-(4)  오늘날에 사용하는  운영 체제는 TSS(시분할)임.

 

6번 -(2)프로그램을 메모리에 적재(loading)하는 기능이 운영체제의 태동 (=로더 프로그램)임.

 

7번-(4) 비싼 메모리를 효율적으로 사용하기 위해서 운영체제가 나타나게 됐다. (X)

-> 초기 운영체제 (=배치 프로세싱)이고 메모리 효율을 생각한건 다중 프로그래밍임.

 

8번-(1) 최초의 운영체제 GM-NAA I/O 에 구현된 기능은   '프로그램 적재 기능' 이다 (O)

-> 최초의 운영체제 =배치 프로세싱.

 

9번-(2)내장 프로그램 컴퓨터는 cpu와 메모리의 구분 없는 고정 프로그래밍 방식이다.(X)

-> 내장 프로그래밍 : cpu와 메모리를 구분함. 

 

10번-(1) 배치 시스템은 모여진 작업을 순서대로 하나씩 연속적으로 처리하는 시스템이다(O)

 

11번-(2) 다중 프로그래밍은 메모리에 여러 프로그램을 올려 놓고 한 프로그램이 입출력을 수행하면 cpu에게 다른 프로그램을 실행시켜 cpu의 활용률을 높이는 기술이다.(O)

 

12번-(1) 다중 프로그래밍이 출현한 동기는 배티 운영체제의 저조한 cpu활용률을 개선하기 위해서다. (O)

 

13번 -인터럽트,동기화,교착상태, 메모리 보호, 교착상태, cpu 스케줄링, 프로그램 당 메모리 할당 위치/크기 전략.

 

14번-(2) 개인용 컴퓨터 출현 동기는  다중 사용자로 인한 응답속도 저하 해결이다.(X)

-> 개인용 PC는 한 사람을 위한것이라  출현 동기가 다중 사용자와 관계 없음. 

 

15-(1) 시분할 : 시간 할당량 단위로 돌아가면서 프로그램에게 cpu를 할당해줌.

 

16-(3) 배치 : 사용자와 대화식으로 프로그램을 실행시키기 위해 고안된 운영체제.

 

17-(1) Q 개인용 컴퓨터의 사용화가 이루어지게된 결정적 계기는?  A) 마이크로프로세서 개발 

→ CPU의 소형·저가·대량생산이 가능해져 개인이 직접 소유하고 사용할 수 있는 PC 보급이 가능해졌기 때문 

 

18-(4)모바일 운영체제의 목적이 아닌것은? 프로그램의 실시간 실행 

-> 실시간 실행이 필요한건 자동차 제어나 공장  상황이지  모바일이 아님.

 

19-(2) 실시간 운영체제에서 가장 중요한 목적은? 프로그램마다 정해진 완료 시간 이내에 실행. 

-> 실시간 운영체제는 정해진 시간제약 보장/ 실시간 스케줄링 / 예측 가능한 응답이 중요함. 

 

 

복합문제 1번 

 

다중 프로그래밍 : 16

cpu 유휴 시간 : 0

cpu 활용률 : 100

작업 처리율 : 3/16

 

 

노랑색: 배치, 초록색 : 다중 , 파란색 : 시분할