# OS

[CS 스터디] 1. 운영체제 - IPC(Inter Process Communication)
프로세스는 독립적으로 실행된다. 즉, 독립 되어있다는 것은 다른 프로세스에게 영향을 받지 않는다고 말할 수 있다. (스레드는 프로세스 안에서 자원을 공유하므로 영향을 받는다)이런 독립적 구조를 가진 프로세스 간의 통신을 해야 하는 상황이 있을 것이다. 이를 가능하도록

[CS 스터디] 1. 운영체제 - PCB와 Context Switching
Process ManagementCPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것이 때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능함프로세스들의 특징을 갖고 있는 것이 바로 Process MetadataProcess MetadataProce
[CS 스터디] 1. 운영체제 - 시스템 콜(System Call)
fork(), exec(), wait() 와 같은 것들은 Process 생성과 제어를 위한 System callfork, exec는 새로운 Process 생성과 관련이 되어 있다.wait는 Process(Parent) 가 만든 다른 Process(Child) 가 끝날

[CS 스터디] 1. 운영체제 - 인터럽트
인터럽트란? 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우, 현재 실행 중인 작업을 즉시 중단하고 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것 지금 수행 중인 일보다 더 중요한 일(ex. 입출력, 우선 순위 연산 등)이 발생하면 그 일을

[CS 스터디] 1. 운영체제 - 프로세스 주소 공간
프로그램이 CPU에 의해 실행됨 -> 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할당됨프로세스 주소 공간: 코드, 데이터, 스택코드 Segment: 프로그램 소스 코드 저장데이터 Segment: 전역 변수 저장스택 Segment: 함수, 지역 변수 저장최대한 데

[CS 스터디] 1. 운영체제 - 프로세스와 스레드
프로세스: 프로그램을 메모리 상에서 실행중인 작업스레드: 프로세스 안에서 실행되는 여러 흐름 단위기본적으로 프로세스마다 최소 1개의 스레드를 소유프로세스는 각각 별도의 주소공간 할당 (독립적)Code: 코드 자체를 구성하는 메모리 영역 (프로그램 명령)Data: 전역변

[운영체제] 10장: Multiprocessor and Real-Time Scheduling
Loosely coupled or distributed multiprocessor, or cluster자율적으로 작동하는 시스템들의 집합각 프로세서들은 자신만의 메인 메모리와 I/O 채널, OS를 가지고 있다.독립적인 시스템들을 연결해서 하나의 시스템처럼 사용한다.Fu
[CS 스터디] 1. 운영체제 - 운영체제란
운영체제란 운영체제(OS, Operating System) 하드웨어 관리, 컴퓨터 시스템 자원 관리, 응용 프로그램과 하드웨어 간의 인터페이스 역할 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어 종류: Windows, Linu
[Linux, OS] Lock, Mutex | Multithread Synchronization | Pipe, FIFO | POSIX Message Queue
2023.11.15 TILCode, Image source: The Linux Programming Interface, Michael Kerrisk속도 저하 (병렬 처리에 방해된다)정적인 방법동적인 방법tlpi-dist/threads/thread_incr_mutex.c
[👨🏻🔬CS 스터디 1주차] - OS(운영체제 2)
프로세스는 독립적으로 실행된다. 즉, 독립 되어있다는 것은 다른 프로세스에게 영향을 받지 않는다고 말할 수 있다. (스레드는 프로세스 안에서 자원을 공유하므로 영향을 받는다)이런 독립적 구조를 가진 프로세스 간의 통신을 해야 하는 상황이 있을 것이다. 이를 가능하도록

[OS] Free-Space Management
힙 메모리를 관리하는 방법을 배워보자.30바이트인 힙이 있다. malloc함수를 처리하기 위해 어느 위치가 free space인지 free list로 만들어 놓으면 관리하기 쉽다.malloc은 연속된 공간을 반환해 주어야 한다.만약 malloc(15);라고 요청이 들어
[CS] 운영체제 - 가상 메모리
프로그램 실행 시 프로세스를 구성하는 모든 페이지를 한꺼번에 메모리에 올리는 것이 아니라 당장 사용될 페이지만을 올리는 방식 I/O 양의 감소Memory 사용량 감소빠른 응답 시간더 많은 사용자 수용✅ 유효-무효 비트 사용무효(invalid) == 사용되지 않는 주소

[운영체제] 9장: Uniprocessor Scheduling
Response time: 빠른 응답 속도Throughput: 작업 효율성Processor efficiency: 유저 프로세서 작업 정도Fairness: 프로세스에 대한 공정성4가지 조건을 동시에 만족하는 스케줄링 기법은 존재하지 않는다.공정성을 만족시키면 respon
Virtual Memory
Demand Paging 실제로 필요할 때(요청할 때만) page를 메모리에 올리는 것 I/O 양의 감소 Memory 사용량 감소 빠른 응답 시간 더 많은 사용자 수용 Valid/Invalid bit의 사용 Valid/Invalid 의미 valid : the page is both legal and in memory. inv...

[OS] Segmentation
Inefficiency of the Base and Bound Approach Base and Bound 문제점 한 프로세스의 address space를 physical memory로 mapping하면 address space의 Heap과 Stack 사이의 free s
리눅스
장치를 사람이 쓰기 쉽게 만들어주는 역할사용 장치desktop OS : windows / MAC OS / Linuxworkstation OS : Unix / Linux / windows server사용 환경CLI : Command Line Interface명령줄을 이용