엔지니어가 되고 싶은 공돌이
01. Introduction to Operation System 본문
1. 1. Definition
- Application View: 프로그램이 실행될 수 있는 최적의 환경을 제공해주는 소프트웨어.
- System View: Resource(Memory, CPU)를 효율적으로 관리해주는 소프트웨어.
- Implementation View: Event-Driven Software, 대기하고 있다가 이벤트(System Call, Interrupt)가 발생하면, 일을 처리하고 다시 대기상태로 돌아갑니다.
- Computer System은 대략적으로, 제일 밑 계층부터 순서대로 Hardware, OS(Kernel), Software Development Environment(Compiler, Loader, …), Application or Middleware, Services 순서로 구성 됩니다.
- Middleware: System-Application을 연결하여,
데이터를 주고받을 수 있도록 중간에서 매개역할을 하는 소프트웨어.
표준화된 인터페이스를 제공하고, 부하 분산이 가능합니다.
ex) JVM, Android DB Server.
- Firmware: 특정 하드웨어에 맞춤으로 제작된 소프트웨어.
1. 2. Computer Generation
- 1st G(1945-1955)
1) No OS, No Programming Language, No Assembly Language.
- 2nd G(1955-1965)
1) Batch System: 한 번에 하나의 프로그램만 실행가능한 System.
2) I/O 병목(I/O Bottleneck)으로 CPU가 제대로 활용되지 못했습니다.
Bottleneck: 기억 장치에 의존하는 폰 노이만 구조에서,
기억장치의 속도가 전체 시스템의 성능 저하를 야기하는 현상.
3) OS가 있었지만, 메모리에 항상 존재하며, 단순히 컨트롤만을 전송했습니다.
- 3rd G(1965-1980)
1) IC(Intergrated Circuits)칩이 등장하면서 컴퓨터 성능이 비약적으로 상승했고,
Multiprogrammed System이 가능해졌습니다.
2) OS의 활용도 및 필요도가 높아졌습니다.
Job Scheduling, Memory Management, CPU Scheduling, Protection.
3) Spool(Simultaneous Peripheral Operation On-Line):
CPU와 I/O장치가 독립적으로 동작하도록 하여 대기시간을 줄이기 위한 기법.
Spooling: Spool을 적용하는 것.
4) Time-Sharing System: 시간을 조금씩 나눠서 프로그램마다 조금씩 CPU를 쓰게 하는 방법입니다.
이를 통해 Response Time이 많이 개선되었습니다.
- 4th G(1980-)
1) LSI, VLSI 등이 등장하면서 컴퓨터는 더 작고 빨라지게 되었습니다.
2) Personal Computer가 등장하기 시작하였고, GUI등을 제공하기 시작했습니다.
3) World Wide Web, Cell Phone 등 각종 응용 기술들이 개발되고 발전되었습니다.
1. 3. Multics
- Multiplexed Information and Computing Service.
- 우리가 쓰는 운영체제의 많은 아이디어가 이 곳에서 유래되었습니다.
- GE – 645, 36bit system, 1965, MIT, Bell Labs.
- Time-Shared, multi processor, Hierarchy file system(file, directory, path name, working directory), Virtual Memory, Shell, Dynamic Linking, Shared Memory, High Level Language(PL/1).
- Multics Relation Data Store(MRDS): 최초의 상업적 relational DBMS, 초기 SQL과 비슷한 query Language 사용, Fortran, C, Cobol 등을 제공.
- Spreadsheets.
1. 4. Unix (1969, Bell Labs)
- Hierarchical file Systems, Process Call(fork, exec, wait, exit), shell, signal.
Multics | Unix |
Top – Down Approach | Bottom – Up Approach |
많은 인원 | 2명 |
복잡하고 비싼 하드웨어 | 간단한 하드웨어 |
'Computer Science > Operating System' 카테고리의 다른 글
05. Fork, Exec and CreateProcess (0) | 2025.05.17 |
---|---|
04. Process (0) | 2025.05.15 |
03. Interrupt and Exception (2) (0) | 2025.05.13 |
02. Interrupt and Exception (1) (0) | 2025.05.12 |